diff --git a/docs/README.md b/docs/README.md index b583275f7a7..4e878a841d3 100644 --- a/docs/README.md +++ b/docs/README.md @@ -34,5 +34,5 @@ Learn how to use the Google API Python Client with these guides: ### Reference Documentation -- Reference documentation for the core library [googleapiclient](http://googleapis.github.io/google-api-python-client/docs/epy/index.html). +- Reference documentation for the core library [googleapiclient](http://googleapis.github.io/google-api-python-client/docs/pydoc/index.html). - [Library reference documentation by API](dyn/index.md). diff --git a/docs/batch.md b/docs/batch.md index 260c128d628..1f780a4dd9b 100644 --- a/docs/batch.md +++ b/docs/batch.md @@ -19,7 +19,7 @@ object in a batch request. ## Details You create batch requests by calling `new_batch_http_request()` on your service object, which returns a -[BatchHttpRequest](https://google.github.io/google-api-python-client/docs/epy/googleapiclient.http.BatchHttpRequest-class.html) +[BatchHttpRequest](https://google.github.io/google-api-python-client/docs/pydoc/googleapiclient.http.BatchHttpRequest.html) object, and then calling `add()` for each request you want to execute. You may pass in a callback with each request that is called with the response to that request. The callback function arguments are: @@ -39,7 +39,7 @@ You can also supply a single callback that gets called for each response:
See below
The -[add()](https://google.github.io/google-api-python-client/docs/epy/googleapiclient.http.BatchHttpRequest-class.html#add) +[add()](https://google.github.io/google-api-python-client/docs/pydoc/googleapiclient.http.BatchHttpRequest.html#add) method also allows you to supply a request_id parameter for each request. These IDs are provided to the callbacks. If you don't supply one, the library creates one for you. diff --git a/docs/build b/docs/build index 4792292f364..797ad9a3dc3 100755 --- a/docs/build +++ b/docs/build @@ -25,4 +25,4 @@ export GOOGLE_APPENGINE=$HOME/projects/google_appengine/ export DJANGO_SETTINGS_MODULE=fakesettings export PYTHONPATH=$(pwd)/..:$GOOGLE_APPENGINE -epydoc --output epy --graph all --parse-only --docformat plaintext googleapiclient +pydoctor --html-output=pydoc --docformat=google googleapiclient diff --git a/docs/epy/api-objects.txt b/docs/epy/api-objects.txt deleted file mode 100644 index 5e06b2065c0..00000000000 --- a/docs/epy/api-objects.txt +++ /dev/null @@ -1,392 +0,0 @@ -googleapiclient googleapiclient-module.html -googleapiclient.__package__ googleapiclient-module.html#__package__ -googleapiclient._auth googleapiclient._auth-module.html -googleapiclient._auth.apply_credentials googleapiclient._auth-module.html#apply_credentials -googleapiclient._auth.HAS_GOOGLE_AUTH googleapiclient._auth-module.html#HAS_GOOGLE_AUTH -googleapiclient._auth.google_auth_httplib2 googleapiclient._auth-module.html#google_auth_httplib2 -googleapiclient._auth.__package__ googleapiclient._auth-module.html#__package__ -googleapiclient._auth.is_valid googleapiclient._auth-module.html#is_valid -googleapiclient._auth.default_credentials googleapiclient._auth-module.html#default_credentials -googleapiclient._auth.get_credentials_from_http googleapiclient._auth-module.html#get_credentials_from_http -googleapiclient._auth.authorized_http googleapiclient._auth-module.html#authorized_http -googleapiclient._auth.with_scopes googleapiclient._auth-module.html#with_scopes -googleapiclient._auth.HAS_OAUTH2CLIENT googleapiclient._auth-module.html#HAS_OAUTH2CLIENT -googleapiclient._auth.refresh_credentials googleapiclient._auth-module.html#refresh_credentials -googleapiclient._auth.credentials_from_file googleapiclient._auth-module.html#credentials_from_file -googleapiclient._helpers googleapiclient._helpers-module.html -googleapiclient._helpers.parse_unique_urlencoded googleapiclient._helpers-module.html#parse_unique_urlencoded -googleapiclient._helpers._add_query_parameter googleapiclient._helpers-module.html#_add_query_parameter -googleapiclient._helpers._SYM_LINK_MESSAGE googleapiclient._helpers-module.html#_SYM_LINK_MESSAGE -googleapiclient._helpers.positional googleapiclient._helpers-module.html#positional -googleapiclient._helpers._IS_DIR_MESSAGE googleapiclient._helpers-module.html#_IS_DIR_MESSAGE -googleapiclient._helpers.__package__ googleapiclient._helpers-module.html#__package__ -googleapiclient._helpers.POSITIONAL_EXCEPTION googleapiclient._helpers-module.html#POSITIONAL_EXCEPTION -googleapiclient._helpers.POSITIONAL_IGNORE googleapiclient._helpers-module.html#POSITIONAL_IGNORE -googleapiclient._helpers._MISSING_FILE_MESSAGE googleapiclient._helpers-module.html#_MISSING_FILE_MESSAGE -googleapiclient._helpers.POSITIONAL_SET googleapiclient._helpers-module.html#POSITIONAL_SET -googleapiclient._helpers.update_query_params googleapiclient._helpers-module.html#update_query_params -googleapiclient._helpers.logger googleapiclient._helpers-module.html#logger -googleapiclient._helpers.positional_parameters_enforcement googleapiclient._helpers-module.html#positional_parameters_enforcement -googleapiclient._helpers.POSITIONAL_WARNING googleapiclient._helpers-module.html#POSITIONAL_WARNING -googleapiclient.channel googleapiclient.channel-module.html -googleapiclient.channel.notification_from_headers googleapiclient.channel-module.html#notification_from_headers -googleapiclient.channel._upper_header_keys googleapiclient.channel-module.html#_upper_header_keys -googleapiclient.channel.X_GOOG_RESOURCE_STATE googleapiclient.channel-module.html#X_GOOG_RESOURCE_STATE -googleapiclient.channel.__package__ googleapiclient.channel-module.html#__package__ -googleapiclient.channel.CHANNEL_PARAMS googleapiclient.channel-module.html#CHANNEL_PARAMS -googleapiclient.channel.X_GOOG_CHANNEL_ID googleapiclient.channel-module.html#X_GOOG_CHANNEL_ID -googleapiclient.channel.EPOCH googleapiclient.channel-module.html#EPOCH -googleapiclient.channel.X_GOOG_RESOURCE_URI googleapiclient.channel-module.html#X_GOOG_RESOURCE_URI -googleapiclient.channel.new_webhook_channel googleapiclient.channel-module.html#new_webhook_channel -googleapiclient.channel.X_GOOG_MESSAGE_NUMBER googleapiclient.channel-module.html#X_GOOG_MESSAGE_NUMBER -googleapiclient.channel.X_GOOG_RESOURCE_ID googleapiclient.channel-module.html#X_GOOG_RESOURCE_ID -googleapiclient.discovery googleapiclient.discovery-module.html -googleapiclient.discovery._retrieve_discovery_doc googleapiclient.discovery-module.html#_retrieve_discovery_doc -googleapiclient.discovery.logger googleapiclient.discovery-module.html#logger -googleapiclient.discovery._fix_up_method_description googleapiclient.discovery-module.html#_fix_up_method_description -googleapiclient.discovery.MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE googleapiclient.discovery-module.html#MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE -googleapiclient.discovery._media_path_url_from_info googleapiclient.discovery-module.html#_media_path_url_from_info -googleapiclient.discovery.URITEMPLATE googleapiclient.discovery-module.html#URITEMPLATE -googleapiclient.discovery.GOOGLE_API_USE_MTLS_ENDPOINT googleapiclient.discovery-module.html#GOOGLE_API_USE_MTLS_ENDPOINT -googleapiclient.discovery.V1_DISCOVERY_URI googleapiclient.discovery-module.html#V1_DISCOVERY_URI -googleapiclient.discovery.createNextMethod googleapiclient.discovery-module.html#createNextMethod -googleapiclient.discovery.build_from_document googleapiclient.discovery-module.html#build_from_document -googleapiclient.discovery._findPageTokenName googleapiclient.discovery-module.html#_findPageTokenName -googleapiclient.discovery.GOOGLE_API_USE_CLIENT_CERTIFICATE googleapiclient.discovery-module.html#GOOGLE_API_USE_CLIENT_CERTIFICATE -googleapiclient.discovery.fix_method_name googleapiclient.discovery-module.html#fix_method_name -googleapiclient.discovery.DISCOVERY_URI googleapiclient.discovery-module.html#DISCOVERY_URI -googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE googleapiclient.discovery-module.html#MEDIA_BODY_PARAMETER_DEFAULT_VALUE -googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS googleapiclient.discovery-module.html#_MEDIA_SIZE_BIT_SHIFTS -googleapiclient.discovery._fix_up_parameters googleapiclient.discovery-module.html#_fix_up_parameters -googleapiclient.discovery._cast googleapiclient.discovery-module.html#_cast -googleapiclient.discovery._fix_up_media_upload googleapiclient.discovery-module.html#_fix_up_media_upload -googleapiclient.discovery._discovery_service_uri_options googleapiclient.discovery-module.html#_discovery_service_uri_options -googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE googleapiclient.discovery-module.html#STACK_QUERY_PARAMETER_DEFAULT_VALUE -googleapiclient.discovery.createMethod googleapiclient.discovery-module.html#createMethod -googleapiclient.discovery.key2param googleapiclient.discovery-module.html#key2param -googleapiclient.discovery.DEFAULT_METHOD_DOC googleapiclient.discovery-module.html#DEFAULT_METHOD_DOC -googleapiclient.discovery.V2_DISCOVERY_URI googleapiclient.discovery-module.html#V2_DISCOVERY_URI -googleapiclient.discovery.VARNAME googleapiclient.discovery-module.html#VARNAME -googleapiclient.discovery.HTTP_PAYLOAD_METHODS googleapiclient.discovery-module.html#HTTP_PAYLOAD_METHODS -googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE googleapiclient.discovery-module.html#BODY_PARAMETER_DEFAULT_VALUE -googleapiclient.discovery.build googleapiclient.discovery-module.html#build -googleapiclient.discovery._methodProperties googleapiclient.discovery-module.html#_methodProperties -googleapiclient.discovery._media_size_to_long googleapiclient.discovery-module.html#_media_size_to_long -googleapiclient.discovery._PAGE_TOKEN_NAMES googleapiclient.discovery-module.html#_PAGE_TOKEN_NAMES -googleapiclient.discovery._urljoin googleapiclient.discovery-module.html#_urljoin -googleapiclient.discovery.RESERVED_WORDS googleapiclient.discovery-module.html#RESERVED_WORDS -googleapiclient.discovery.google_auth_httplib2 googleapiclient.discovery-module.html#google_auth_httplib2 -googleapiclient.discovery.STACK_QUERY_PARAMETERS googleapiclient.discovery-module.html#STACK_QUERY_PARAMETERS -googleapiclient.discovery_cache googleapiclient.discovery_cache-module.html -googleapiclient.discovery_cache.DISCOVERY_DOC_MAX_AGE googleapiclient.discovery_cache-module.html#DISCOVERY_DOC_MAX_AGE -googleapiclient.discovery_cache.autodetect googleapiclient.discovery_cache-module.html#autodetect -googleapiclient.discovery_cache.LOGGER googleapiclient.discovery_cache-module.html#LOGGER -googleapiclient.discovery_cache.__package__ googleapiclient.discovery_cache-module.html#__package__ -googleapiclient.discovery_cache.appengine_memcache googleapiclient.discovery_cache.appengine_memcache-module.html -googleapiclient.discovery_cache.appengine_memcache.cache googleapiclient.discovery_cache.appengine_memcache-module.html#cache -googleapiclient.discovery_cache.appengine_memcache.NAMESPACE googleapiclient.discovery_cache.appengine_memcache-module.html#NAMESPACE -googleapiclient.discovery_cache.appengine_memcache.LOGGER googleapiclient.discovery_cache.appengine_memcache-module.html#LOGGER -googleapiclient.discovery_cache.base googleapiclient.discovery_cache.base-module.html -googleapiclient.discovery_cache.base.__package__ googleapiclient.discovery_cache.base-module.html#__package__ -googleapiclient.discovery_cache.file_cache googleapiclient.discovery_cache.file_cache-module.html -googleapiclient.discovery_cache.file_cache._to_timestamp googleapiclient.discovery_cache.file_cache-module.html#_to_timestamp -googleapiclient.discovery_cache.file_cache._read_or_initialize_cache googleapiclient.discovery_cache.file_cache-module.html#_read_or_initialize_cache -googleapiclient.discovery_cache.file_cache.cache googleapiclient.discovery_cache.file_cache-module.html#cache -googleapiclient.discovery_cache.file_cache.EPOCH googleapiclient.discovery_cache.file_cache-module.html#EPOCH -googleapiclient.discovery_cache.file_cache.LOGGER googleapiclient.discovery_cache.file_cache-module.html#LOGGER -googleapiclient.discovery_cache.file_cache.FILENAME googleapiclient.discovery_cache.file_cache-module.html#FILENAME -googleapiclient.errors googleapiclient.errors-module.html -googleapiclient.errors.__package__ googleapiclient.errors-module.html#__package__ -googleapiclient.http googleapiclient.http-module.html -googleapiclient.http.MAX_BATCH_LIMIT googleapiclient.http-module.html#MAX_BATCH_LIMIT -googleapiclient.http._TOO_MANY_REQUESTS googleapiclient.http-module.html#_TOO_MANY_REQUESTS -googleapiclient.http.set_user_agent googleapiclient.http-module.html#set_user_agent -googleapiclient.http.tunnel_patch googleapiclient.http-module.html#tunnel_patch -googleapiclient.http.ConnectionError googleapiclient.http-module.html#ConnectionError -googleapiclient.http.DEFAULT_CHUNK_SIZE googleapiclient.http-module.html#DEFAULT_CHUNK_SIZE -googleapiclient.http.__package__ googleapiclient.http-module.html#__package__ -googleapiclient.http.LOGGER googleapiclient.http-module.html#LOGGER -googleapiclient.http.MAX_URI_LENGTH googleapiclient.http-module.html#MAX_URI_LENGTH -googleapiclient.http.build_http googleapiclient.http-module.html#build_http -googleapiclient.http._retry_request googleapiclient.http-module.html#_retry_request -googleapiclient.http.DEFAULT_HTTP_TIMEOUT_SEC googleapiclient.http-module.html#DEFAULT_HTTP_TIMEOUT_SEC -googleapiclient.http._LEGACY_BATCH_URI googleapiclient.http-module.html#_LEGACY_BATCH_URI -googleapiclient.http._should_retry_response googleapiclient.http-module.html#_should_retry_response -googleapiclient.mimeparse googleapiclient.mimeparse-module.html -googleapiclient.mimeparse.__credits__ googleapiclient.mimeparse-module.html#__credits__ -googleapiclient.mimeparse.fitness_and_quality_parsed googleapiclient.mimeparse-module.html#fitness_and_quality_parsed -googleapiclient.mimeparse.parse_media_range googleapiclient.mimeparse-module.html#parse_media_range -googleapiclient.mimeparse.best_match googleapiclient.mimeparse-module.html#best_match -googleapiclient.mimeparse.quality_parsed googleapiclient.mimeparse-module.html#quality_parsed -googleapiclient.mimeparse.__package__ googleapiclient.mimeparse-module.html#__package__ -googleapiclient.mimeparse.__email__ googleapiclient.mimeparse-module.html#__email__ -googleapiclient.mimeparse.parse_mime_type googleapiclient.mimeparse-module.html#parse_mime_type -googleapiclient.mimeparse.quality googleapiclient.mimeparse-module.html#quality -googleapiclient.mimeparse._filter_blank googleapiclient.mimeparse-module.html#_filter_blank -googleapiclient.model googleapiclient.model-module.html -googleapiclient.model._abstract googleapiclient.model-module.html#_abstract -googleapiclient.model.dump_request_response googleapiclient.model-module.html#dump_request_response -googleapiclient.model._LIBRARY_VERSION googleapiclient.model-module.html#_LIBRARY_VERSION -googleapiclient.model._PY_VERSION googleapiclient.model-module.html#_PY_VERSION -googleapiclient.model.__package__ googleapiclient.model-module.html#__package__ -googleapiclient.model.LOGGER googleapiclient.model-module.html#LOGGER -googleapiclient.model.makepatch googleapiclient.model-module.html#makepatch -googleapiclient.sample_tools googleapiclient.sample_tools-module.html -googleapiclient.sample_tools.init googleapiclient.sample_tools-module.html#init -googleapiclient.schema googleapiclient.schema-module.html -googleapiclient.schema.__package__ googleapiclient.schema-module.html#__package__ -googleapiclient.channel.Channel googleapiclient.channel.Channel-class.html -googleapiclient.channel.Channel.body googleapiclient.channel.Channel-class.html#body -googleapiclient.channel.Channel.update googleapiclient.channel.Channel-class.html#update -googleapiclient.channel.Channel.__init__ googleapiclient.channel.Channel-class.html#__init__ -googleapiclient.channel.Notification googleapiclient.channel.Notification-class.html -googleapiclient.channel.Notification.__init__ googleapiclient.channel.Notification-class.html#__init__ -googleapiclient.discovery.Resource googleapiclient.discovery.Resource-class.html -googleapiclient.discovery.Resource._add_next_methods googleapiclient.discovery.Resource-class.html#_add_next_methods -googleapiclient.discovery.Resource.close googleapiclient.discovery.Resource-class.html#close -googleapiclient.discovery.Resource._add_basic_methods googleapiclient.discovery.Resource-class.html#_add_basic_methods -googleapiclient.discovery.Resource.__enter__ googleapiclient.discovery.Resource-class.html#__enter__ -googleapiclient.discovery.Resource.__init__ googleapiclient.discovery.Resource-class.html#__init__ -googleapiclient.discovery.Resource._set_service_methods googleapiclient.discovery.Resource-class.html#_set_service_methods -googleapiclient.discovery.Resource.__getstate__ googleapiclient.discovery.Resource-class.html#__getstate__ -googleapiclient.discovery.Resource.__exit__ googleapiclient.discovery.Resource-class.html#__exit__ -googleapiclient.discovery.Resource.__setstate__ googleapiclient.discovery.Resource-class.html#__setstate__ -googleapiclient.discovery.Resource._set_dynamic_attr googleapiclient.discovery.Resource-class.html#_set_dynamic_attr -googleapiclient.discovery.Resource._add_nested_resources googleapiclient.discovery.Resource-class.html#_add_nested_resources -googleapiclient.discovery.ResourceMethodParameters googleapiclient.discovery.ResourceMethodParameters-class.html -googleapiclient.discovery.ResourceMethodParameters.set_parameters googleapiclient.discovery.ResourceMethodParameters-class.html#set_parameters -googleapiclient.discovery.ResourceMethodParameters.__init__ googleapiclient.discovery.ResourceMethodParameters-class.html#__init__ -googleapiclient.discovery._BytesGenerator googleapiclient.discovery._BytesGenerator-class.html -googleapiclient.discovery._BytesGenerator._write_lines googleapiclient.discovery._BytesGenerator-class.html#_write_lines -googleapiclient.discovery_cache.appengine_memcache.Cache googleapiclient.discovery_cache.appengine_memcache.Cache-class.html -googleapiclient.discovery_cache.appengine_memcache.Cache.set googleapiclient.discovery_cache.appengine_memcache.Cache-class.html#set -googleapiclient.discovery_cache.base.Cache._abc_negative_cache googleapiclient.discovery_cache.base.Cache-class.html#_abc_negative_cache -googleapiclient.discovery_cache.appengine_memcache.Cache.__init__ googleapiclient.discovery_cache.appengine_memcache.Cache-class.html#__init__ -googleapiclient.discovery_cache.base.Cache._abc_cache googleapiclient.discovery_cache.base.Cache-class.html#_abc_cache -googleapiclient.discovery_cache.base.Cache.__abstractmethods__ googleapiclient.discovery_cache.base.Cache-class.html#__abstractmethods__ -googleapiclient.discovery_cache.appengine_memcache.Cache.get googleapiclient.discovery_cache.appengine_memcache.Cache-class.html#get -googleapiclient.discovery_cache.base.Cache._abc_negative_cache_version googleapiclient.discovery_cache.base.Cache-class.html#_abc_negative_cache_version -googleapiclient.discovery_cache.base.Cache._abc_registry googleapiclient.discovery_cache.base.Cache-class.html#_abc_registry -googleapiclient.discovery_cache.base.Cache googleapiclient.discovery_cache.base.Cache-class.html -googleapiclient.discovery_cache.base.Cache.set googleapiclient.discovery_cache.base.Cache-class.html#set -googleapiclient.discovery_cache.base.Cache._abc_negative_cache googleapiclient.discovery_cache.base.Cache-class.html#_abc_negative_cache -googleapiclient.discovery_cache.base.Cache._abc_cache googleapiclient.discovery_cache.base.Cache-class.html#_abc_cache -googleapiclient.discovery_cache.base.Cache.__abstractmethods__ googleapiclient.discovery_cache.base.Cache-class.html#__abstractmethods__ -googleapiclient.discovery_cache.base.Cache.get googleapiclient.discovery_cache.base.Cache-class.html#get -googleapiclient.discovery_cache.base.Cache._abc_negative_cache_version googleapiclient.discovery_cache.base.Cache-class.html#_abc_negative_cache_version -googleapiclient.discovery_cache.base.Cache._abc_registry googleapiclient.discovery_cache.base.Cache-class.html#_abc_registry -googleapiclient.discovery_cache.file_cache.Cache googleapiclient.discovery_cache.file_cache.Cache-class.html -googleapiclient.discovery_cache.file_cache.Cache.set googleapiclient.discovery_cache.file_cache.Cache-class.html#set -googleapiclient.discovery_cache.base.Cache.__metaclass__ -googleapiclient.discovery_cache.base.Cache._abc_negative_cache googleapiclient.discovery_cache.base.Cache-class.html#_abc_negative_cache -googleapiclient.discovery_cache.file_cache.Cache.__init__ googleapiclient.discovery_cache.file_cache.Cache-class.html#__init__ -googleapiclient.discovery_cache.base.Cache._abc_cache googleapiclient.discovery_cache.base.Cache-class.html#_abc_cache -googleapiclient.discovery_cache.base.Cache.__abstractmethods__ googleapiclient.discovery_cache.base.Cache-class.html#__abstractmethods__ -googleapiclient.discovery_cache.file_cache.Cache.get googleapiclient.discovery_cache.file_cache.Cache-class.html#get -googleapiclient.discovery_cache.base.Cache._abc_negative_cache_version googleapiclient.discovery_cache.base.Cache-class.html#_abc_negative_cache_version -googleapiclient.discovery_cache.base.Cache._abc_registry googleapiclient.discovery_cache.base.Cache-class.html#_abc_registry -googleapiclient.errors.BatchError googleapiclient.errors.BatchError-class.html -googleapiclient.errors.BatchError.__str__ googleapiclient.errors.BatchError-class.html#__str__ -googleapiclient.errors.BatchError.__repr__ googleapiclient.errors.BatchError-class.html#__repr__ -googleapiclient.errors.BatchError.__init__ googleapiclient.errors.BatchError-class.html#__init__ -googleapiclient.errors.HttpError._get_reason googleapiclient.errors.HttpError-class.html#_get_reason -googleapiclient.errors.Error googleapiclient.errors.Error-class.html -googleapiclient.errors.HttpError googleapiclient.errors.HttpError-class.html -googleapiclient.errors.HttpError.__str__ googleapiclient.errors.HttpError-class.html#__str__ -googleapiclient.errors.HttpError.__repr__ googleapiclient.errors.HttpError-class.html#__repr__ -googleapiclient.errors.HttpError.__init__ googleapiclient.errors.HttpError-class.html#__init__ -googleapiclient.errors.HttpError._get_reason googleapiclient.errors.HttpError-class.html#_get_reason -googleapiclient.errors.InvalidChunkSizeError googleapiclient.errors.InvalidChunkSizeError-class.html -googleapiclient.errors.InvalidJsonError googleapiclient.errors.InvalidJsonError-class.html -googleapiclient.errors.InvalidNotificationError googleapiclient.errors.InvalidNotificationError-class.html -googleapiclient.errors.MediaUploadSizeError googleapiclient.errors.MediaUploadSizeError-class.html -googleapiclient.errors.ResumableUploadError googleapiclient.errors.ResumableUploadError-class.html -googleapiclient.errors.HttpError.__str__ googleapiclient.errors.HttpError-class.html#__str__ -googleapiclient.errors.HttpError.__repr__ googleapiclient.errors.HttpError-class.html#__repr__ -googleapiclient.errors.HttpError.__init__ googleapiclient.errors.HttpError-class.html#__init__ -googleapiclient.errors.HttpError._get_reason googleapiclient.errors.HttpError-class.html#_get_reason -googleapiclient.errors.UnacceptableMimeTypeError googleapiclient.errors.UnacceptableMimeTypeError-class.html -googleapiclient.errors.UnexpectedBodyError googleapiclient.errors.UnexpectedBodyError-class.html -googleapiclient.errors.UnexpectedBodyError.__init__ googleapiclient.errors.UnexpectedBodyError-class.html#__init__ -googleapiclient.errors.UnexpectedMethodError googleapiclient.errors.UnexpectedMethodError-class.html -googleapiclient.errors.UnexpectedMethodError.__init__ googleapiclient.errors.UnexpectedMethodError-class.html#__init__ -googleapiclient.errors.UnknownApiNameOrVersion googleapiclient.errors.UnknownApiNameOrVersion-class.html -googleapiclient.errors.UnknownFileType googleapiclient.errors.UnknownFileType-class.html -googleapiclient.errors.UnknownLinkType googleapiclient.errors.UnknownLinkType-class.html -googleapiclient.http.BatchHttpRequest googleapiclient.http.BatchHttpRequest-class.html -googleapiclient.http.BatchHttpRequest.__init__ googleapiclient.http.BatchHttpRequest-class.html#__init__ -googleapiclient.http.BatchHttpRequest._execute googleapiclient.http.BatchHttpRequest-class.html#_execute -googleapiclient.http.BatchHttpRequest.add googleapiclient.http.BatchHttpRequest-class.html#add -googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials googleapiclient.http.BatchHttpRequest-class.html#_refresh_and_apply_credentials -googleapiclient.http.BatchHttpRequest.execute googleapiclient.http.BatchHttpRequest-class.html#execute -googleapiclient.http.BatchHttpRequest._id_to_header googleapiclient.http.BatchHttpRequest-class.html#_id_to_header -googleapiclient.http.BatchHttpRequest._deserialize_response googleapiclient.http.BatchHttpRequest-class.html#_deserialize_response -googleapiclient.http.BatchHttpRequest._header_to_id googleapiclient.http.BatchHttpRequest-class.html#_header_to_id -googleapiclient.http.BatchHttpRequest._new_id googleapiclient.http.BatchHttpRequest-class.html#_new_id -googleapiclient.http.BatchHttpRequest._serialize_request googleapiclient.http.BatchHttpRequest-class.html#_serialize_request -googleapiclient.http.HttpMock googleapiclient.http.HttpMock-class.html -googleapiclient.http.HttpMock.request googleapiclient.http.HttpMock-class.html#request -googleapiclient.http.HttpMock.close googleapiclient.http.HttpMock-class.html#close -googleapiclient.http.HttpMock.__init__ googleapiclient.http.HttpMock-class.html#__init__ -googleapiclient.http.HttpMockSequence googleapiclient.http.HttpMockSequence-class.html -googleapiclient.http.HttpMockSequence.request googleapiclient.http.HttpMockSequence-class.html#request -googleapiclient.http.HttpMockSequence.__init__ googleapiclient.http.HttpMockSequence-class.html#__init__ -googleapiclient.http.HttpRequest googleapiclient.http.HttpRequest-class.html -googleapiclient.http.HttpRequest.from_json googleapiclient.http.HttpRequest-class.html#from_json -googleapiclient.http.HttpRequest.execute googleapiclient.http.HttpRequest-class.html#execute -googleapiclient.http.HttpRequest._process_response googleapiclient.http.HttpRequest-class.html#_process_response -googleapiclient.http.HttpRequest.next_chunk googleapiclient.http.HttpRequest-class.html#next_chunk -googleapiclient.http.HttpRequest.add_response_callback googleapiclient.http.HttpRequest-class.html#add_response_callback -googleapiclient.http.HttpRequest.to_json googleapiclient.http.HttpRequest-class.html#to_json -googleapiclient.http.HttpRequest.null_postproc googleapiclient.http.HttpRequest-class.html#null_postproc -googleapiclient.http.HttpRequest.__init__ googleapiclient.http.HttpRequest-class.html#__init__ -googleapiclient.http.HttpRequestMock googleapiclient.http.HttpRequestMock-class.html -googleapiclient.http.HttpRequestMock.execute googleapiclient.http.HttpRequestMock-class.html#execute -googleapiclient.http.HttpRequestMock.__init__ googleapiclient.http.HttpRequestMock-class.html#__init__ -googleapiclient.http.MediaDownloadProgress googleapiclient.http.MediaDownloadProgress-class.html -googleapiclient.http.MediaDownloadProgress.progress googleapiclient.http.MediaDownloadProgress-class.html#progress -googleapiclient.http.MediaDownloadProgress.__init__ googleapiclient.http.MediaDownloadProgress-class.html#__init__ -googleapiclient.http.MediaFileUpload googleapiclient.http.MediaFileUpload-class.html -googleapiclient.http.MediaFileUpload.from_json googleapiclient.http.MediaFileUpload-class.html#from_json -googleapiclient.http.MediaIoBaseUpload.stream googleapiclient.http.MediaIoBaseUpload-class.html#stream -googleapiclient.http.MediaFileUpload.to_json googleapiclient.http.MediaFileUpload-class.html#to_json -googleapiclient.http.MediaUpload.new_from_json googleapiclient.http.MediaUpload-class.html#new_from_json -googleapiclient.http.MediaFileUpload.__init__ googleapiclient.http.MediaFileUpload-class.html#__init__ -googleapiclient.http.MediaIoBaseUpload.size googleapiclient.http.MediaIoBaseUpload-class.html#size -googleapiclient.http.MediaUpload._to_json googleapiclient.http.MediaUpload-class.html#_to_json -googleapiclient.http.MediaIoBaseUpload.chunksize googleapiclient.http.MediaIoBaseUpload-class.html#chunksize -googleapiclient.http.MediaFileUpload.__del__ googleapiclient.http.MediaFileUpload-class.html#__del__ -googleapiclient.http.MediaIoBaseUpload.getbytes googleapiclient.http.MediaIoBaseUpload-class.html#getbytes -googleapiclient.http.MediaIoBaseUpload.mimetype googleapiclient.http.MediaIoBaseUpload-class.html#mimetype -googleapiclient.http.MediaIoBaseUpload.resumable googleapiclient.http.MediaIoBaseUpload-class.html#resumable -googleapiclient.http.MediaIoBaseUpload.has_stream googleapiclient.http.MediaIoBaseUpload-class.html#has_stream -googleapiclient.http.MediaInMemoryUpload googleapiclient.http.MediaInMemoryUpload-class.html -googleapiclient.http.MediaIoBaseUpload.stream googleapiclient.http.MediaIoBaseUpload-class.html#stream -googleapiclient.http.MediaIoBaseUpload.to_json googleapiclient.http.MediaIoBaseUpload-class.html#to_json -googleapiclient.http.MediaUpload.new_from_json googleapiclient.http.MediaUpload-class.html#new_from_json -googleapiclient.http.MediaInMemoryUpload.__init__ googleapiclient.http.MediaInMemoryUpload-class.html#__init__ -googleapiclient.http.MediaIoBaseUpload.size googleapiclient.http.MediaIoBaseUpload-class.html#size -googleapiclient.http.MediaUpload._to_json googleapiclient.http.MediaUpload-class.html#_to_json -googleapiclient.http.MediaIoBaseUpload.chunksize googleapiclient.http.MediaIoBaseUpload-class.html#chunksize -googleapiclient.http.MediaIoBaseUpload.getbytes googleapiclient.http.MediaIoBaseUpload-class.html#getbytes -googleapiclient.http.MediaIoBaseUpload.mimetype googleapiclient.http.MediaIoBaseUpload-class.html#mimetype -googleapiclient.http.MediaIoBaseUpload.resumable googleapiclient.http.MediaIoBaseUpload-class.html#resumable -googleapiclient.http.MediaIoBaseUpload.has_stream googleapiclient.http.MediaIoBaseUpload-class.html#has_stream -googleapiclient.http.MediaIoBaseDownload googleapiclient.http.MediaIoBaseDownload-class.html -googleapiclient.http.MediaIoBaseDownload.next_chunk googleapiclient.http.MediaIoBaseDownload-class.html#next_chunk -googleapiclient.http.MediaIoBaseDownload.__init__ googleapiclient.http.MediaIoBaseDownload-class.html#__init__ -googleapiclient.http.MediaIoBaseUpload googleapiclient.http.MediaIoBaseUpload-class.html -googleapiclient.http.MediaIoBaseUpload.stream googleapiclient.http.MediaIoBaseUpload-class.html#stream -googleapiclient.http.MediaIoBaseUpload.to_json googleapiclient.http.MediaIoBaseUpload-class.html#to_json -googleapiclient.http.MediaUpload.new_from_json googleapiclient.http.MediaUpload-class.html#new_from_json -googleapiclient.http.MediaIoBaseUpload.__init__ googleapiclient.http.MediaIoBaseUpload-class.html#__init__ -googleapiclient.http.MediaIoBaseUpload.size googleapiclient.http.MediaIoBaseUpload-class.html#size -googleapiclient.http.MediaUpload._to_json googleapiclient.http.MediaUpload-class.html#_to_json -googleapiclient.http.MediaIoBaseUpload.chunksize googleapiclient.http.MediaIoBaseUpload-class.html#chunksize -googleapiclient.http.MediaIoBaseUpload.getbytes googleapiclient.http.MediaIoBaseUpload-class.html#getbytes -googleapiclient.http.MediaIoBaseUpload.mimetype googleapiclient.http.MediaIoBaseUpload-class.html#mimetype -googleapiclient.http.MediaIoBaseUpload.resumable googleapiclient.http.MediaIoBaseUpload-class.html#resumable -googleapiclient.http.MediaIoBaseUpload.has_stream googleapiclient.http.MediaIoBaseUpload-class.html#has_stream -googleapiclient.http.MediaUpload googleapiclient.http.MediaUpload-class.html -googleapiclient.http.MediaUpload.stream googleapiclient.http.MediaUpload-class.html#stream -googleapiclient.http.MediaUpload.to_json googleapiclient.http.MediaUpload-class.html#to_json -googleapiclient.http.MediaUpload.new_from_json googleapiclient.http.MediaUpload-class.html#new_from_json -googleapiclient.http.MediaUpload.size googleapiclient.http.MediaUpload-class.html#size -googleapiclient.http.MediaUpload._to_json googleapiclient.http.MediaUpload-class.html#_to_json -googleapiclient.http.MediaUpload.chunksize googleapiclient.http.MediaUpload-class.html#chunksize -googleapiclient.http.MediaUpload.getbytes googleapiclient.http.MediaUpload-class.html#getbytes -googleapiclient.http.MediaUpload.mimetype googleapiclient.http.MediaUpload-class.html#mimetype -googleapiclient.http.MediaUpload.resumable googleapiclient.http.MediaUpload-class.html#resumable -googleapiclient.http.MediaUpload.has_stream googleapiclient.http.MediaUpload-class.html#has_stream -googleapiclient.http.MediaUploadProgress googleapiclient.http.MediaUploadProgress-class.html -googleapiclient.http.MediaUploadProgress.progress googleapiclient.http.MediaUploadProgress-class.html#progress -googleapiclient.http.MediaUploadProgress.__init__ googleapiclient.http.MediaUploadProgress-class.html#__init__ -googleapiclient.http.RequestMockBuilder googleapiclient.http.RequestMockBuilder-class.html -googleapiclient.http.RequestMockBuilder.__call__ googleapiclient.http.RequestMockBuilder-class.html#__call__ -googleapiclient.http.RequestMockBuilder.__init__ googleapiclient.http.RequestMockBuilder-class.html#__init__ -googleapiclient.http._StreamSlice googleapiclient.http._StreamSlice-class.html -googleapiclient.http._StreamSlice.read googleapiclient.http._StreamSlice-class.html#read -googleapiclient.http._StreamSlice.__init__ googleapiclient.http._StreamSlice-class.html#__init__ -googleapiclient.model.BaseModel googleapiclient.model.BaseModel-class.html -googleapiclient.model.BaseModel.serialize googleapiclient.model.BaseModel-class.html#serialize -googleapiclient.model.BaseModel.accept googleapiclient.model.BaseModel-class.html#accept -googleapiclient.model.BaseModel._build_query googleapiclient.model.BaseModel-class.html#_build_query -googleapiclient.model.BaseModel.content_type googleapiclient.model.BaseModel-class.html#content_type -googleapiclient.model.BaseModel._log_request googleapiclient.model.BaseModel-class.html#_log_request -googleapiclient.model.BaseModel.response googleapiclient.model.BaseModel-class.html#response -googleapiclient.model.BaseModel.deserialize googleapiclient.model.BaseModel-class.html#deserialize -googleapiclient.model.BaseModel.alt_param googleapiclient.model.BaseModel-class.html#alt_param -googleapiclient.model.BaseModel.request googleapiclient.model.BaseModel-class.html#request -googleapiclient.model.BaseModel.no_content_response googleapiclient.model.BaseModel-class.html#no_content_response -googleapiclient.model.BaseModel._log_response googleapiclient.model.BaseModel-class.html#_log_response -googleapiclient.model.JsonModel googleapiclient.model.JsonModel-class.html -googleapiclient.model.JsonModel.serialize googleapiclient.model.JsonModel-class.html#serialize -googleapiclient.model.JsonModel.accept googleapiclient.model.JsonModel-class.html#accept -googleapiclient.model.BaseModel._build_query googleapiclient.model.BaseModel-class.html#_build_query -googleapiclient.model.JsonModel.__init__ googleapiclient.model.JsonModel-class.html#__init__ -googleapiclient.model.JsonModel.content_type googleapiclient.model.JsonModel-class.html#content_type -googleapiclient.model.BaseModel._log_request googleapiclient.model.BaseModel-class.html#_log_request -googleapiclient.model.BaseModel.response googleapiclient.model.BaseModel-class.html#response -googleapiclient.model.JsonModel.deserialize googleapiclient.model.JsonModel-class.html#deserialize -googleapiclient.model.JsonModel.alt_param googleapiclient.model.JsonModel-class.html#alt_param -googleapiclient.model.BaseModel.request googleapiclient.model.BaseModel-class.html#request -googleapiclient.model.JsonModel.no_content_response googleapiclient.model.JsonModel-class.html#no_content_response -googleapiclient.model.BaseModel._log_response googleapiclient.model.BaseModel-class.html#_log_response -googleapiclient.model.MediaModel googleapiclient.model.MediaModel-class.html -googleapiclient.model.JsonModel.serialize googleapiclient.model.JsonModel-class.html#serialize -googleapiclient.model.MediaModel.accept googleapiclient.model.MediaModel-class.html#accept -googleapiclient.model.BaseModel._build_query googleapiclient.model.BaseModel-class.html#_build_query -googleapiclient.model.JsonModel.__init__ googleapiclient.model.JsonModel-class.html#__init__ -googleapiclient.model.MediaModel.content_type googleapiclient.model.MediaModel-class.html#content_type -googleapiclient.model.BaseModel._log_request googleapiclient.model.BaseModel-class.html#_log_request -googleapiclient.model.BaseModel.response googleapiclient.model.BaseModel-class.html#response -googleapiclient.model.MediaModel.deserialize googleapiclient.model.MediaModel-class.html#deserialize -googleapiclient.model.MediaModel.alt_param googleapiclient.model.MediaModel-class.html#alt_param -googleapiclient.model.BaseModel.request googleapiclient.model.BaseModel-class.html#request -googleapiclient.model.MediaModel.no_content_response googleapiclient.model.MediaModel-class.html#no_content_response -googleapiclient.model.BaseModel._log_response googleapiclient.model.BaseModel-class.html#_log_response -googleapiclient.model.Model googleapiclient.model.Model-class.html -googleapiclient.model.Model.request googleapiclient.model.Model-class.html#request -googleapiclient.model.Model.response googleapiclient.model.Model-class.html#response -googleapiclient.model.ProtocolBufferModel googleapiclient.model.ProtocolBufferModel-class.html -googleapiclient.model.ProtocolBufferModel.serialize googleapiclient.model.ProtocolBufferModel-class.html#serialize -googleapiclient.model.ProtocolBufferModel.accept googleapiclient.model.ProtocolBufferModel-class.html#accept -googleapiclient.model.BaseModel._build_query googleapiclient.model.BaseModel-class.html#_build_query -googleapiclient.model.ProtocolBufferModel.__init__ googleapiclient.model.ProtocolBufferModel-class.html#__init__ -googleapiclient.model.ProtocolBufferModel.content_type googleapiclient.model.ProtocolBufferModel-class.html#content_type -googleapiclient.model.BaseModel._log_request googleapiclient.model.BaseModel-class.html#_log_request -googleapiclient.model.BaseModel.response googleapiclient.model.BaseModel-class.html#response -googleapiclient.model.ProtocolBufferModel.deserialize googleapiclient.model.ProtocolBufferModel-class.html#deserialize -googleapiclient.model.ProtocolBufferModel.alt_param googleapiclient.model.ProtocolBufferModel-class.html#alt_param -googleapiclient.model.BaseModel.request googleapiclient.model.BaseModel-class.html#request -googleapiclient.model.ProtocolBufferModel.no_content_response googleapiclient.model.ProtocolBufferModel-class.html#no_content_response -googleapiclient.model.BaseModel._log_response googleapiclient.model.BaseModel-class.html#_log_response -googleapiclient.model.RawModel googleapiclient.model.RawModel-class.html -googleapiclient.model.JsonModel.serialize googleapiclient.model.JsonModel-class.html#serialize -googleapiclient.model.RawModel.accept googleapiclient.model.RawModel-class.html#accept -googleapiclient.model.BaseModel._build_query googleapiclient.model.BaseModel-class.html#_build_query -googleapiclient.model.JsonModel.__init__ googleapiclient.model.JsonModel-class.html#__init__ -googleapiclient.model.RawModel.content_type googleapiclient.model.RawModel-class.html#content_type -googleapiclient.model.BaseModel._log_request googleapiclient.model.BaseModel-class.html#_log_request -googleapiclient.model.BaseModel.response googleapiclient.model.BaseModel-class.html#response -googleapiclient.model.RawModel.deserialize googleapiclient.model.RawModel-class.html#deserialize -googleapiclient.model.RawModel.alt_param googleapiclient.model.RawModel-class.html#alt_param -googleapiclient.model.BaseModel.request googleapiclient.model.BaseModel-class.html#request -googleapiclient.model.RawModel.no_content_response googleapiclient.model.RawModel-class.html#no_content_response -googleapiclient.model.BaseModel._log_response googleapiclient.model.BaseModel-class.html#_log_response -googleapiclient.schema.Schemas googleapiclient.schema.Schemas-class.html -googleapiclient.schema.Schemas._prettyPrintByName googleapiclient.schema.Schemas-class.html#_prettyPrintByName -googleapiclient.schema.Schemas._prettyPrintSchema googleapiclient.schema.Schemas-class.html#_prettyPrintSchema -googleapiclient.schema.Schemas.get googleapiclient.schema.Schemas-class.html#get -googleapiclient.schema.Schemas.prettyPrintByName googleapiclient.schema.Schemas-class.html#prettyPrintByName -googleapiclient.schema.Schemas.prettyPrintSchema googleapiclient.schema.Schemas-class.html#prettyPrintSchema -googleapiclient.schema.Schemas.__init__ googleapiclient.schema.Schemas-class.html#__init__ -googleapiclient.schema._SchemaToStruct googleapiclient.schema._SchemaToStruct-class.html -googleapiclient.schema._SchemaToStruct.indent googleapiclient.schema._SchemaToStruct-class.html#indent -googleapiclient.schema._SchemaToStruct.emit googleapiclient.schema._SchemaToStruct-class.html#emit -googleapiclient.schema._SchemaToStruct._to_str_impl googleapiclient.schema._SchemaToStruct-class.html#_to_str_impl -googleapiclient.schema._SchemaToStruct.emitEnd googleapiclient.schema._SchemaToStruct-class.html#emitEnd -googleapiclient.schema._SchemaToStruct.to_str googleapiclient.schema._SchemaToStruct-class.html#to_str -googleapiclient.schema._SchemaToStruct.undent googleapiclient.schema._SchemaToStruct-class.html#undent -googleapiclient.schema._SchemaToStruct.emitBegin googleapiclient.schema._SchemaToStruct-class.html#emitBegin -googleapiclient.schema._SchemaToStruct.__init__ googleapiclient.schema._SchemaToStruct-class.html#__init__ diff --git a/docs/epy/class-tree.html b/docs/epy/class-tree.html deleted file mode 100644 index 36db6b69492..00000000000 --- a/docs/epy/class-tree.html +++ /dev/null @@ -1,267 +0,0 @@ - - - - - Class Hierarchy - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  - - - - -
[hide private]
[frames] | no frames]
-
-
- [ Module Hierarchy - | Class Hierarchy ] -

-

Class Hierarchy

- - - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/crarr.png b/docs/epy/crarr.png deleted file mode 100644 index 26b43c52433..00000000000 Binary files a/docs/epy/crarr.png and /dev/null differ diff --git a/docs/epy/epydoc.css b/docs/epy/epydoc.css deleted file mode 100644 index 86d41706824..00000000000 --- a/docs/epy/epydoc.css +++ /dev/null @@ -1,322 +0,0 @@ - - -/* Epydoc CSS Stylesheet - * - * This stylesheet can be used to customize the appearance of epydoc's - * HTML output. - * - */ - -/* Default Colors & Styles - * - Set the default foreground & background color with 'body'; and - * link colors with 'a:link' and 'a:visited'. - * - Use bold for decision list terms. - * - The heading styles defined here are used for headings *within* - * docstring descriptions. All headings used by epydoc itself use - * either class='epydoc' or class='toc' (CSS styles for both - * defined below). - */ -body { background: #ffffff; color: #000000; } -p { margin-top: 0.5em; margin-bottom: 0.5em; } -a:link { color: #0000ff; } -a:visited { color: #204080; } -dt { font-weight: bold; } -h1 { font-size: +140%; font-style: italic; - font-weight: bold; } -h2 { font-size: +125%; font-style: italic; - font-weight: bold; } -h3 { font-size: +110%; font-style: italic; - font-weight: normal; } -code { font-size: 100%; } -/* N.B.: class, not pseudoclass */ -a.link { font-family: monospace; } - -/* Page Header & Footer - * - The standard page header consists of a navigation bar (with - * pointers to standard pages such as 'home' and 'trees'); a - * breadcrumbs list, which can be used to navigate to containing - * classes or modules; options links, to show/hide private - * variables and to show/hide frames; and a page title (using - *

). The page title may be followed by a link to the - * corresponding source code (using 'span.codelink'). - * - The footer consists of a navigation bar, a timestamp, and a - * pointer to epydoc's homepage. - */ -h1.epydoc { margin: 0; font-size: +140%; font-weight: bold; } -h2.epydoc { font-size: +130%; font-weight: bold; } -h3.epydoc { font-size: +115%; font-weight: bold; - margin-top: 0.2em; } -td h3.epydoc { font-size: +115%; font-weight: bold; - margin-bottom: 0; } -table.navbar { background: #a0c0ff; color: #000000; - border: 2px groove #c0d0d0; } -table.navbar table { color: #000000; } -th.navbar-select { background: #70b0ff; - color: #000000; } -table.navbar a { text-decoration: none; } -table.navbar a:link { color: #0000ff; } -table.navbar a:visited { color: #204080; } -span.breadcrumbs { font-size: 85%; font-weight: bold; } -span.options { font-size: 70%; } -span.codelink { font-size: 85%; } -td.footer { font-size: 85%; } - -/* Table Headers - * - Each summary table and details section begins with a 'header' - * row. This row contains a section title (marked by - * 'span.table-header') as well as a show/hide private link - * (marked by 'span.options', defined above). - * - Summary tables that contain user-defined groups mark those - * groups using 'group header' rows. - */ -td.table-header { background: #70b0ff; color: #000000; - border: 1px solid #608090; } -td.table-header table { color: #000000; } -td.table-header table a:link { color: #0000ff; } -td.table-header table a:visited { color: #204080; } -span.table-header { font-size: 120%; font-weight: bold; } -th.group-header { background: #c0e0f8; color: #000000; - text-align: left; font-style: italic; - font-size: 115%; - border: 1px solid #608090; } - -/* Summary Tables (functions, variables, etc) - * - Each object is described by a single row of the table with - * two cells. The left cell gives the object's type, and is - * marked with 'code.summary-type'. The right cell gives the - * object's name and a summary description. - * - CSS styles for the table's header and group headers are - * defined above, under 'Table Headers' - */ -table.summary { border-collapse: collapse; - background: #e8f0f8; color: #000000; - border: 1px solid #608090; - margin-bottom: 0.5em; } -td.summary { border: 1px solid #608090; } -code.summary-type { font-size: 85%; } -table.summary a:link { color: #0000ff; } -table.summary a:visited { color: #204080; } - - -/* Details Tables (functions, variables, etc) - * - Each object is described in its own div. - * - A single-row summary table w/ table-header is used as - * a header for each details section (CSS style for table-header - * is defined above, under 'Table Headers'). - */ -table.details { border-collapse: collapse; - background: #e8f0f8; color: #000000; - border: 1px solid #608090; - margin: .2em 0 0 0; } -table.details table { color: #000000; } -table.details a:link { color: #0000ff; } -table.details a:visited { color: #204080; } - -/* Fields */ -dl.fields { margin-left: 2em; margin-top: 1em; - margin-bottom: 1em; } -dl.fields dd ul { margin-left: 0em; padding-left: 0em; } -dl.fields dd ul li ul { margin-left: 2em; padding-left: 0em; } -div.fields { margin-left: 2em; } -div.fields p { margin-bottom: 0.5em; } - -/* Index tables (identifier index, term index, etc) - * - link-index is used for indices containing lists of links - * (namely, the identifier index & term index). - * - index-where is used in link indices for the text indicating - * the container/source for each link. - * - metadata-index is used for indices containing metadata - * extracted from fields (namely, the bug index & todo index). - */ -table.link-index { border-collapse: collapse; - background: #e8f0f8; color: #000000; - border: 1px solid #608090; } -td.link-index { border-width: 0px; } -table.link-index a:link { color: #0000ff; } -table.link-index a:visited { color: #204080; } -span.index-where { font-size: 70%; } -table.metadata-index { border-collapse: collapse; - background: #e8f0f8; color: #000000; - border: 1px solid #608090; - margin: .2em 0 0 0; } -td.metadata-index { border-width: 1px; border-style: solid; } -table.metadata-index a:link { color: #0000ff; } -table.metadata-index a:visited { color: #204080; } - -/* Function signatures - * - sig* is used for the signature in the details section. - * - .summary-sig* is used for the signature in the summary - * table, and when listing property accessor functions. - * */ -.sig-name { color: #006080; } -.sig-arg { color: #008060; } -.sig-default { color: #602000; } -.summary-sig { font-family: monospace; } -.summary-sig-name { color: #006080; font-weight: bold; } -table.summary a.summary-sig-name:link - { color: #006080; font-weight: bold; } -table.summary a.summary-sig-name:visited - { color: #006080; font-weight: bold; } -.summary-sig-arg { color: #006040; } -.summary-sig-default { color: #501800; } - -/* Subclass list - */ -ul.subclass-list { display: inline; } -ul.subclass-list li { display: inline; } - -/* To render variables, classes etc. like functions */ -table.summary .summary-name { color: #006080; font-weight: bold; - font-family: monospace; } -table.summary - a.summary-name:link { color: #006080; font-weight: bold; - font-family: monospace; } -table.summary - a.summary-name:visited { color: #006080; font-weight: bold; - font-family: monospace; } - -/* Variable values - * - In the 'variable details' sections, each varaible's value is - * listed in a 'pre.variable' box. The width of this box is - * restricted to 80 chars; if the value's repr is longer than - * this it will be wrapped, using a backslash marked with - * class 'variable-linewrap'. If the value's repr is longer - * than 3 lines, the rest will be ellided; and an ellipsis - * marker ('...' marked with 'variable-ellipsis') will be used. - * - If the value is a string, its quote marks will be marked - * with 'variable-quote'. - * - If the variable is a regexp, it is syntax-highlighted using - * the re* CSS classes. - */ -pre.variable { padding: .5em; margin: 0; - background: #dce4ec; color: #000000; - border: 1px solid #708890; } -.variable-linewrap { color: #604000; font-weight: bold; } -.variable-ellipsis { color: #604000; font-weight: bold; } -.variable-quote { color: #604000; font-weight: bold; } -.variable-group { color: #008000; font-weight: bold; } -.variable-op { color: #604000; font-weight: bold; } -.variable-string { color: #006030; } -.variable-unknown { color: #a00000; font-weight: bold; } -.re { color: #000000; } -.re-char { color: #006030; } -.re-op { color: #600000; } -.re-group { color: #003060; } -.re-ref { color: #404040; } - -/* Base tree - * - Used by class pages to display the base class hierarchy. - */ -pre.base-tree { font-size: 80%; margin: 0; } - -/* Frames-based table of contents headers - * - Consists of two frames: one for selecting modules; and - * the other listing the contents of the selected module. - * - h1.toc is used for each frame's heading - * - h2.toc is used for subheadings within each frame. - */ -h1.toc { text-align: center; font-size: 105%; - margin: 0; font-weight: bold; - padding: 0; } -h2.toc { font-size: 100%; font-weight: bold; - margin: 0.5em 0 0 -0.3em; } - -/* Syntax Highlighting for Source Code - * - doctest examples are displayed in a 'pre.py-doctest' block. - * If the example is in a details table entry, then it will use - * the colors specified by the 'table pre.py-doctest' line. - * - Source code listings are displayed in a 'pre.py-src' block. - * Each line is marked with 'span.py-line' (used to draw a line - * down the left margin, separating the code from the line - * numbers). Line numbers are displayed with 'span.py-lineno'. - * The expand/collapse block toggle button is displayed with - * 'a.py-toggle' (Note: the CSS style for 'a.py-toggle' should not - * modify the font size of the text.) - * - If a source code page is opened with an anchor, then the - * corresponding code block will be highlighted. The code - * block's header is highlighted with 'py-highlight-hdr'; and - * the code block's body is highlighted with 'py-highlight'. - * - The remaining py-* classes are used to perform syntax - * highlighting (py-string for string literals, py-name for names, - * etc.) - */ -pre.py-doctest { padding: .5em; margin: 1em; - background: #e8f0f8; color: #000000; - border: 1px solid #708890; } -table pre.py-doctest { background: #dce4ec; - color: #000000; } -pre.py-src { border: 2px solid #000000; - background: #f0f0f0; color: #000000; } -.py-line { border-left: 2px solid #000000; - margin-left: .2em; padding-left: .4em; } -.py-lineno { font-style: italic; font-size: 90%; - padding-left: .5em; } -a.py-toggle { text-decoration: none; } -div.py-highlight-hdr { border-top: 2px solid #000000; - border-bottom: 2px solid #000000; - background: #d8e8e8; } -div.py-highlight { border-bottom: 2px solid #000000; - background: #d0e0e0; } -.py-prompt { color: #005050; font-weight: bold;} -.py-more { color: #005050; font-weight: bold;} -.py-string { color: #006030; } -.py-comment { color: #003060; } -.py-keyword { color: #600000; } -.py-output { color: #404040; } -.py-name { color: #000050; } -.py-name:link { color: #000050 !important; } -.py-name:visited { color: #000050 !important; } -.py-number { color: #005000; } -.py-defname { color: #000060; font-weight: bold; } -.py-def-name { color: #000060; font-weight: bold; } -.py-base-class { color: #000060; } -.py-param { color: #000060; } -.py-docstring { color: #006030; } -.py-decorator { color: #804020; } -/* Use this if you don't want links to names underlined: */ -/*a.py-name { text-decoration: none; }*/ - -/* Graphs & Diagrams - * - These CSS styles are used for graphs & diagrams generated using - * Graphviz dot. 'img.graph-without-title' is used for bare - * diagrams (to remove the border created by making the image - * clickable). - */ -img.graph-without-title { border: none; } -img.graph-with-title { border: 1px solid #000000; } -span.graph-title { font-weight: bold; } -span.graph-caption { } - -/* General-purpose classes - * - 'p.indent-wrapped-lines' defines a paragraph whose first line - * is not indented, but whose subsequent lines are. - * - The 'nomargin-top' class is used to remove the top margin (e.g. - * from lists). The 'nomargin' class is used to remove both the - * top and bottom margin (but not the left or right margin -- - * for lists, that would cause the bullets to disappear.) - */ -p.indent-wrapped-lines { padding: 0 0 0 7em; text-indent: -7em; - margin: 0; } -.nomargin-top { margin-top: 0; } -.nomargin { margin-top: 0; margin-bottom: 0; } - -/* HTML Log */ -div.log-block { padding: 0; margin: .5em 0 .5em 0; - background: #e8f0f8; color: #000000; - border: 1px solid #000000; } -div.log-error { padding: .1em .3em .1em .3em; margin: 4px; - background: #ffb0b0; color: #000000; - border: 1px solid #000000; } -div.log-warning { padding: .1em .3em .1em .3em; margin: 4px; - background: #ffffb0; color: #000000; - border: 1px solid #000000; } -div.log-info { padding: .1em .3em .1em .3em; margin: 4px; - background: #b0ffb0; color: #000000; - border: 1px solid #000000; } -h2.log-hdr { background: #70b0ff; color: #000000; - margin: 0; padding: 0em 0.5em 0em 0.5em; - border-bottom: 1px solid #000000; font-size: 110%; } -p.log { font-weight: bold; margin: .5em 0 .5em 0; } -tr.opt-changed { color: #000000; font-weight: bold; } -tr.opt-default { color: #606060; } -pre.log { margin: 0; padding: 0; padding-left: 1em; } diff --git a/docs/epy/epydoc.js b/docs/epy/epydoc.js deleted file mode 100644 index e787dbcf471..00000000000 --- a/docs/epy/epydoc.js +++ /dev/null @@ -1,293 +0,0 @@ -function toggle_private() { - // Search for any private/public links on this page. Store - // their old text in "cmd," so we will know what action to - // take; and change their text to the opposite action. - var cmd = "?"; - var elts = document.getElementsByTagName("a"); - for(var i=0; i...
"; - elt.innerHTML = s; - } -} - -function toggle(id) { - elt = document.getElementById(id+"-toggle"); - if (elt.innerHTML == "-") - collapse(id); - else - expand(id); - return false; -} - -function highlight(id) { - var elt = document.getElementById(id+"-def"); - if (elt) elt.className = "py-highlight-hdr"; - var elt = document.getElementById(id+"-expanded"); - if (elt) elt.className = "py-highlight"; - var elt = document.getElementById(id+"-collapsed"); - if (elt) elt.className = "py-highlight"; -} - -function num_lines(s) { - var n = 1; - var pos = s.indexOf("\n"); - while ( pos > 0) { - n += 1; - pos = s.indexOf("\n", pos+1); - } - return n; -} - -// Collapse all blocks that mave more than `min_lines` lines. -function collapse_all(min_lines) { - var elts = document.getElementsByTagName("div"); - for (var i=0; i 0) - if (elt.id.substring(split, elt.id.length) == "-expanded") - if (num_lines(elt.innerHTML) > min_lines) - collapse(elt.id.substring(0, split)); - } -} - -function expandto(href) { - var start = href.indexOf("#")+1; - if (start != 0 && start != href.length) { - if (href.substring(start, href.length) != "-") { - collapse_all(4); - pos = href.indexOf(".", start); - while (pos != -1) { - var id = href.substring(start, pos); - expand(id); - pos = href.indexOf(".", pos+1); - } - var id = href.substring(start, href.length); - expand(id); - highlight(id); - } - } -} - -function kill_doclink(id) { - var parent = document.getElementById(id); - parent.removeChild(parent.childNodes.item(0)); -} -function auto_kill_doclink(ev) { - if (!ev) var ev = window.event; - if (!this.contains(ev.toElement)) { - var parent = document.getElementById(this.parentID); - parent.removeChild(parent.childNodes.item(0)); - } -} - -function doclink(id, name, targets_id) { - var elt = document.getElementById(id); - - // If we already opened the box, then destroy it. - // (This case should never occur, but leave it in just in case.) - if (elt.childNodes.length > 1) { - elt.removeChild(elt.childNodes.item(0)); - } - else { - // The outer box: relative + inline positioning. - var box1 = document.createElement("div"); - box1.style.position = "relative"; - box1.style.display = "inline"; - box1.style.top = 0; - box1.style.left = 0; - - // A shadow for fun - var shadow = document.createElement("div"); - shadow.style.position = "absolute"; - shadow.style.left = "-1.3em"; - shadow.style.top = "-1.3em"; - shadow.style.background = "#404040"; - - // The inner box: absolute positioning. - var box2 = document.createElement("div"); - box2.style.position = "relative"; - box2.style.border = "1px solid #a0a0a0"; - box2.style.left = "-.2em"; - box2.style.top = "-.2em"; - box2.style.background = "white"; - box2.style.padding = ".3em .4em .3em .4em"; - box2.style.fontStyle = "normal"; - box2.onmouseout=auto_kill_doclink; - box2.parentID = id; - - // Get the targets - var targets_elt = document.getElementById(targets_id); - var targets = targets_elt.getAttribute("targets"); - var links = ""; - target_list = targets.split(","); - for (var i=0; i" + - target[0] + ""; - } - - // Put it all together. - elt.insertBefore(box1, elt.childNodes.item(0)); - //box1.appendChild(box2); - box1.appendChild(shadow); - shadow.appendChild(box2); - box2.innerHTML = - "Which "+name+" do you want to see documentation for?" + - ""; - } - return false; -} - -function get_anchor() { - var href = location.href; - var start = href.indexOf("#")+1; - if ((start != 0) && (start != href.length)) - return href.substring(start, href.length); - } -function redirect_url(dottedName) { - // Scan through each element of the "pages" list, and check - // if "name" matches with any of them. - for (var i=0; i-m" or "-c"; - // extract the portion & compare it to dottedName. - var pagename = pages[i].substring(0, pages[i].length-2); - if (pagename == dottedName.substring(0,pagename.length)) { - - // We've found a page that matches `dottedName`; - // construct its URL, using leftover `dottedName` - // content to form an anchor. - var pagetype = pages[i].charAt(pages[i].length-1); - var url = pagename + ((pagetype=="m")?"-module.html": - "-class.html"); - if (dottedName.length > pagename.length) - url += "#" + dottedName.substring(pagename.length+1, - dottedName.length); - return url; - } - } - } diff --git a/docs/epy/frames.html b/docs/epy/frames.html deleted file mode 100644 index 042cb61ab1f..00000000000 --- a/docs/epy/frames.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - API Documentation - - - - - - - - - diff --git a/docs/epy/googleapiclient-module.html b/docs/epy/googleapiclient-module.html deleted file mode 100644 index c71277b53e2..00000000000 --- a/docs/epy/googleapiclient-module.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - - googleapiclient - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Package googleapiclient

source code

- - - - - - - -
- - - - - -
Submodules[hide private]
-
-
- -
- - - - - - - - - -
- - - - - -
Variables[hide private]
-
-   - - __package__ = 'googleapiclient' -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient-pysrc.html b/docs/epy/googleapiclient-pysrc.html deleted file mode 100644 index 63b4e14d477..00000000000 --- a/docs/epy/googleapiclient-pysrc.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - googleapiclient - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient - - - - - - -
[hide private]
[frames] | no frames]
-
-

Source Code for Package googleapiclient

-
- 1  # Copyright 2014 Google Inc. All Rights Reserved. 
- 2  # 
- 3  # Licensed under the Apache License, Version 2.0 (the "License"); 
- 4  # you may not use this file except in compliance with the License. 
- 5  # You may obtain a copy of the License at 
- 6  # 
- 7  #      http://www.apache.org/licenses/LICENSE-2.0 
- 8  # 
- 9  # Unless required by applicable law or agreed to in writing, software 
-10  # distributed under the License is distributed on an "AS IS" BASIS, 
-11  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-12  # See the License for the specific language governing permissions and 
-13  # limitations under the License. 
-14   
-15  # Set default logging handler to avoid "No handler found" warnings. 
-16  import logging 
-17   
-18  try:  # Python 2.7+ 
-19      from logging import NullHandler 
-20  except ImportError: 
-21   
-
22 - class NullHandler(logging.Handler): -
23 - def emit(self, record): -
24 pass -
25 -26 -27 logging.getLogger(__name__).addHandler(NullHandler()) -28 -
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.NullHandler-class.html b/docs/epy/googleapiclient.NullHandler-class.html deleted file mode 100644 index 723ee152f96..00000000000 --- a/docs/epy/googleapiclient.NullHandler-class.html +++ /dev/null @@ -1,282 +0,0 @@ - - - - - googleapiclient.NullHandler - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Class NullHandler - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class NullHandler

source code

-
- -
-
- - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
emit(self, - record)
- Do whatever it takes to actually log the specified logging record.
- source code - -
- -
-

Inherited from logging.Handler: - __init__, - acquire, - close, - createLock, - flush, - format, - get_name, - handle, - handleError, - release, - setFormatter, - setLevel, - set_name -

-

Inherited from logging.Filterer: - addFilter, - filter, - removeFilter -

-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Class Variables[hide private]
-
-

Inherited from logging.Handler: - name -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

emit(self, - record) -

-
source code  -
- -
-
-Do whatever it takes to actually log the specified logging record.
-
-This version is intended to be implemented by subclasses and so
-raises a NotImplementedError.
-
-
-
-
Overrides: - logging.Handler.emit -
(inherited documentation)
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient._auth-module.html b/docs/epy/googleapiclient._auth-module.html deleted file mode 100644 index a166d7753a0..00000000000 --- a/docs/epy/googleapiclient._auth-module.html +++ /dev/null @@ -1,390 +0,0 @@ - - - - - googleapiclient._auth - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module _auth - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Module _auth

source code

-

Helpers for authentication using oauth2client or google-auth.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Functions[hide private]
-
-   - - - - - - -
credentials_from_file(filename, - scopes=None, - quota_project_id=None)
- Returns credentials loaded from a file.
- source code - -
- -
-   - - - - - - -
default_credentials(scopes=None, - quota_project_id=None)
- Returns Application Default Credentials.
- source code - -
- -
-   - - - - - - -
with_scopes(credentials, - scopes)
- Scopes the credentials if necessary.
- source code - -
- -
-   - - - - - - -
authorized_http(credentials)
- Returns an http client that is authorized with the given credentials.
- source code - -
- -
-   - - - - - - -
refresh_credentials(credentials) - source code - -
- -
-   - - - - - - -
apply_credentials(credentials, - headers) - source code - -
- -
-   - - - - - - -
is_valid(credentials) - source code - -
- -
-   - - - - - - -
get_credentials_from_http(http) - source code - -
- -
- - - - - - - - - - - - - - - - - - -
- - - - - -
Variables[hide private]
-
-   - - HAS_GOOGLE_AUTH = False -
-   - - google_auth_httplib2 = None -
-   - - HAS_OAUTH2CLIENT = False -
-   - - __package__ = 'googleapiclient' -
- - - - - - -
- - - - - -
Function Details[hide private]
-
- -
- -
- - -
-

with_scopes(credentials, - scopes) -

-
source code  -
- -
-Scopes the credentials if necessary.
-
-Args:
-    credentials (Union[
-        google.auth.credentials.Credentials,
-        oauth2client.client.Credentials]): The credentials to scope.
-    scopes (Sequence[str]): The list of scopes.
-
-Returns:
-    Union[google.auth.credentials.Credentials,
-        oauth2client.client.Credentials]: The scoped credentials.
-
-
-
-
-
-
- -
- -
- - -
-

authorized_http(credentials) -

-
source code  -
- -
-Returns an http client that is authorized with the given credentials.
-
-Args:
-    credentials (Union[
-        google.auth.credentials.Credentials,
-        oauth2client.client.Credentials]): The credentials to use.
-
-Returns:
-    Union[httplib2.Http, google_auth_httplib2.AuthorizedHttp]: An
-        authorized http client.
-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient._auth-pysrc.html b/docs/epy/googleapiclient._auth-pysrc.html deleted file mode 100644 index 9717363ccfd..00000000000 --- a/docs/epy/googleapiclient._auth-pysrc.html +++ /dev/null @@ -1,290 +0,0 @@ - - - - - googleapiclient._auth - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module _auth - - - - - - -
[hide private]
[frames] | no frames]
-
-

Source Code for Module googleapiclient._auth

-
-  1  # Copyright 2016 Google Inc. All Rights Reserved. 
-  2  # 
-  3  # Licensed under the Apache License, Version 2.0 (the "License"); 
-  4  # you may not use this file except in compliance with the License. 
-  5  # You may obtain a copy of the License at 
-  6  # 
-  7  #      http://www.apache.org/licenses/LICENSE-2.0 
-  8  # 
-  9  # Unless required by applicable law or agreed to in writing, software 
- 10  # distributed under the License is distributed on an "AS IS" BASIS, 
- 11  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
- 12  # See the License for the specific language governing permissions and 
- 13  # limitations under the License. 
- 14   
- 15  """Helpers for authentication using oauth2client or google-auth.""" 
- 16   
- 17  import httplib2 
- 18   
- 19  try: 
- 20      import google.auth 
- 21      import google.auth.credentials 
- 22   
- 23      HAS_GOOGLE_AUTH = True 
- 24  except ImportError:  # pragma: NO COVER 
- 25      HAS_GOOGLE_AUTH = False 
- 26   
- 27  try: 
- 28      import google_auth_httplib2 
- 29  except ImportError:  # pragma: NO COVER 
- 30      google_auth_httplib2 = None 
- 31   
- 32  try: 
- 33      import oauth2client 
- 34      import oauth2client.client 
- 35   
- 36      HAS_OAUTH2CLIENT = True 
- 37  except ImportError:  # pragma: NO COVER 
- 38      HAS_OAUTH2CLIENT = False 
- 39   
- 40   
-
41 -def credentials_from_file(filename, scopes=None, quota_project_id=None): -
42 """Returns credentials loaded from a file.""" - 43 if HAS_GOOGLE_AUTH: - 44 credentials, _ = google.auth.load_credentials_from_file(filename, scopes=scopes, quota_project_id=quota_project_id) - 45 return credentials - 46 else: - 47 raise EnvironmentError( - 48 "client_options.credentials_file is only supported in google-auth.") -
49 - 50 -
51 -def default_credentials(scopes=None, quota_project_id=None): -
52 """Returns Application Default Credentials.""" - 53 if HAS_GOOGLE_AUTH: - 54 credentials, _ = google.auth.default(scopes=scopes, quota_project_id=quota_project_id) - 55 return credentials - 56 elif HAS_OAUTH2CLIENT: - 57 if scopes is not None or quota_project_id is not None: - 58 raise EnvironmentError( - 59 "client_options.scopes and client_options.quota_project_id are not supported in oauth2client." - 60 "Please install google-auth." - 61 ) - 62 return oauth2client.client.GoogleCredentials.get_application_default() - 63 else: - 64 raise EnvironmentError( - 65 "No authentication library is available. Please install either " - 66 "google-auth or oauth2client." - 67 ) -
68 - 69 -
70 -def with_scopes(credentials, scopes): -
71 """Scopes the credentials if necessary. - 72 - 73 Args: - 74 credentials (Union[ - 75 google.auth.credentials.Credentials, - 76 oauth2client.client.Credentials]): The credentials to scope. - 77 scopes (Sequence[str]): The list of scopes. - 78 - 79 Returns: - 80 Union[google.auth.credentials.Credentials, - 81 oauth2client.client.Credentials]: The scoped credentials. - 82 """ - 83 if HAS_GOOGLE_AUTH and isinstance(credentials, google.auth.credentials.Credentials): - 84 return google.auth.credentials.with_scopes_if_required(credentials, scopes) - 85 else: - 86 try: - 87 if credentials.create_scoped_required(): - 88 return credentials.create_scoped(scopes) - 89 else: - 90 return credentials - 91 except AttributeError: - 92 return credentials -
93 - 94 -
95 -def authorized_http(credentials): -
96 """Returns an http client that is authorized with the given credentials. - 97 - 98 Args: - 99 credentials (Union[ -100 google.auth.credentials.Credentials, -101 oauth2client.client.Credentials]): The credentials to use. -102 -103 Returns: -104 Union[httplib2.Http, google_auth_httplib2.AuthorizedHttp]: An -105 authorized http client. -106 """ -107 from googleapiclient.http import build_http -108 -109 if HAS_GOOGLE_AUTH and isinstance(credentials, google.auth.credentials.Credentials): -110 if google_auth_httplib2 is None: -111 raise ValueError( -112 "Credentials from google.auth specified, but " -113 "google-api-python-client is unable to use these credentials " -114 "unless google-auth-httplib2 is installed. Please install " -115 "google-auth-httplib2." -116 ) -117 return google_auth_httplib2.AuthorizedHttp(credentials, http=build_http()) -118 else: -119 return credentials.authorize(build_http()) -
120 -121 -
122 -def refresh_credentials(credentials): -
123 # Refresh must use a new http instance, as the one associated with the -124 # credentials could be a AuthorizedHttp or an oauth2client-decorated -125 # Http instance which would cause a weird recursive loop of refreshing -126 # and likely tear a hole in spacetime. -127 refresh_http = httplib2.Http() -128 if HAS_GOOGLE_AUTH and isinstance(credentials, google.auth.credentials.Credentials): -129 request = google_auth_httplib2.Request(refresh_http) -130 return credentials.refresh(request) -131 else: -132 return credentials.refresh(refresh_http) -
133 -134 -
135 -def apply_credentials(credentials, headers): -
136 # oauth2client and google-auth have the same interface for this. -137 if not is_valid(credentials): -138 refresh_credentials(credentials) -139 return credentials.apply(headers) -
140 -141 -
142 -def is_valid(credentials): -
143 if HAS_GOOGLE_AUTH and isinstance(credentials, google.auth.credentials.Credentials): -144 return credentials.valid -145 else: -146 return ( -147 credentials.access_token is not None -148 and not credentials.access_token_expired -149 ) -
150 -151 -
153 if http is None: -154 return None -155 elif hasattr(http.request, "credentials"): -156 return http.request.credentials -157 elif hasattr(http, "credentials") and not isinstance( -158 http.credentials, httplib2.Credentials -159 ): -160 return http.credentials -161 else: -162 return None -
163 -
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient._helpers-module.html b/docs/epy/googleapiclient._helpers-module.html deleted file mode 100644 index bd1a42b0241..00000000000 --- a/docs/epy/googleapiclient._helpers-module.html +++ /dev/null @@ -1,531 +0,0 @@ - - - - - googleapiclient._helpers - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module _helpers - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Module _helpers

source code

-

Helper functions for commonly used utilities.

- - - - - - - - - - - - - - - - - - - -
- - - - - -
Functions[hide private]
-
-   - - - - - - -
positional(max_positional_args)
- A decorator to declare that only the first N arguments may be positional.
- source code - -
- -
-   - - - - - - -
parse_unique_urlencoded(content)
- Parses unique key-value parameters from urlencoded content.
- source code - -
- -
-   - - - - - - -
update_query_params(uri, - params)
- Updates a URI with new query parameters.
- source code - -
- -
-   - - - - - - -
_add_query_parameter(url, - name, - value)
- Adds a query parameter to a url.
- source code - -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Variables[hide private]
-
-   - - logger = logging.getLogger(__name__) -
-   - - POSITIONAL_WARNING = 'WARNING' -
-   - - POSITIONAL_EXCEPTION = 'EXCEPTION' -
-   - - POSITIONAL_IGNORE = 'IGNORE' -
-   - - POSITIONAL_SET = frozenset(['EXCEPTION', 'IGNORE', 'WARNING']) -
-   - - positional_parameters_enforcement = 'WARNING' -
-   - - _SYM_LINK_MESSAGE = 'File: {0}: Is a symbolic link.' -
-   - - _IS_DIR_MESSAGE = '{0}: Is a directory' -
-   - - _MISSING_FILE_MESSAGE = 'Cannot access {0}: No such file or di... -
-   - - __package__ = 'googleapiclient' -
- - - - - - -
- - - - - -
Function Details[hide private]
-
- -
- -
- - -
-

positional(max_positional_args) -

-
source code  -
- -
-A decorator to declare that only the first N arguments may be positional.
-
-This decorator makes it easy to support Python 3 style keyword-only
-parameters. For example, in Python 3 it is possible to write::
-
-    def fn(pos1, *, kwonly1=None, kwonly1=None):
-        ...
-
-All named parameters after ``*`` must be a keyword::
-
-    fn(10, 'kw1', 'kw2')  # Raises exception.
-    fn(10, kwonly1='kw1')  # Ok.
-
-Example
-^^^^^^^
-
-To define a function like above, do::
-
-    @positional(1)
-    def fn(pos1, kwonly1=None, kwonly2=None):
-        ...
-
-If no default value is provided to a keyword argument, it becomes a
-required keyword argument::
-
-    @positional(0)
-    def fn(required_kw):
-        ...
-
-This must be called with the keyword parameter::
-
-    fn()  # Raises exception.
-    fn(10)  # Raises exception.
-    fn(required_kw=10)  # Ok.
-
-When defining instance or class methods always remember to account for
-``self`` and ``cls``::
-
-    class MyClass(object):
-
-        @positional(2)
-        def my_method(self, pos1, kwonly1=None):
-            ...
-
-        @classmethod
-        @positional(2)
-        def my_method(cls, pos1, kwonly1=None):
-            ...
-
-The positional decorator behavior is controlled by
-``_helpers.positional_parameters_enforcement``, which may be set to
-``POSITIONAL_EXCEPTION``, ``POSITIONAL_WARNING`` or
-``POSITIONAL_IGNORE`` to raise an exception, log a warning, or do
-nothing, respectively, if a declaration is violated.
-
-Args:
-    max_positional_arguments: Maximum number of positional arguments. All
-                              parameters after the this index must be
-                              keyword only.
-
-Returns:
-    A decorator that prevents using arguments after max_positional_args
-    from being used as positional parameters.
-
-Raises:
-    TypeError: if a key-word only argument is provided as a positional
-               parameter, but only if
-               _helpers.positional_parameters_enforcement is set to
-               POSITIONAL_EXCEPTION.
-
-
-
-
-
-
- -
- -
- - -
-

parse_unique_urlencoded(content) -

-
source code  -
- -
-Parses unique key-value parameters from urlencoded content.
-
-Args:
-    content: string, URL-encoded key-value pairs.
-
-Returns:
-    dict, The key-value pairs from ``content``.
-
-Raises:
-    ValueError: if one of the keys is repeated.
-
-
-
-
-
-
- -
- -
- - -
-

update_query_params(uri, - params) -

-
source code  -
- -
-Updates a URI with new query parameters.
-
-If a given key from ``params`` is repeated in the ``uri``, then
-the URI will be considered invalid and an error will occur.
-
-If the URI is valid, then each value from ``params`` will
-replace the corresponding value in the query parameters (if
-it exists).
-
-Args:
-    uri: string, A valid URI, with potential existing query parameters.
-    params: dict, A dictionary of query parameters.
-
-Returns:
-    The same URI but with the new query parameters added.
-
-
-
-
-
-
- -
- -
- - -
-

_add_query_parameter(url, - name, - value) -

-
source code  -
- -
-Adds a query parameter to a url.
-
-Replaces the current value if it already exists in the URL.
-
-Args:
-    url: string, url to add the query parameter to.
-    name: string, query parameter name.
-    value: string, query parameter value.
-
-Returns:
-    Updated query parameter. Does not update the url if value is None.
-
-
-
-
-
-
-
- - - - - - -
- - - - - -
Variables Details[hide private]
-
- -
- -
-

_MISSING_FILE_MESSAGE

- -
-
-
-
Value:
-
-'Cannot access {0}: No such file or directory'
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient._helpers-pysrc.html b/docs/epy/googleapiclient._helpers-pysrc.html deleted file mode 100644 index 8110814a8b8..00000000000 --- a/docs/epy/googleapiclient._helpers-pysrc.html +++ /dev/null @@ -1,324 +0,0 @@ - - - - - googleapiclient._helpers - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module _helpers - - - - - - -
[hide private]
[frames] | no frames]
-
-

Source Code for Module googleapiclient._helpers

-
-  1  # Copyright 2015 Google Inc. All rights reserved. 
-  2  # 
-  3  # Licensed under the Apache License, Version 2.0 (the "License"); 
-  4  # you may not use this file except in compliance with the License. 
-  5  # You may obtain a copy of the License at 
-  6  # 
-  7  #      http://www.apache.org/licenses/LICENSE-2.0 
-  8  # 
-  9  # Unless required by applicable law or agreed to in writing, software 
- 10  # distributed under the License is distributed on an "AS IS" BASIS, 
- 11  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
- 12  # See the License for the specific language governing permissions and 
- 13  # limitations under the License. 
- 14   
- 15  """Helper functions for commonly used utilities.""" 
- 16   
- 17  import functools 
- 18  import inspect 
- 19  import logging 
- 20  import warnings 
- 21   
- 22  import six 
- 23  from six.moves import urllib 
- 24   
- 25   
- 26  logger = logging.getLogger(__name__) 
- 27   
- 28  POSITIONAL_WARNING = "WARNING" 
- 29  POSITIONAL_EXCEPTION = "EXCEPTION" 
- 30  POSITIONAL_IGNORE = "IGNORE" 
- 31  POSITIONAL_SET = frozenset( 
- 32      [POSITIONAL_WARNING, POSITIONAL_EXCEPTION, POSITIONAL_IGNORE] 
- 33  ) 
- 34   
- 35  positional_parameters_enforcement = POSITIONAL_WARNING 
- 36   
- 37  _SYM_LINK_MESSAGE = "File: {0}: Is a symbolic link." 
- 38  _IS_DIR_MESSAGE = "{0}: Is a directory" 
- 39  _MISSING_FILE_MESSAGE = "Cannot access {0}: No such file or directory" 
-
40 - 41 - 42 -def positional(max_positional_args): -
43 """A decorator to declare that only the first N arguments may be positional. - 44 - 45 This decorator makes it easy to support Python 3 style keyword-only - 46 parameters. For example, in Python 3 it is possible to write:: - 47 - 48 def fn(pos1, *, kwonly1=None, kwonly1=None): - 49 ... - 50 - 51 All named parameters after ``*`` must be a keyword:: - 52 - 53 fn(10, 'kw1', 'kw2') # Raises exception. - 54 fn(10, kwonly1='kw1') # Ok. - 55 - 56 Example - 57 ^^^^^^^ - 58 - 59 To define a function like above, do:: - 60 - 61 @positional(1) - 62 def fn(pos1, kwonly1=None, kwonly2=None): - 63 ... - 64 - 65 If no default value is provided to a keyword argument, it becomes a - 66 required keyword argument:: - 67 - 68 @positional(0) - 69 def fn(required_kw): - 70 ... - 71 - 72 This must be called with the keyword parameter:: - 73 - 74 fn() # Raises exception. - 75 fn(10) # Raises exception. - 76 fn(required_kw=10) # Ok. - 77 - 78 When defining instance or class methods always remember to account for - 79 ``self`` and ``cls``:: - 80 - 81 class MyClass(object): - 82 - 83 @positional(2) - 84 def my_method(self, pos1, kwonly1=None): - 85 ... - 86 - 87 @classmethod - 88 @positional(2) - 89 def my_method(cls, pos1, kwonly1=None): - 90 ... - 91 - 92 The positional decorator behavior is controlled by - 93 ``_helpers.positional_parameters_enforcement``, which may be set to - 94 ``POSITIONAL_EXCEPTION``, ``POSITIONAL_WARNING`` or - 95 ``POSITIONAL_IGNORE`` to raise an exception, log a warning, or do - 96 nothing, respectively, if a declaration is violated. - 97 - 98 Args: - 99 max_positional_arguments: Maximum number of positional arguments. All -100 parameters after the this index must be -101 keyword only. -102 -103 Returns: -104 A decorator that prevents using arguments after max_positional_args -105 from being used as positional parameters. -106 -107 Raises: -108 TypeError: if a key-word only argument is provided as a positional -109 parameter, but only if -110 _helpers.positional_parameters_enforcement is set to -111 POSITIONAL_EXCEPTION. -112 """ -113 -114 def positional_decorator(wrapped): -115 @functools.wraps(wrapped) -116 def positional_wrapper(*args, **kwargs): -117 if len(args) > max_positional_args: -118 plural_s = "" -119 if max_positional_args != 1: -120 plural_s = "s" -121 message = ( -122 "{function}() takes at most {args_max} positional " -123 "argument{plural} ({args_given} given)".format( -124 function=wrapped.__name__, -125 args_max=max_positional_args, -126 args_given=len(args), -127 plural=plural_s, -128 ) -129 ) -130 if positional_parameters_enforcement == POSITIONAL_EXCEPTION: -131 raise TypeError(message) -132 elif positional_parameters_enforcement == POSITIONAL_WARNING: -133 logger.warning(message) -134 return wrapped(*args, **kwargs) -
135 -136 return positional_wrapper -137 -138 if isinstance(max_positional_args, six.integer_types): -139 return positional_decorator -140 else: -141 args, _, _, defaults = inspect.getargspec(max_positional_args) -142 return positional(len(args) - len(defaults))(max_positional_args) -143 -
144 -145 -def parse_unique_urlencoded(content): -
146 """Parses unique key-value parameters from urlencoded content. -147 -148 Args: -149 content: string, URL-encoded key-value pairs. -150 -151 Returns: -152 dict, The key-value pairs from ``content``. -153 -154 Raises: -155 ValueError: if one of the keys is repeated. -156 """ -157 urlencoded_params = urllib.parse.parse_qs(content) -158 params = {} -159 for key, value in six.iteritems(urlencoded_params): -160 if len(value) != 1: -161 msg = "URL-encoded content contains a repeated value:" "%s -> %s" % ( -162 key, -163 ", ".join(value), -164 ) -165 raise ValueError(msg) -166 params[key] = value[0] -167 return params -
168 -
169 -170 -def update_query_params(uri, params): -
171 """Updates a URI with new query parameters. -172 -173 If a given key from ``params`` is repeated in the ``uri``, then -174 the URI will be considered invalid and an error will occur. -175 -176 If the URI is valid, then each value from ``params`` will -177 replace the corresponding value in the query parameters (if -178 it exists). -179 -180 Args: -181 uri: string, A valid URI, with potential existing query parameters. -182 params: dict, A dictionary of query parameters. -183 -184 Returns: -185 The same URI but with the new query parameters added. -186 """ -187 parts = urllib.parse.urlparse(uri) -188 query_params = parse_unique_urlencoded(parts.query) -189 query_params.update(params) -190 new_query = urllib.parse.urlencode(query_params) -191 new_parts = parts._replace(query=new_query) -192 return urllib.parse.urlunparse(new_parts) -
193 -
194 -195 -def _add_query_parameter(url, name, value): -
196 """Adds a query parameter to a url. -197 -198 Replaces the current value if it already exists in the URL. -199 -200 Args: -201 url: string, url to add the query parameter to. -202 name: string, query parameter name. -203 value: string, query parameter value. -204 -205 Returns: -206 Updated query parameter. Does not update the url if value is None. -207 """ -208 if value is None: -209 return url -210 else: -211 return update_query_params(url, {name: value}) -
212 -
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.channel-module.html b/docs/epy/googleapiclient.channel-module.html deleted file mode 100644 index cc6b3c7f18d..00000000000 --- a/docs/epy/googleapiclient.channel-module.html +++ /dev/null @@ -1,490 +0,0 @@ - - - - - googleapiclient.channel - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module channel - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Module channel

source code

-
-Channel notifications support.
-
-Classes and functions to support channel subscriptions and notifications
-on those channels.
-
-Notes:
-  - This code is based on experimental APIs and is subject to change.
-  - Notification does not do deduplication of notification ids, that's up to
-    the receiver.
-  - Storing the Channel between calls is up to the caller.
-
-
-Example setting up a channel:
-
-  # Create a new channel that gets notifications via webhook.
-  channel = new_webhook_channel("https://example.com/my_web_hook")
-
-  # Store the channel, keyed by 'channel.id'. Store it before calling the
-  # watch method because notifications may start arriving before the watch
-  # method returns.
-  ...
-
-  resp = service.objects().watchAll(
-    bucket="some_bucket_id", body=channel.body()).execute()
-  channel.update(resp)
-
-  # Store the channel, keyed by 'channel.id'. Store it after being updated
-  # since the resource_id value will now be correct, and that's needed to
-  # stop a subscription.
-  ...
-
-
-An example Webhook implementation using webapp2. Note that webapp2 puts
-headers in a case insensitive dictionary, as headers aren't guaranteed to
-always be upper case.
-
-  id = self.request.headers[X_GOOG_CHANNEL_ID]
-
-  # Retrieve the channel by id.
-  channel = ...
-
-  # Parse notification from the headers, including validating the id.
-  n = notification_from_headers(channel, self.request.headers)
-
-  # Do app specific stuff with the notification here.
-  if n.resource_state == 'sync':
-    # Code to handle sync state.
-  elif n.resource_state == 'exists':
-    # Code to handle the exists state.
-  elif n.resource_state == 'not_exists':
-    # Code to handle the not exists state.
-
-
-Example of unsubscribing.
-
-  service.channels().stop(channel.body()).execute()
-
-
- - - - - - - - - - - - - -
- - - - - -
Classes[hide private]
-
-   - - Notification
- A Notification from a Channel. -
-   - - Channel
- A Channel for notifications. -
- - - - - - - - - - - - - - - -
- - - - - -
Functions[hide private]
-
-   - - - - - - -
_upper_header_keys(headers) - source code - -
- -
-   - - - - - - -
notification_from_headers(channel, - headers)
- Parse a notification from the webhook request headers, validate - the notification, and return a Notification object.
- source code - -
- -
-   - - - - - - -
new_webhook_channel(*args, - **kwargs)
- Create a new webhook Channel.
- source code - -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Variables[hide private]
-
-   - - EPOCH = datetime.datetime(1970, 1, 1, 0, 0) -
-   - - CHANNEL_PARAMS = {'address': 'address', 'expiration': 'expirat... -
-   - - X_GOOG_CHANNEL_ID = 'X-GOOG-CHANNEL-ID' -
-   - - X_GOOG_MESSAGE_NUMBER = 'X-GOOG-MESSAGE-NUMBER' -
-   - - X_GOOG_RESOURCE_STATE = 'X-GOOG-RESOURCE-STATE' -
-   - - X_GOOG_RESOURCE_URI = 'X-GOOG-RESOURCE-URI' -
-   - - X_GOOG_RESOURCE_ID = 'X-GOOG-RESOURCE-ID' -
-   - - __package__ = None -
- - - - - - -
- - - - - -
Function Details[hide private]
-
- -
- -
- - -
-

notification_from_headers(channel, - headers) -

-
source code  -
- -
-Parse a notification from the webhook request headers, validate
-  the notification, and return a Notification object.
-
-Args:
-  channel: Channel, The channel that the notification is associated with.
-  headers: dict, A dictionary like object that contains the request headers
-    from the webhook HTTP request.
-
-Returns:
-  A Notification object.
-
-Raises:
-  errors.InvalidNotificationError if the notification is invalid.
-  ValueError if the X-GOOG-MESSAGE-NUMBER can't be converted to an int.
-
-
-
-
-
-
- -
- -
- - -
-

new_webhook_channel(*args, - **kwargs) -

-
source code  -
- -
-Create a new webhook Channel.
-
-Args:
-  url: str, URL to post notifications to.
-  token: str, An arbitrary string associated with the channel that
-    is delivered to the target address with each notification delivered
-    over this channel.
-  expiration: datetime.datetime, A time in the future when the channel
-    should expire. Can also be None if the subscription should use the
-    default expiration. Note that different services may have different
-    limits on how long a subscription lasts. Check the response from the
-    watch() method to see the value the service has set for an expiration
-    time.
-  params: dict, Extra parameters to pass on channel creation. Currently
-    not used for webhook channels.
-
-
-
-
Decorators:
-
    -
  • @util.positional(2)
  • -
-
-
-
-
- - - - - - -
- - - - - -
Variables Details[hide private]
-
- -
- -
-

CHANNEL_PARAMS

- -
-
-
-
Value:
-
-{'address': 'address',
- 'expiration': 'expiration',
- 'id': 'id',
- 'params': 'params',
- 'resourceId': 'resource_id',
- 'resourceUri': 'resource_uri',
- 'token': 'token',
- 'type': 'type'}
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.channel-pysrc.html b/docs/epy/googleapiclient.channel-pysrc.html deleted file mode 100644 index 16b07df5cb2..00000000000 --- a/docs/epy/googleapiclient.channel-pysrc.html +++ /dev/null @@ -1,433 +0,0 @@ - - - - - googleapiclient.channel - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module channel - - - - - - -
[hide private]
[frames] | no frames]
-
-

Source Code for Module googleapiclient.channel

-
-  1  # Copyright 2014 Google Inc. All Rights Reserved. 
-  2  # 
-  3  # Licensed under the Apache License, Version 2.0 (the "License"); 
-  4  # you may not use this file except in compliance with the License. 
-  5  # You may obtain a copy of the License at 
-  6  # 
-  7  #      http://www.apache.org/licenses/LICENSE-2.0 
-  8  # 
-  9  # Unless required by applicable law or agreed to in writing, software 
- 10  # distributed under the License is distributed on an "AS IS" BASIS, 
- 11  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
- 12  # See the License for the specific language governing permissions and 
- 13  # limitations under the License. 
- 14   
- 15  """Channel notifications support. 
- 16   
- 17  Classes and functions to support channel subscriptions and notifications 
- 18  on those channels. 
- 19   
- 20  Notes: 
- 21    - This code is based on experimental APIs and is subject to change. 
- 22    - Notification does not do deduplication of notification ids, that's up to 
- 23      the receiver. 
- 24    - Storing the Channel between calls is up to the caller. 
- 25   
- 26   
- 27  Example setting up a channel: 
- 28   
- 29    # Create a new channel that gets notifications via webhook. 
- 30    channel = new_webhook_channel("https://example.com/my_web_hook") 
- 31   
- 32    # Store the channel, keyed by 'channel.id'. Store it before calling the 
- 33    # watch method because notifications may start arriving before the watch 
- 34    # method returns. 
- 35    ... 
- 36   
- 37    resp = service.objects().watchAll( 
- 38      bucket="some_bucket_id", body=channel.body()).execute() 
- 39    channel.update(resp) 
- 40   
- 41    # Store the channel, keyed by 'channel.id'. Store it after being updated 
- 42    # since the resource_id value will now be correct, and that's needed to 
- 43    # stop a subscription. 
- 44    ... 
- 45   
- 46   
- 47  An example Webhook implementation using webapp2. Note that webapp2 puts 
- 48  headers in a case insensitive dictionary, as headers aren't guaranteed to 
- 49  always be upper case. 
- 50   
- 51    id = self.request.headers[X_GOOG_CHANNEL_ID] 
- 52   
- 53    # Retrieve the channel by id. 
- 54    channel = ... 
- 55   
- 56    # Parse notification from the headers, including validating the id. 
- 57    n = notification_from_headers(channel, self.request.headers) 
- 58   
- 59    # Do app specific stuff with the notification here. 
- 60    if n.resource_state == 'sync': 
- 61      # Code to handle sync state. 
- 62    elif n.resource_state == 'exists': 
- 63      # Code to handle the exists state. 
- 64    elif n.resource_state == 'not_exists': 
- 65      # Code to handle the not exists state. 
- 66   
- 67   
- 68  Example of unsubscribing. 
- 69   
- 70    service.channels().stop(channel.body()).execute() 
- 71  """ 
- 72  from __future__ import absolute_import 
- 73   
- 74  import datetime 
- 75  import uuid 
- 76   
- 77  from googleapiclient import errors 
- 78  from googleapiclient import _helpers as util 
- 79  import six 
- 80   
- 81   
- 82  # The unix time epoch starts at midnight 1970. 
- 83  EPOCH = datetime.datetime.utcfromtimestamp(0) 
- 84   
- 85  # Map the names of the parameters in the JSON channel description to 
- 86  # the parameter names we use in the Channel class. 
- 87  CHANNEL_PARAMS = { 
- 88      "address": "address", 
- 89      "id": "id", 
- 90      "expiration": "expiration", 
- 91      "params": "params", 
- 92      "resourceId": "resource_id", 
- 93      "resourceUri": "resource_uri", 
- 94      "type": "type", 
- 95      "token": "token", 
- 96  } 
- 97   
- 98  X_GOOG_CHANNEL_ID = "X-GOOG-CHANNEL-ID" 
- 99  X_GOOG_MESSAGE_NUMBER = "X-GOOG-MESSAGE-NUMBER" 
-100  X_GOOG_RESOURCE_STATE = "X-GOOG-RESOURCE-STATE" 
-101  X_GOOG_RESOURCE_URI = "X-GOOG-RESOURCE-URI" 
-102  X_GOOG_RESOURCE_ID = "X-GOOG-RESOURCE-ID" 
-
103 -104 -105 -def _upper_header_keys(headers): -
106 new_headers = {} -107 for k, v in six.iteritems(headers): -108 new_headers[k.upper()] = v -109 return new_headers -
110 -
111 -112 -class Notification(object): -
113 """A Notification from a Channel. -114 -115 Notifications are not usually constructed directly, but are returned -116 from functions like notification_from_headers(). -117 -118 Attributes: -119 message_number: int, The unique id number of this notification. -120 state: str, The state of the resource being monitored. -121 uri: str, The address of the resource being monitored. -122 resource_id: str, The unique identifier of the version of the resource at -123 this event. -124 """ -125 -126 @util.positional(5) -
127 - def __init__(self, message_number, state, resource_uri, resource_id): -
128 """Notification constructor. -129 -130 Args: -131 message_number: int, The unique id number of this notification. -132 state: str, The state of the resource being monitored. Can be one -133 of "exists", "not_exists", or "sync". -134 resource_uri: str, The address of the resource being monitored. -135 resource_id: str, The identifier of the watched resource. -136 """ -137 self.message_number = message_number -138 self.state = state -139 self.resource_uri = resource_uri -140 self.resource_id = resource_id -
141 -
142 -143 -class Channel(object): -
144 """A Channel for notifications. -145 -146 Usually not constructed directly, instead it is returned from helper -147 functions like new_webhook_channel(). -148 -149 Attributes: -150 type: str, The type of delivery mechanism used by this channel. For -151 example, 'web_hook'. -152 id: str, A UUID for the channel. -153 token: str, An arbitrary string associated with the channel that -154 is delivered to the target address with each event delivered -155 over this channel. -156 address: str, The address of the receiving entity where events are -157 delivered. Specific to the channel type. -158 expiration: int, The time, in milliseconds from the epoch, when this -159 channel will expire. -160 params: dict, A dictionary of string to string, with additional parameters -161 controlling delivery channel behavior. -162 resource_id: str, An opaque id that identifies the resource that is -163 being watched. Stable across different API versions. -164 resource_uri: str, The canonicalized ID of the watched resource. -165 """ -166 -167 @util.positional(5) -
168 - def __init__( -169 self, -170 type, -171 id, -172 token, -173 address, -174 expiration=None, -175 params=None, -176 resource_id="", -177 resource_uri="", -178 ): -
179 """Create a new Channel. -180 -181 In user code, this Channel constructor will not typically be called -182 manually since there are functions for creating channels for each specific -183 type with a more customized set of arguments to pass. -184 -185 Args: -186 type: str, The type of delivery mechanism used by this channel. For -187 example, 'web_hook'. -188 id: str, A UUID for the channel. -189 token: str, An arbitrary string associated with the channel that -190 is delivered to the target address with each event delivered -191 over this channel. -192 address: str, The address of the receiving entity where events are -193 delivered. Specific to the channel type. -194 expiration: int, The time, in milliseconds from the epoch, when this -195 channel will expire. -196 params: dict, A dictionary of string to string, with additional parameters -197 controlling delivery channel behavior. -198 resource_id: str, An opaque id that identifies the resource that is -199 being watched. Stable across different API versions. -200 resource_uri: str, The canonicalized ID of the watched resource. -201 """ -202 self.type = type -203 self.id = id -204 self.token = token -205 self.address = address -206 self.expiration = expiration -207 self.params = params -208 self.resource_id = resource_id -209 self.resource_uri = resource_uri -
210 -
211 - def body(self): -
212 """Build a body from the Channel. -213 -214 Constructs a dictionary that's appropriate for passing into watch() -215 methods as the value of body argument. -216 -217 Returns: -218 A dictionary representation of the channel. -219 """ -220 result = { -221 "id": self.id, -222 "token": self.token, -223 "type": self.type, -224 "address": self.address, -225 } -226 if self.params: -227 result["params"] = self.params -228 if self.resource_id: -229 result["resourceId"] = self.resource_id -230 if self.resource_uri: -231 result["resourceUri"] = self.resource_uri -232 if self.expiration: -233 result["expiration"] = self.expiration -234 -235 return result -
236 -
237 - def update(self, resp): -
238 """Update a channel with information from the response of watch(). -239 -240 When a request is sent to watch() a resource, the response returned -241 from the watch() request is a dictionary with updated channel information, -242 such as the resource_id, which is needed when stopping a subscription. -243 -244 Args: -245 resp: dict, The response from a watch() method. -246 """ -247 for json_name, param_name in six.iteritems(CHANNEL_PARAMS): -248 value = resp.get(json_name) -249 if value is not None: -250 setattr(self, param_name, value) -
251 -
252 -253 -def notification_from_headers(channel, headers): -
254 """Parse a notification from the webhook request headers, validate -255 the notification, and return a Notification object. -256 -257 Args: -258 channel: Channel, The channel that the notification is associated with. -259 headers: dict, A dictionary like object that contains the request headers -260 from the webhook HTTP request. -261 -262 Returns: -263 A Notification object. -264 -265 Raises: -266 errors.InvalidNotificationError if the notification is invalid. -267 ValueError if the X-GOOG-MESSAGE-NUMBER can't be converted to an int. -268 """ -269 headers = _upper_header_keys(headers) -270 channel_id = headers[X_GOOG_CHANNEL_ID] -271 if channel.id != channel_id: -272 raise errors.InvalidNotificationError( -273 "Channel id mismatch: %s != %s" % (channel.id, channel_id) -274 ) -275 else: -276 message_number = int(headers[X_GOOG_MESSAGE_NUMBER]) -277 state = headers[X_GOOG_RESOURCE_STATE] -278 resource_uri = headers[X_GOOG_RESOURCE_URI] -279 resource_id = headers[X_GOOG_RESOURCE_ID] -280 return Notification(message_number, state, resource_uri, resource_id) -
281 -
282 -283 @util.positional(2) -284 -def new_webhook_channel(url, token=None, expiration=None, params=None): -
285 """Create a new webhook Channel. -286 -287 Args: -288 url: str, URL to post notifications to. -289 token: str, An arbitrary string associated with the channel that -290 is delivered to the target address with each notification delivered -291 over this channel. -292 expiration: datetime.datetime, A time in the future when the channel -293 should expire. Can also be None if the subscription should use the -294 default expiration. Note that different services may have different -295 limits on how long a subscription lasts. Check the response from the -296 watch() method to see the value the service has set for an expiration -297 time. -298 params: dict, Extra parameters to pass on channel creation. Currently -299 not used for webhook channels. -300 """ -301 expiration_ms = 0 -302 if expiration: -303 delta = expiration - EPOCH -304 expiration_ms = ( -305 delta.microseconds / 1000 + (delta.seconds + delta.days * 24 * 3600) * 1000 -306 ) -307 if expiration_ms < 0: -308 expiration_ms = 0 -309 -310 return Channel( -311 "web_hook", -312 str(uuid.uuid4()), -313 token, -314 url, -315 expiration=expiration_ms, -316 params=params, -317 ) -
318 -
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.channel.Channel-class.html b/docs/epy/googleapiclient.channel.Channel-class.html deleted file mode 100644 index 5a15b5369f3..00000000000 --- a/docs/epy/googleapiclient.channel.Channel-class.html +++ /dev/null @@ -1,380 +0,0 @@ - - - - - googleapiclient.channel.Channel - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module channel :: - Class Channel - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class Channel

source code

-
-object --+
-         |
-        Channel
-
- -
-
-A Channel for notifications.
-
-Usually not constructed directly, instead it is returned from helper
-functions like new_webhook_channel().
-
-Attributes:
-  type: str, The type of delivery mechanism used by this channel. For
-    example, 'web_hook'.
-  id: str, A UUID for the channel.
-  token: str, An arbitrary string associated with the channel that
-    is delivered to the target address with each event delivered
-    over this channel.
-  address: str, The address of the receiving entity where events are
-    delivered. Specific to the channel type.
-  expiration: int, The time, in milliseconds from the epoch, when this
-    channel will expire.
-  params: dict, A dictionary of string to string, with additional parameters
-    controlling delivery channel behavior.
-  resource_id: str, An opaque id that identifies the resource that is
-    being watched. Stable across different API versions.
-  resource_uri: str, The canonicalized ID of the watched resource.
-
-
- - - - - - - - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
__init__(*args, - **kwargs)
- Create a new Channel.
- source code - -
- -
-   - - - - - - -
body(self)
- Build a body from the Channel.
- source code - -
- -
-   - - - - - - -
update(self, - resp)
- Update a channel with information from the response of watch().
- source code - -
- -
-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

__init__(*args, - **kwargs) -
(Constructor) -

-
source code  -
- -
-Create a new Channel.
-
-In user code, this Channel constructor will not typically be called
-manually since there are functions for creating channels for each specific
-type with a more customized set of arguments to pass.
-
-Args:
-  type: str, The type of delivery mechanism used by this channel. For
-    example, 'web_hook'.
-  id: str, A UUID for the channel.
-  token: str, An arbitrary string associated with the channel that
-    is delivered to the target address with each event delivered
-    over this channel.
-  address: str,  The address of the receiving entity where events are
-    delivered. Specific to the channel type.
-  expiration: int, The time, in milliseconds from the epoch, when this
-    channel will expire.
-  params: dict, A dictionary of string to string, with additional parameters
-    controlling delivery channel behavior.
-  resource_id: str, An opaque id that identifies the resource that is
-    being watched. Stable across different API versions.
-  resource_uri: str, The canonicalized ID of the watched resource.
-
-
-
-
Decorators:
-
    -
  • @util.positional(5)
  • -
-
Overrides: - object.__init__ -
-
-
-
- -
- -
- - -
-

body(self) -

-
source code  -
- -
-Build a body from the Channel.
-
-Constructs a dictionary that's appropriate for passing into watch()
-methods as the value of body argument.
-
-Returns:
-  A dictionary representation of the channel.
-
-
-
-
-
-
- -
- -
- - -
-

update(self, - resp) -

-
source code  -
- -
-Update a channel with information from the response of watch().
-
-When a request is sent to watch() a resource, the response returned
-from the watch() request is a dictionary with updated channel information,
-such as the resource_id, which is needed when stopping a subscription.
-
-Args:
-  resp: dict, The response from a watch() method.
-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.channel.Notification-class.html b/docs/epy/googleapiclient.channel.Notification-class.html deleted file mode 100644 index 2960e086f3b..00000000000 --- a/docs/epy/googleapiclient.channel.Notification-class.html +++ /dev/null @@ -1,263 +0,0 @@ - - - - - googleapiclient.channel.Notification - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module channel :: - Class Notification - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class Notification

source code

-
-object --+
-         |
-        Notification
-
- -
-
-A Notification from a Channel.
-
-Notifications are not usually constructed directly, but are returned
-from functions like notification_from_headers().
-
-Attributes:
-  message_number: int, The unique id number of this notification.
-  state: str, The state of the resource being monitored.
-  uri: str, The address of the resource being monitored.
-  resource_id: str, The unique identifier of the version of the resource at
-    this event.
-
-
- - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
__init__(*args, - **kwargs)
- Notification constructor.
- source code - -
- -
-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

__init__(*args, - **kwargs) -
(Constructor) -

-
source code  -
- -
-Notification constructor.
-
-Args:
-  message_number: int, The unique id number of this notification.
-  state: str, The state of the resource being monitored. Can be one
-    of "exists", "not_exists", or "sync".
-  resource_uri: str, The address of the resource being monitored.
-  resource_id: str, The identifier of the watched resource.
-
-
-
-
Decorators:
-
    -
  • @util.positional(5)
  • -
-
Overrides: - object.__init__ -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.discovery-module.html b/docs/epy/googleapiclient.discovery-module.html deleted file mode 100644 index ecf85168715..00000000000 --- a/docs/epy/googleapiclient.discovery-module.html +++ /dev/null @@ -1,1564 +0,0 @@ - - - - - googleapiclient.discovery - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module discovery - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Module discovery

source code

-

Client for discovery based APIs.

-

A client library for Google's discovery based APIs.

- -
-

Author: - jcgregorio@google.com (Joe Gregorio) -

-
- - - - - - - - - - - - - - -
- - - - - -
Classes[hide private]
-
-   - - _BytesGenerator -
-   - - ResourceMethodParameters
- Represents the parameters associated with a method. -
-   - - Resource
- A class for interacting with a resource. -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Functions[hide private]
-
-   - - - - - - -
fix_method_name(name)
- Fix method names to avoid '$' characters and reserved word conflicts.
- source code - -
- -
-   - - - - - - -
key2param(key)
- Converts key names into parameter names.
- source code - -
- -
-   - - - - - - -
build(serviceName, - version, - http=None, - discoveryServiceUrl=DISCOVERY_URI, - developerKey=None, - model=None, - requestBuilder=HttpRequest, - credentials=None, - cache_discovery=True, - cache=None, - client_options=None, - adc_cert_path=None, - adc_key_path=None, - num_retries=1)
- Construct a Resource for interacting with an API.
- source code - -
- -
-   - - - - - - -
_discovery_service_uri_options(discoveryServiceUrl, - version)
- Returns Discovery URIs to be used for attemnting to build the API Resource.
- source code - -
- -
-   - - - - - - -
_retrieve_discovery_doc(url, - http, - cache_discovery, - cache=None, - developerKey=None, - num_retries=1)
- Retrieves the discovery_doc from cache or the internet.
- source code - -
- -
-   - - - - - - -
build_from_document(service, - base=None, - future=None, - http=None, - developerKey=None, - model=None, - requestBuilder=HttpRequest, - credentials=None, - client_options=None, - adc_cert_path=None, - adc_key_path=None)
- Create a Resource for interacting with an API.
- source code - -
- -
-   - - - - - - -
_cast(value, - schema_type)
- Convert value to a string based on JSON Schema type.
- source code - -
- -
-   - - - - - - -
_media_size_to_long(maxSize)
- Convert a string media size, such as 10GB or 3TB into an integer.
- source code - -
- -
-   - - - - - - -
_media_path_url_from_info(root_desc, - path_url)
- Creates an absolute media path URL.
- source code - -
- -
-   - - - - - - -
_fix_up_parameters(method_desc, - root_desc, - http_method, - schema)
- Updates parameters of an API method with values specific to this library.
- source code - -
- -
-   - - - - - - -
_fix_up_media_upload(method_desc, - root_desc, - path_url, - parameters)
- Adds 'media_body' and 'media_mime_type' parameters if supported by method.
- source code - -
- -
-   - - - - - - -
_fix_up_method_description(method_desc, - root_desc, - schema)
- Updates a method description in a discovery document.
- source code - -
- -
-   - - - - - - -
_urljoin(base, - url)
- Custom urljoin replacement supporting : before / in url.
- source code - -
- -
-   - - - - - - -
createMethod(methodName, - methodDesc, - rootDesc, - schema)
- Creates a method for attaching to a Resource.
- source code - -
- -
-   - - - - - - -
createNextMethod(methodName, - pageTokenName="pageToken", - nextPageTokenName="nextPageToken", - isPageTokenParameter=True)
- Creates any _next methods for attaching to a Resource.
- source code - -
- -
-   - - - - - - -
_findPageTokenName(fields)
- Search field names for one like a page token.
- source code - -
- -
-   - - - - - - -
_methodProperties(methodDesc, - schema, - name)
- Get properties of a field in a method description.
- source code - -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Variables[hide private]
-
-   - - google_auth_httplib2 = None -
-   - - logger = logging.getLogger(__name__) -
-   - - URITEMPLATE = re.compile("{[^}]*}") -
-   - - VARNAME = re.compile("[a-zA-Z0-9_-]+") -
-   - - DISCOVERY_URI = "https://www.googleapis.com/discovery/v1/apis/... -
-   - - V1_DISCOVERY_URI = "https://www.googleapis.com/discovery/v1/ap... -
-   - - V2_DISCOVERY_URI = "https://{api}.googleapis.com/$discovery/re... -
-   - - DEFAULT_METHOD_DOC = "A description of how to use this function" -
-   - - HTTP_PAYLOAD_METHODS = frozenset(["PUT", "POST", "PATCH"]) -
-   - - _MEDIA_SIZE_BIT_SHIFTS = {"KB": 10, "MB": 20, "GB": 30, "TB": 40} -
-   - - BODY_PARAMETER_DEFAULT_VALUE = {"description": "The request bo... -
-   - - MEDIA_BODY_PARAMETER_DEFAULT_VALUE = {"description":("The file... -
-   - - MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE = {"description":("The... -
-   - - _PAGE_TOKEN_NAMES = "pageToken", "nextPageToken" -
-   - - GOOGLE_API_USE_CLIENT_CERTIFICATE = "GOOGLE_API_USE_CLIENT_CER... -
-   - - GOOGLE_API_USE_MTLS_ENDPOINT = "GOOGLE_API_USE_MTLS_ENDPOINT" -
-   - - STACK_QUERY_PARAMETERS = frozenset(["trace", "pp", "userip", "... -
-   - - STACK_QUERY_PARAMETER_DEFAULT_VALUE = {"type": "string", "loca... -
-   - - RESERVED_WORDS = frozenset(["body"]) -
- - - - - - -
- - - - - -
Function Details[hide private]
-
- -
- -
- - -
-

fix_method_name(name) -

-
source code  -
- -
-Fix method names to avoid '$' characters and reserved word conflicts.
-
-Args:
-  name: string, method name.
-
-Returns:
-  The name with '_' appended if the name is a reserved word and '$' and '-'
-  replaced with '_'.
-
-
-
-
-
-
- -
- -
- - -
-

key2param(key) -

-
source code  -
- -
-Converts key names into parameter names.
-
-For example, converting "max-results" -> "max_results"
-
-Args:
-  key: string, the method key name.
-
-Returns:
-  A safe method name based on the key name.
-
-
-
-
-
-
- -
- -
- - -
-

build(serviceName, - version, - http=None, - discoveryServiceUrl=DISCOVERY_URI, - developerKey=None, - model=None, - requestBuilder=HttpRequest, - credentials=None, - cache_discovery=True, - cache=None, - client_options=None, - adc_cert_path=None, - adc_key_path=None, - num_retries=1) -

-
source code  -
- -
-Construct a Resource for interacting with an API.
-
-Construct a Resource object for interacting with an API. The serviceName and
-version are the names from the Discovery service.
-
-Args:
-  serviceName: string, name of the service.
-  version: string, the version of the service.
-  http: httplib2.Http, An instance of httplib2.Http or something that acts
-    like it that HTTP requests will be made through.
-  discoveryServiceUrl: string, a URI Template that points to the location of
-    the discovery service. It should have two parameters {api} and
-    {apiVersion} that when filled in produce an absolute URI to the discovery
-    document for that service.
-  developerKey: string, key obtained from
-    https://code.google.com/apis/console.
-  model: googleapiclient.Model, converts to and from the wire format.
-  requestBuilder: googleapiclient.http.HttpRequest, encapsulator for an HTTP
-    request.
-  credentials: oauth2client.Credentials or
-    google.auth.credentials.Credentials, credentials to be used for
-    authentication.
-  cache_discovery: Boolean, whether or not to cache the discovery doc.
-  cache: googleapiclient.discovery_cache.base.CacheBase, an optional
-    cache object for the discovery documents.
-  client_options: Mapping object or google.api_core.client_options, client
-    options to set user options on the client.
-    (1) The API endpoint should be set through client_options. If API endpoint
-    is not set, `GOOGLE_API_USE_MTLS_ENDPOINT` environment variable can be used
-    to control which endpoint to use.
-    (2) client_cert_source is not supported, client cert should be provided using
-    client_encrypted_cert_source instead. In order to use the provided client
-    cert, `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable must be
-    set to `true`.
-    More details on the environment variables are here:
-    https://google.aip.dev/auth/4114
-  adc_cert_path: str, client certificate file path to save the application
-    default client certificate for mTLS. This field is required if you want to
-    use the default client certificate. `GOOGLE_API_USE_CLIENT_CERTIFICATE`
-    environment variable must be set to `true` in order to use this field,
-    otherwise this field doesn't nothing.
-    More details on the environment variables are here:
-    https://google.aip.dev/auth/4114
-  adc_key_path: str, client encrypted private key file path to save the
-    application default client encrypted private key for mTLS. This field is
-    required if you want to use the default client certificate.
-    `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable must be set to
-    `true` in order to use this field, otherwise this field doesn't nothing.
-    More details on the environment variables are here:
-    https://google.aip.dev/auth/4114
-  num_retries: Integer, number of times to retry discovery with
-    randomized exponential backoff in case of intermittent/connection issues.
-
-Returns:
-  A Resource object with methods for interacting with the service.
-
-Raises:
-  google.auth.exceptions.MutualTLSChannelError: if there are any problems
-    setting up mutual TLS channel.
-
-
-
-
Decorators:
-
    -
  • @positional(2)
  • -
-
-
-
- -
- -
- - -
-

_discovery_service_uri_options(discoveryServiceUrl, - version) -

-
source code  -
- -
-
-  Returns Discovery URIs to be used for attemnting to build the API Resource.
-
-Args:
-  discoveryServiceUrl:
-      string, the Original Discovery Service URL preferred by the customer.
-  version:
-      string, API Version requested
-
-Returns:
-    A list of URIs to be tried for the Service Discovery, in order.
-  
-
-
-
-
-
-
- -
- -
- - -
-

_retrieve_discovery_doc(url, - http, - cache_discovery, - cache=None, - developerKey=None, - num_retries=1) -

-
source code  -
- -
-Retrieves the discovery_doc from cache or the internet.
-
-Args:
-  url: string, the URL of the discovery document.
-  http: httplib2.Http, An instance of httplib2.Http or something that acts
-    like it through which HTTP requests will be made.
-  cache_discovery: Boolean, whether or not to cache the discovery doc.
-  cache: googleapiclient.discovery_cache.base.Cache, an optional cache
-    object for the discovery documents.
-  developerKey: string, Key for controlling API usage, generated
-    from the API Console.
-  num_retries: Integer, number of times to retry discovery with
-    randomized exponential backoff in case of intermittent/connection issues.
-
-Returns:
-  A unicode string representation of the discovery document.
-
-
-
-
-
-
- -
- -
- - -
-

build_from_document(service, - base=None, - future=None, - http=None, - developerKey=None, - model=None, - requestBuilder=HttpRequest, - credentials=None, - client_options=None, - adc_cert_path=None, - adc_key_path=None) -

-
source code  -
- -
-Create a Resource for interacting with an API.
-
-Same as `build()`, but constructs the Resource object from a discovery
-document that is it given, as opposed to retrieving one over HTTP.
-
-Args:
-  service: string or object, the JSON discovery document describing the API.
-    The value passed in may either be the JSON string or the deserialized
-    JSON.
-  base: string, base URI for all HTTP requests, usually the discovery URI.
-    This parameter is no longer used as rootUrl and servicePath are included
-    within the discovery document. (deprecated)
-  future: string, discovery document with future capabilities (deprecated).
-  http: httplib2.Http, An instance of httplib2.Http or something that acts
-    like it that HTTP requests will be made through.
-  developerKey: string, Key for controlling API usage, generated
-    from the API Console.
-  model: Model class instance that serializes and de-serializes requests and
-    responses.
-  requestBuilder: Takes an http request and packages it up to be executed.
-  credentials: oauth2client.Credentials or
-    google.auth.credentials.Credentials, credentials to be used for
-    authentication.
-  client_options: Mapping object or google.api_core.client_options, client
-    options to set user options on the client.
-    (1) The API endpoint should be set through client_options. If API endpoint
-    is not set, `GOOGLE_API_USE_MTLS_ENDPOINT` environment variable can be used
-    to control which endpoint to use.
-    (2) client_cert_source is not supported, client cert should be provided using
-    client_encrypted_cert_source instead. In order to use the provided client
-    cert, `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable must be
-    set to `true`.
-    More details on the environment variables are here:
-    https://google.aip.dev/auth/4114
-  adc_cert_path: str, client certificate file path to save the application
-    default client certificate for mTLS. This field is required if you want to
-    use the default client certificate. `GOOGLE_API_USE_CLIENT_CERTIFICATE`
-    environment variable must be set to `true` in order to use this field,
-    otherwise this field doesn't nothing.
-    More details on the environment variables are here:
-    https://google.aip.dev/auth/4114
-  adc_key_path: str, client encrypted private key file path to save the
-    application default client encrypted private key for mTLS. This field is
-    required if you want to use the default client certificate.
-    `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable must be set to
-    `true` in order to use this field, otherwise this field doesn't nothing.
-    More details on the environment variables are here:
-    https://google.aip.dev/auth/4114
-
-Returns:
-  A Resource object with methods for interacting with the service.
-
-Raises:
-  google.auth.exceptions.MutualTLSChannelError: if there are any problems
-    setting up mutual TLS channel.
-
-
-
-
Decorators:
-
    -
  • @positional(1)
  • -
-
-
-
- -
- -
- - -
-

_cast(value, - schema_type) -

-
source code  -
- -
-Convert value to a string based on JSON Schema type.
-
-See http://tools.ietf.org/html/draft-zyp-json-schema-03 for more details on
-JSON Schema.
-
-Args:
-  value: any, the value to convert
-  schema_type: string, the type that value should be interpreted as
-
-Returns:
-  A string representation of 'value' based on the schema_type.
-
-
-
-
-
-
- -
- -
- - -
-

_media_size_to_long(maxSize) -

-
source code  -
- -
-Convert a string media size, such as 10GB or 3TB into an integer.
-
-Args:
-  maxSize: string, size as a string, such as 2MB or 7GB.
-
-Returns:
-  The size as an integer value.
-
-
-
-
-
-
- -
- -
- - -
-

_media_path_url_from_info(root_desc, - path_url) -

-
source code  -
- -
-Creates an absolute media path URL.
-
-Constructed using the API root URI and service path from the discovery
-document and the relative path for the API method.
-
-Args:
-  root_desc: Dictionary; the entire original deserialized discovery document.
-  path_url: String; the relative URL for the API method. Relative to the API
-      root, which is specified in the discovery document.
-
-Returns:
-  String; the absolute URI for media upload for the API method.
-
-
-
-
-
-
- -
- -
- - -
-

_fix_up_parameters(method_desc, - root_desc, - http_method, - schema) -

-
source code  -
- -
-Updates parameters of an API method with values specific to this library.
-
-Specifically, adds whatever global parameters are specified by the API to the
-parameters for the individual method. Also adds parameters which don't
-appear in the discovery document, but are available to all discovery based
-APIs (these are listed in STACK_QUERY_PARAMETERS).
-
-SIDE EFFECTS: This updates the parameters dictionary object in the method
-description.
-
-Args:
-  method_desc: Dictionary with metadata describing an API method. Value comes
-      from the dictionary of methods stored in the 'methods' key in the
-      deserialized discovery document.
-  root_desc: Dictionary; the entire original deserialized discovery document.
-  http_method: String; the HTTP method used to call the API method described
-      in method_desc.
-  schema: Object, mapping of schema names to schema descriptions.
-
-Returns:
-  The updated Dictionary stored in the 'parameters' key of the method
-      description dictionary.
-
-
-
-
-
-
- -
- -
- - -
-

_fix_up_media_upload(method_desc, - root_desc, - path_url, - parameters) -

-
source code  -
- -
-Adds 'media_body' and 'media_mime_type' parameters if supported by method.
-
-SIDE EFFECTS: If there is a 'mediaUpload' in the method description, adds
-'media_upload' key to parameters.
-
-Args:
-  method_desc: Dictionary with metadata describing an API method. Value comes
-      from the dictionary of methods stored in the 'methods' key in the
-      deserialized discovery document.
-  root_desc: Dictionary; the entire original deserialized discovery document.
-  path_url: String; the relative URL for the API method. Relative to the API
-      root, which is specified in the discovery document.
-  parameters: A dictionary describing method parameters for method described
-      in method_desc.
-
-Returns:
-  Triple (accept, max_size, media_path_url) where:
-    - accept is a list of strings representing what content types are
-      accepted for media upload. Defaults to empty list if not in the
-      discovery document.
-    - max_size is a long representing the max size in bytes allowed for a
-      media upload. Defaults to 0L if not in the discovery document.
-    - media_path_url is a String; the absolute URI for media upload for the
-      API method. Constructed using the API root URI and service path from
-      the discovery document and the relative path for the API method. If
-      media upload is not supported, this is None.
-
-
-
-
-
-
- -
- -
- - -
-

_fix_up_method_description(method_desc, - root_desc, - schema) -

-
source code  -
- -
-Updates a method description in a discovery document.
-
-SIDE EFFECTS: Changes the parameters dictionary in the method description with
-extra parameters which are used locally.
-
-Args:
-  method_desc: Dictionary with metadata describing an API method. Value comes
-      from the dictionary of methods stored in the 'methods' key in the
-      deserialized discovery document.
-  root_desc: Dictionary; the entire original deserialized discovery document.
-  schema: Object, mapping of schema names to schema descriptions.
-
-Returns:
-  Tuple (path_url, http_method, method_id, accept, max_size, media_path_url)
-  where:
-    - path_url is a String; the relative URL for the API method. Relative to
-      the API root, which is specified in the discovery document.
-    - http_method is a String; the HTTP method used to call the API method
-      described in the method description.
-    - method_id is a String; the name of the RPC method associated with the
-      API method, and is in the method description in the 'id' key.
-    - accept is a list of strings representing what content types are
-      accepted for media upload. Defaults to empty list if not in the
-      discovery document.
-    - max_size is a long representing the max size in bytes allowed for a
-      media upload. Defaults to 0L if not in the discovery document.
-    - media_path_url is a String; the absolute URI for media upload for the
-      API method. Constructed using the API root URI and service path from
-      the discovery document and the relative path for the API method. If
-      media upload is not supported, this is None.
-
-
-
-
-
-
- -
- -
- - -
-

createMethod(methodName, - methodDesc, - rootDesc, - schema) -

-
source code  -
- -
-Creates a method for attaching to a Resource.
-
-Args:
-  methodName: string, name of the method to use.
-  methodDesc: object, fragment of deserialized discovery document that
-    describes the method.
-  rootDesc: object, the entire deserialized discovery document.
-  schema: object, mapping of schema names to schema descriptions.
-
-
-
-
-
-
- -
- -
- - -
-

createNextMethod(methodName, - pageTokenName="pageToken", - nextPageTokenName="nextPageToken", - isPageTokenParameter=True) -

-
source code  -
- -
-Creates any _next methods for attaching to a Resource.
-
-The _next methods allow for easy iteration through list() responses.
-
-Args:
-  methodName: string, name of the method to use.
-  pageTokenName: string, name of request page token field.
-  nextPageTokenName: string, name of response page token field.
-  isPageTokenParameter: Boolean, True if request page token is a query
-      parameter, False if request page token is a field of the request body.
-
-
-
-
-
-
- -
- -
- - -
-

_findPageTokenName(fields) -

-
source code  -
- -
-Search field names for one like a page token.
-
-Args:
-  fields: container of string, names of fields.
-
-Returns:
-  First name that is either 'pageToken' or 'nextPageToken' if one exists,
-  otherwise None.
-
-
-
-
-
-
- -
- -
- - -
-

_methodProperties(methodDesc, - schema, - name) -

-
source code  -
- -
-Get properties of a field in a method description.
-
-Args:
-  methodDesc: object, fragment of deserialized discovery document that
-    describes the method.
-  schema: object, mapping of schema names to schema descriptions.
-  name: string, name of top-level field in method description.
-
-Returns:
-  Object representing fragment of deserialized discovery document
-  corresponding to 'properties' field of object corresponding to named field
-  in method description, if it exists, otherwise empty dict.
-
-
-
-
-
-
-
- - - - - - -
- - - - - -
Variables Details[hide private]
-
- -
- -
-

DISCOVERY_URI

- -
-
-
-
Value:
-
-"https://www.googleapis.com/discovery/v1/apis/" "{api}/{apiVersion}/re\
-st"
-
-
-
-
-
- -
- -
-

V1_DISCOVERY_URI

- -
-
-
-
Value:
-
-"https://www.googleapis.com/discovery/v1/apis/" "{api}/{apiVersion}/re\
-st"
-
-
-
-
-
- -
- -
-

V2_DISCOVERY_URI

- -
-
-
-
Value:
-
-"https://{api}.googleapis.com/$discovery/rest?" "version={apiVersion}"
-
-
-
-
-
- -
- -
-

BODY_PARAMETER_DEFAULT_VALUE

- -
-
-
-
Value:
-
-{"description": "The request body.", "type": "object"}
-
-
-
-
-
- -
- -
-

MEDIA_BODY_PARAMETER_DEFAULT_VALUE

- -
-
-
-
Value:
-
-{"description":("The filename of the media request body, or an instanc\
-e " "of a MediaUpload object."), "type": "string", "required": False,}
-
-
-
-
-
- -
- -
-

MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE

- -
-
-
-
Value:
-
-{"description":("The MIME type of the media request body, or an instan\
-ce " "of a MediaUpload object."), "type": "string", "required": False,\
-}
-
-
-
-
-
- -
- -
-

GOOGLE_API_USE_CLIENT_CERTIFICATE

- -
-
-
-
Value:
-
-"GOOGLE_API_USE_CLIENT_CERTIFICATE"
-
-
-
-
-
- -
- -
-

STACK_QUERY_PARAMETERS

- -
-
-
-
Value:
-
-frozenset(["trace", "pp", "userip", "strict"])
-
-
-
-
-
- -
- -
-

STACK_QUERY_PARAMETER_DEFAULT_VALUE

- -
-
-
-
Value:
-
-{"type": "string", "location": "query"}
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.discovery-pysrc.html b/docs/epy/googleapiclient.discovery-pysrc.html deleted file mode 100644 index d063c472d52..00000000000 --- a/docs/epy/googleapiclient.discovery-pysrc.html +++ /dev/null @@ -1,1806 +0,0 @@ - - - - - googleapiclient.discovery - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module discovery - - - - - - -
[hide private]
[frames] | no frames]
-
-

Source Code for Module googleapiclient.discovery

-
-   1  # Copyright 2014 Google Inc. All Rights Reserved. 
-   2  # 
-   3  # Licensed under the Apache License, Version 2.0 (the "License"); 
-   4  # you may not use this file except in compliance with the License. 
-   5  # You may obtain a copy of the License at 
-   6  # 
-   7  #      http://www.apache.org/licenses/LICENSE-2.0 
-   8  # 
-   9  # Unless required by applicable law or agreed to in writing, software 
-  10  # distributed under the License is distributed on an "AS IS" BASIS, 
-  11  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-  12  # See the License for the specific language governing permissions and 
-  13  # limitations under the License. 
-  14   
-  15  """Client for discovery based APIs. 
-  16   
-  17  A client library for Google's discovery based APIs. 
-  18  """ 
-  19  from __future__ import absolute_import 
-  20  import six 
-  21  from six.moves import zip 
-  22   
-  23  __author__ = "jcgregorio@google.com (Joe Gregorio)" 
-  24  __all__ = ["build", "build_from_document", "fix_method_name", "key2param"] 
-  25   
-  26  from six import BytesIO 
-  27  from six.moves import http_client 
-  28  from six.moves.urllib.parse import urlencode, urlparse, urljoin, urlunparse, parse_qsl 
-  29   
-  30  # Standard library imports 
-  31  import copy 
-  32  from collections import OrderedDict 
-  33   
-  34  try: 
-  35      from email.generator import BytesGenerator 
-  36  except ImportError: 
-  37      from email.generator import Generator as BytesGenerator 
-  38  from email.mime.multipart import MIMEMultipart 
-  39  from email.mime.nonmultipart import MIMENonMultipart 
-  40  import json 
-  41  import keyword 
-  42  import logging 
-  43  import mimetypes 
-  44  import os 
-  45  import re 
-  46   
-  47  # Third-party imports 
-  48  import httplib2 
-  49  import uritemplate 
-  50  import google.api_core.client_options 
-  51  from google.auth.transport import mtls 
-  52  from google.auth.exceptions import MutualTLSChannelError 
-  53   
-  54  try: 
-  55      import google_auth_httplib2 
-  56  except ImportError:  # pragma: NO COVER 
-  57      google_auth_httplib2 = None 
-  58   
-  59  # Local imports 
-  60  from googleapiclient import _auth 
-  61  from googleapiclient import mimeparse 
-  62  from googleapiclient.errors import HttpError 
-  63  from googleapiclient.errors import InvalidJsonError 
-  64  from googleapiclient.errors import MediaUploadSizeError 
-  65  from googleapiclient.errors import UnacceptableMimeTypeError 
-  66  from googleapiclient.errors import UnknownApiNameOrVersion 
-  67  from googleapiclient.errors import UnknownFileType 
-  68  from googleapiclient.http import build_http 
-  69  from googleapiclient.http import BatchHttpRequest 
-  70  from googleapiclient.http import HttpMock 
-  71  from googleapiclient.http import HttpMockSequence 
-  72  from googleapiclient.http import HttpRequest 
-  73  from googleapiclient.http import MediaFileUpload 
-  74  from googleapiclient.http import MediaUpload 
-  75  from googleapiclient.model import JsonModel 
-  76  from googleapiclient.model import MediaModel 
-  77  from googleapiclient.model import RawModel 
-  78  from googleapiclient.schema import Schemas 
-  79   
-  80  from googleapiclient._helpers import _add_query_parameter 
-  81  from googleapiclient._helpers import positional 
-  82   
-  83   
-  84  # The client library requires a version of httplib2 that supports RETRIES. 
-  85  httplib2.RETRIES = 1 
-  86   
-  87  logger = logging.getLogger(__name__) 
-  88   
-  89  URITEMPLATE = re.compile("{[^}]*}") 
-  90  VARNAME = re.compile("[a-zA-Z0-9_-]+") 
-  91  DISCOVERY_URI = ( 
-  92      "https://www.googleapis.com/discovery/v1/apis/" "{api}/{apiVersion}/rest" 
-  93  ) 
-  94  V1_DISCOVERY_URI = DISCOVERY_URI 
-  95  V2_DISCOVERY_URI = ( 
-  96      "https://{api}.googleapis.com/$discovery/rest?" "version={apiVersion}" 
-  97  ) 
-  98  DEFAULT_METHOD_DOC = "A description of how to use this function" 
-  99  HTTP_PAYLOAD_METHODS = frozenset(["PUT", "POST", "PATCH"]) 
- 100   
- 101  _MEDIA_SIZE_BIT_SHIFTS = {"KB": 10, "MB": 20, "GB": 30, "TB": 40} 
- 102  BODY_PARAMETER_DEFAULT_VALUE = {"description": "The request body.", "type": "object"} 
- 103  MEDIA_BODY_PARAMETER_DEFAULT_VALUE = { 
- 104      "description": ( 
- 105          "The filename of the media request body, or an instance " 
- 106          "of a MediaUpload object." 
- 107      ), 
- 108      "type": "string", 
- 109      "required": False, 
- 110  } 
- 111  MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE = { 
- 112      "description": ( 
- 113          "The MIME type of the media request body, or an instance " 
- 114          "of a MediaUpload object." 
- 115      ), 
- 116      "type": "string", 
- 117      "required": False, 
- 118  } 
- 119  _PAGE_TOKEN_NAMES = ("pageToken", "nextPageToken") 
- 120   
- 121  # Parameters controlling mTLS behavior. See https://google.aip.dev/auth/4114. 
- 122  GOOGLE_API_USE_CLIENT_CERTIFICATE = "GOOGLE_API_USE_CLIENT_CERTIFICATE" 
- 123  GOOGLE_API_USE_MTLS_ENDPOINT = "GOOGLE_API_USE_MTLS_ENDPOINT" 
- 124   
- 125  # Parameters accepted by the stack, but not visible via discovery. 
- 126  # TODO(dhermes): Remove 'userip' in 'v2'. 
- 127  STACK_QUERY_PARAMETERS = frozenset(["trace", "pp", "userip", "strict"]) 
- 128  STACK_QUERY_PARAMETER_DEFAULT_VALUE = {"type": "string", "location": "query"} 
- 129   
- 130  # Library-specific reserved words beyond Python keywords. 
- 131  RESERVED_WORDS = frozenset(["body"]) 
-
132 - 133 # patch _write_lines to avoid munging '\r' into '\n' - 134 # ( https://bugs.python.org/issue18886 https://bugs.python.org/issue19003 ) - 135 -class _BytesGenerator(BytesGenerator): -
136 _write_lines = BytesGenerator.write -
137 -
138 - 139 -def fix_method_name(name): -
140 """Fix method names to avoid '$' characters and reserved word conflicts. - 141 - 142 Args: - 143 name: string, method name. - 144 - 145 Returns: - 146 The name with '_' appended if the name is a reserved word and '$' and '-' - 147 replaced with '_'. - 148 """ - 149 name = name.replace("$", "_").replace("-", "_") - 150 if keyword.iskeyword(name) or name in RESERVED_WORDS: - 151 return name + "_" - 152 else: - 153 return name -
154 -
155 - 156 -def key2param(key): -
157 """Converts key names into parameter names. - 158 - 159 For example, converting "max-results" -> "max_results" - 160 - 161 Args: - 162 key: string, the method key name. - 163 - 164 Returns: - 165 A safe method name based on the key name. - 166 """ - 167 result = [] - 168 key = list(key) - 169 if not key[0].isalpha(): - 170 result.append("x") - 171 for c in key: - 172 if c.isalnum(): - 173 result.append(c) - 174 else: - 175 result.append("_") - 176 - 177 return "".join(result) -
178 -
179 - 180 @positional(2) - 181 -def build( - 182 serviceName, - 183 version, - 184 http=None, - 185 discoveryServiceUrl=DISCOVERY_URI, - 186 developerKey=None, - 187 model=None, - 188 requestBuilder=HttpRequest, - 189 credentials=None, - 190 cache_discovery=True, - 191 cache=None, - 192 client_options=None, - 193 adc_cert_path=None, - 194 adc_key_path=None, - 195 num_retries=1, - 196 ): -
197 """Construct a Resource for interacting with an API. - 198 - 199 Construct a Resource object for interacting with an API. The serviceName and - 200 version are the names from the Discovery service. - 201 - 202 Args: - 203 serviceName: string, name of the service. - 204 version: string, the version of the service. - 205 http: httplib2.Http, An instance of httplib2.Http or something that acts - 206 like it that HTTP requests will be made through. - 207 discoveryServiceUrl: string, a URI Template that points to the location of - 208 the discovery service. It should have two parameters {api} and - 209 {apiVersion} that when filled in produce an absolute URI to the discovery - 210 document for that service. - 211 developerKey: string, key obtained from - 212 https://code.google.com/apis/console. - 213 model: googleapiclient.Model, converts to and from the wire format. - 214 requestBuilder: googleapiclient.http.HttpRequest, encapsulator for an HTTP - 215 request. - 216 credentials: oauth2client.Credentials or - 217 google.auth.credentials.Credentials, credentials to be used for - 218 authentication. - 219 cache_discovery: Boolean, whether or not to cache the discovery doc. - 220 cache: googleapiclient.discovery_cache.base.CacheBase, an optional - 221 cache object for the discovery documents. - 222 client_options: Mapping object or google.api_core.client_options, client - 223 options to set user options on the client. - 224 (1) The API endpoint should be set through client_options. If API endpoint - 225 is not set, `GOOGLE_API_USE_MTLS_ENDPOINT` environment variable can be used - 226 to control which endpoint to use. - 227 (2) client_cert_source is not supported, client cert should be provided using - 228 client_encrypted_cert_source instead. In order to use the provided client - 229 cert, `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable must be - 230 set to `true`. - 231 More details on the environment variables are here: - 232 https://google.aip.dev/auth/4114 - 233 adc_cert_path: str, client certificate file path to save the application - 234 default client certificate for mTLS. This field is required if you want to - 235 use the default client certificate. `GOOGLE_API_USE_CLIENT_CERTIFICATE` - 236 environment variable must be set to `true` in order to use this field, - 237 otherwise this field doesn't nothing. - 238 More details on the environment variables are here: - 239 https://google.aip.dev/auth/4114 - 240 adc_key_path: str, client encrypted private key file path to save the - 241 application default client encrypted private key for mTLS. This field is - 242 required if you want to use the default client certificate. - 243 `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable must be set to - 244 `true` in order to use this field, otherwise this field doesn't nothing. - 245 More details on the environment variables are here: - 246 https://google.aip.dev/auth/4114 - 247 num_retries: Integer, number of times to retry discovery with - 248 randomized exponential backoff in case of intermittent/connection issues. - 249 - 250 Returns: - 251 A Resource object with methods for interacting with the service. - 252 - 253 Raises: - 254 google.auth.exceptions.MutualTLSChannelError: if there are any problems - 255 setting up mutual TLS channel. - 256 """ - 257 params = {"api": serviceName, "apiVersion": version} - 258 - 259 if http is None: - 260 discovery_http = build_http() - 261 else: - 262 discovery_http = http - 263 - 264 service = None - 265 - 266 for discovery_url in _discovery_service_uri_options(discoveryServiceUrl, version): - 267 requested_url = uritemplate.expand(discovery_url, params) - 268 - 269 try: - 270 content = _retrieve_discovery_doc( - 271 requested_url, - 272 discovery_http, - 273 cache_discovery, - 274 cache, - 275 developerKey, - 276 num_retries=num_retries, - 277 ) - 278 service = build_from_document( - 279 content, - 280 base=discovery_url, - 281 http=http, - 282 developerKey=developerKey, - 283 model=model, - 284 requestBuilder=requestBuilder, - 285 credentials=credentials, - 286 client_options=client_options, - 287 adc_cert_path=adc_cert_path, - 288 adc_key_path=adc_key_path, - 289 ) - 290 break # exit if a service was created - 291 except HttpError as e: - 292 if e.resp.status == http_client.NOT_FOUND: - 293 continue - 294 else: - 295 raise e - 296 - 297 # If discovery_http was created by this function, we are done with it - 298 # and can safely close it - 299 if http is None: - 300 discovery_http.close() - 301 - 302 if service is None: - 303 raise UnknownApiNameOrVersion("name: %s version: %s" % (serviceName, version)) - 304 else: - 305 return service -
306 -
307 - 308 -def _discovery_service_uri_options(discoveryServiceUrl, version): -
309 """ - 310 Returns Discovery URIs to be used for attemnting to build the API Resource. - 311 - 312 Args: - 313 discoveryServiceUrl: - 314 string, the Original Discovery Service URL preferred by the customer. - 315 version: - 316 string, API Version requested - 317 - 318 Returns: - 319 A list of URIs to be tried for the Service Discovery, in order. - 320 """ - 321 - 322 urls = [discoveryServiceUrl, V2_DISCOVERY_URI] - 323 # V1 Discovery won't work if the requested version is None - 324 if discoveryServiceUrl == V1_DISCOVERY_URI and version is None: - 325 logger.warning( - 326 "Discovery V1 does not support empty versions. Defaulting to V2..." - 327 ) - 328 urls.pop(0) - 329 return list(OrderedDict.fromkeys(urls)) -
330 -
331 - 332 -def _retrieve_discovery_doc( - 333 url, http, cache_discovery, cache=None, developerKey=None, num_retries=1 - 334 ): -
335 """Retrieves the discovery_doc from cache or the internet. - 336 - 337 Args: - 338 url: string, the URL of the discovery document. - 339 http: httplib2.Http, An instance of httplib2.Http or something that acts - 340 like it through which HTTP requests will be made. - 341 cache_discovery: Boolean, whether or not to cache the discovery doc. - 342 cache: googleapiclient.discovery_cache.base.Cache, an optional cache - 343 object for the discovery documents. - 344 developerKey: string, Key for controlling API usage, generated - 345 from the API Console. - 346 num_retries: Integer, number of times to retry discovery with - 347 randomized exponential backoff in case of intermittent/connection issues. - 348 - 349 Returns: - 350 A unicode string representation of the discovery document. - 351 """ - 352 if cache_discovery: - 353 from . import discovery_cache - 354 - 355 if cache is None: - 356 cache = discovery_cache.autodetect() - 357 if cache: - 358 content = cache.get(url) - 359 if content: - 360 return content - 361 - 362 actual_url = url - 363 # REMOTE_ADDR is defined by the CGI spec [RFC3875] as the environment - 364 # variable that contains the network address of the client sending the - 365 # request. If it exists then add that to the request for the discovery - 366 # document to avoid exceeding the quota on discovery requests. - 367 if "REMOTE_ADDR" in os.environ: - 368 actual_url = _add_query_parameter(url, "userIp", os.environ["REMOTE_ADDR"]) - 369 if developerKey: - 370 actual_url = _add_query_parameter(url, "key", developerKey) - 371 logger.debug("URL being requested: GET %s", actual_url) - 372 - 373 # Execute this request with retries build into HttpRequest - 374 # Note that it will already raise an error if we don't get a 2xx response - 375 req = HttpRequest(http, HttpRequest.null_postproc, actual_url) - 376 resp, content = req.execute(num_retries=num_retries) - 377 - 378 try: - 379 content = content.decode("utf-8") - 380 except AttributeError: - 381 pass - 382 - 383 try: - 384 service = json.loads(content) - 385 except ValueError as e: - 386 logger.error("Failed to parse as JSON: " + content) - 387 raise InvalidJsonError() - 388 if cache_discovery and cache: - 389 cache.set(url, content) - 390 return content -
391 -
392 - 393 @positional(1) - 394 -def build_from_document( - 395 service, - 396 base=None, - 397 future=None, - 398 http=None, - 399 developerKey=None, - 400 model=None, - 401 requestBuilder=HttpRequest, - 402 credentials=None, - 403 client_options=None, - 404 adc_cert_path=None, - 405 adc_key_path=None, - 406 ): -
407 """Create a Resource for interacting with an API. - 408 - 409 Same as `build()`, but constructs the Resource object from a discovery - 410 document that is it given, as opposed to retrieving one over HTTP. - 411 - 412 Args: - 413 service: string or object, the JSON discovery document describing the API. - 414 The value passed in may either be the JSON string or the deserialized - 415 JSON. - 416 base: string, base URI for all HTTP requests, usually the discovery URI. - 417 This parameter is no longer used as rootUrl and servicePath are included - 418 within the discovery document. (deprecated) - 419 future: string, discovery document with future capabilities (deprecated). - 420 http: httplib2.Http, An instance of httplib2.Http or something that acts - 421 like it that HTTP requests will be made through. - 422 developerKey: string, Key for controlling API usage, generated - 423 from the API Console. - 424 model: Model class instance that serializes and de-serializes requests and - 425 responses. - 426 requestBuilder: Takes an http request and packages it up to be executed. - 427 credentials: oauth2client.Credentials or - 428 google.auth.credentials.Credentials, credentials to be used for - 429 authentication. - 430 client_options: Mapping object or google.api_core.client_options, client - 431 options to set user options on the client. - 432 (1) The API endpoint should be set through client_options. If API endpoint - 433 is not set, `GOOGLE_API_USE_MTLS_ENDPOINT` environment variable can be used - 434 to control which endpoint to use. - 435 (2) client_cert_source is not supported, client cert should be provided using - 436 client_encrypted_cert_source instead. In order to use the provided client - 437 cert, `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable must be - 438 set to `true`. - 439 More details on the environment variables are here: - 440 https://google.aip.dev/auth/4114 - 441 adc_cert_path: str, client certificate file path to save the application - 442 default client certificate for mTLS. This field is required if you want to - 443 use the default client certificate. `GOOGLE_API_USE_CLIENT_CERTIFICATE` - 444 environment variable must be set to `true` in order to use this field, - 445 otherwise this field doesn't nothing. - 446 More details on the environment variables are here: - 447 https://google.aip.dev/auth/4114 - 448 adc_key_path: str, client encrypted private key file path to save the - 449 application default client encrypted private key for mTLS. This field is - 450 required if you want to use the default client certificate. - 451 `GOOGLE_API_USE_CLIENT_CERTIFICATE` environment variable must be set to - 452 `true` in order to use this field, otherwise this field doesn't nothing. - 453 More details on the environment variables are here: - 454 https://google.aip.dev/auth/4114 - 455 - 456 Returns: - 457 A Resource object with methods for interacting with the service. - 458 - 459 Raises: - 460 google.auth.exceptions.MutualTLSChannelError: if there are any problems - 461 setting up mutual TLS channel. - 462 """ - 463 - 464 if client_options is None: - 465 client_options = google.api_core.client_options.ClientOptions() - 466 if isinstance(client_options, six.moves.collections_abc.Mapping): - 467 client_options = google.api_core.client_options.from_dict(client_options) - 468 - 469 if http is not None: - 470 # if http is passed, the user cannot provide credentials - 471 banned_options = [ - 472 (credentials, "credentials"), - 473 (client_options.credentials_file, "client_options.credentials_file"), - 474 ] - 475 for option, name in banned_options: - 476 if option is not None: - 477 raise ValueError("Arguments http and {} are mutually exclusive".format(name)) - 478 - 479 if isinstance(service, six.string_types): - 480 service = json.loads(service) - 481 elif isinstance(service, six.binary_type): - 482 service = json.loads(service.decode("utf-8")) - 483 - 484 if "rootUrl" not in service and isinstance(http, (HttpMock, HttpMockSequence)): - 485 logger.error( - 486 "You are using HttpMock or HttpMockSequence without" - 487 + "having the service discovery doc in cache. Try calling " - 488 + "build() without mocking once first to populate the " - 489 + "cache." - 490 ) - 491 raise InvalidJsonError() - 492 - 493 # If an API Endpoint is provided on client options, use that as the base URL - 494 base = urljoin(service["rootUrl"], service["servicePath"]) - 495 if client_options.api_endpoint: - 496 base = client_options.api_endpoint - 497 - 498 schema = Schemas(service) - 499 - 500 # If the http client is not specified, then we must construct an http client - 501 # to make requests. If the service has scopes, then we also need to setup - 502 # authentication. - 503 if http is None: - 504 # Does the service require scopes? - 505 scopes = list( - 506 service.get("auth", {}).get("oauth2", {}).get("scopes", {}).keys() - 507 ) - 508 - 509 # If so, then the we need to setup authentication if no developerKey is - 510 # specified. - 511 if scopes and not developerKey: - 512 # Make sure the user didn't pass multiple credentials - 513 if client_options.credentials_file and credentials: - 514 raise google.api_core.exceptions.DuplicateCredentialArgs( - 515 "client_options.credentials_file and credentials are mutually exclusive." - 516 ) - 517 # Check for credentials file via client options - 518 if client_options.credentials_file: - 519 credentials = _auth.credentials_from_file( - 520 client_options.credentials_file, - 521 scopes=client_options.scopes, - 522 quota_project_id=client_options.quota_project_id, - 523 ) - 524 # If the user didn't pass in credentials, attempt to acquire application - 525 # default credentials. - 526 if credentials is None: - 527 credentials = _auth.default_credentials( - 528 scopes=client_options.scopes, - 529 quota_project_id=client_options.quota_project_id, - 530 ) - 531 - 532 # The credentials need to be scoped. - 533 # If the user provided scopes via client_options don't override them - 534 if not client_options.scopes: - 535 credentials = _auth.with_scopes(credentials, scopes) - 536 - 537 # If credentials are provided, create an authorized http instance; - 538 # otherwise, skip authentication. - 539 if credentials: - 540 http = _auth.authorized_http(credentials) - 541 - 542 # If the service doesn't require scopes then there is no need for - 543 # authentication. - 544 else: - 545 http = build_http() - 546 - 547 # Obtain client cert and create mTLS http channel if cert exists. - 548 client_cert_to_use = None - 549 use_client_cert = os.getenv(GOOGLE_API_USE_CLIENT_CERTIFICATE, "false") - 550 if not use_client_cert in ("true", "false"): - 551 raise MutualTLSChannelError( - 552 "Unsupported GOOGLE_API_USE_CLIENT_CERTIFICATE value. Accepted values: true, false" - 553 ) - 554 if client_options and client_options.client_cert_source: - 555 raise MutualTLSChannelError( - 556 "ClientOptions.client_cert_source is not supported, please use ClientOptions.client_encrypted_cert_source." - 557 ) - 558 if use_client_cert == "true": - 559 if ( - 560 client_options - 561 and hasattr(client_options, "client_encrypted_cert_source") - 562 and client_options.client_encrypted_cert_source - 563 ): - 564 client_cert_to_use = client_options.client_encrypted_cert_source - 565 elif ( - 566 adc_cert_path and adc_key_path and mtls.has_default_client_cert_source() - 567 ): - 568 client_cert_to_use = mtls.default_client_encrypted_cert_source( - 569 adc_cert_path, adc_key_path - 570 ) - 571 if client_cert_to_use: - 572 cert_path, key_path, passphrase = client_cert_to_use() - 573 - 574 # The http object we built could be google_auth_httplib2.AuthorizedHttp - 575 # or httplib2.Http. In the first case we need to extract the wrapped - 576 # httplib2.Http object from google_auth_httplib2.AuthorizedHttp. - 577 http_channel = ( - 578 http.http - 579 if google_auth_httplib2 - 580 and isinstance(http, google_auth_httplib2.AuthorizedHttp) - 581 else http - 582 ) - 583 http_channel.add_certificate(key_path, cert_path, "", passphrase) - 584 - 585 # If user doesn't provide api endpoint via client options, decide which - 586 # api endpoint to use. - 587 if "mtlsRootUrl" in service and ( - 588 not client_options or not client_options.api_endpoint - 589 ): - 590 mtls_endpoint = urljoin(service["mtlsRootUrl"], service["servicePath"]) - 591 use_mtls_endpoint = os.getenv(GOOGLE_API_USE_MTLS_ENDPOINT, "auto") - 592 - 593 if not use_mtls_endpoint in ("never", "auto", "always"): - 594 raise MutualTLSChannelError( - 595 "Unsupported GOOGLE_API_USE_MTLS_ENDPOINT value. Accepted values: never, auto, always" - 596 ) - 597 - 598 # Switch to mTLS endpoint, if environment variable is "always", or - 599 # environment varibable is "auto" and client cert exists. - 600 if use_mtls_endpoint == "always" or ( - 601 use_mtls_endpoint == "auto" and client_cert_to_use - 602 ): - 603 base = mtls_endpoint - 604 - 605 if model is None: - 606 features = service.get("features", []) - 607 model = JsonModel("dataWrapper" in features) - 608 - 609 return Resource( - 610 http=http, - 611 baseUrl=base, - 612 model=model, - 613 developerKey=developerKey, - 614 requestBuilder=requestBuilder, - 615 resourceDesc=service, - 616 rootDesc=service, - 617 schema=schema, - 618 ) -
619 -
620 - 621 -def _cast(value, schema_type): -
622 """Convert value to a string based on JSON Schema type. - 623 - 624 See http://tools.ietf.org/html/draft-zyp-json-schema-03 for more details on - 625 JSON Schema. - 626 - 627 Args: - 628 value: any, the value to convert - 629 schema_type: string, the type that value should be interpreted as - 630 - 631 Returns: - 632 A string representation of 'value' based on the schema_type. - 633 """ - 634 if schema_type == "string": - 635 if type(value) == type("") or type(value) == type(u""): - 636 return value - 637 else: - 638 return str(value) - 639 elif schema_type == "integer": - 640 return str(int(value)) - 641 elif schema_type == "number": - 642 return str(float(value)) - 643 elif schema_type == "boolean": - 644 return str(bool(value)).lower() - 645 else: - 646 if type(value) == type("") or type(value) == type(u""): - 647 return value - 648 else: - 649 return str(value) -
650 -
651 - 652 -def _media_size_to_long(maxSize): -
653 """Convert a string media size, such as 10GB or 3TB into an integer. - 654 - 655 Args: - 656 maxSize: string, size as a string, such as 2MB or 7GB. - 657 - 658 Returns: - 659 The size as an integer value. - 660 """ - 661 if len(maxSize) < 2: - 662 return 0 - 663 units = maxSize[-2:].upper() - 664 bit_shift = _MEDIA_SIZE_BIT_SHIFTS.get(units) - 665 if bit_shift is not None: - 666 return int(maxSize[:-2]) << bit_shift - 667 else: - 668 return int(maxSize) -
669 -
670 - 671 -def _media_path_url_from_info(root_desc, path_url): -
672 """Creates an absolute media path URL. - 673 - 674 Constructed using the API root URI and service path from the discovery - 675 document and the relative path for the API method. - 676 - 677 Args: - 678 root_desc: Dictionary; the entire original deserialized discovery document. - 679 path_url: String; the relative URL for the API method. Relative to the API - 680 root, which is specified in the discovery document. - 681 - 682 Returns: - 683 String; the absolute URI for media upload for the API method. - 684 """ - 685 return "%(root)supload/%(service_path)s%(path)s" % { - 686 "root": root_desc["rootUrl"], - 687 "service_path": root_desc["servicePath"], - 688 "path": path_url, - 689 } -
690 -
691 - 692 -def _fix_up_parameters(method_desc, root_desc, http_method, schema): -
693 """Updates parameters of an API method with values specific to this library. - 694 - 695 Specifically, adds whatever global parameters are specified by the API to the - 696 parameters for the individual method. Also adds parameters which don't - 697 appear in the discovery document, but are available to all discovery based - 698 APIs (these are listed in STACK_QUERY_PARAMETERS). - 699 - 700 SIDE EFFECTS: This updates the parameters dictionary object in the method - 701 description. - 702 - 703 Args: - 704 method_desc: Dictionary with metadata describing an API method. Value comes - 705 from the dictionary of methods stored in the 'methods' key in the - 706 deserialized discovery document. - 707 root_desc: Dictionary; the entire original deserialized discovery document. - 708 http_method: String; the HTTP method used to call the API method described - 709 in method_desc. - 710 schema: Object, mapping of schema names to schema descriptions. - 711 - 712 Returns: - 713 The updated Dictionary stored in the 'parameters' key of the method - 714 description dictionary. - 715 """ - 716 parameters = method_desc.setdefault("parameters", {}) - 717 - 718 # Add in the parameters common to all methods. - 719 for name, description in six.iteritems(root_desc.get("parameters", {})): - 720 parameters[name] = description - 721 - 722 # Add in undocumented query parameters. - 723 for name in STACK_QUERY_PARAMETERS: - 724 parameters[name] = STACK_QUERY_PARAMETER_DEFAULT_VALUE.copy() - 725 - 726 # Add 'body' (our own reserved word) to parameters if the method supports - 727 # a request payload. - 728 if http_method in HTTP_PAYLOAD_METHODS and "request" in method_desc: - 729 body = BODY_PARAMETER_DEFAULT_VALUE.copy() - 730 body.update(method_desc["request"]) - 731 parameters["body"] = body - 732 - 733 return parameters -
734 -
735 - 736 -def _fix_up_media_upload(method_desc, root_desc, path_url, parameters): -
737 """Adds 'media_body' and 'media_mime_type' parameters if supported by method. - 738 - 739 SIDE EFFECTS: If there is a 'mediaUpload' in the method description, adds - 740 'media_upload' key to parameters. - 741 - 742 Args: - 743 method_desc: Dictionary with metadata describing an API method. Value comes - 744 from the dictionary of methods stored in the 'methods' key in the - 745 deserialized discovery document. - 746 root_desc: Dictionary; the entire original deserialized discovery document. - 747 path_url: String; the relative URL for the API method. Relative to the API - 748 root, which is specified in the discovery document. - 749 parameters: A dictionary describing method parameters for method described - 750 in method_desc. - 751 - 752 Returns: - 753 Triple (accept, max_size, media_path_url) where: - 754 - accept is a list of strings representing what content types are - 755 accepted for media upload. Defaults to empty list if not in the - 756 discovery document. - 757 - max_size is a long representing the max size in bytes allowed for a - 758 media upload. Defaults to 0L if not in the discovery document. - 759 - media_path_url is a String; the absolute URI for media upload for the - 760 API method. Constructed using the API root URI and service path from - 761 the discovery document and the relative path for the API method. If - 762 media upload is not supported, this is None. - 763 """ - 764 media_upload = method_desc.get("mediaUpload", {}) - 765 accept = media_upload.get("accept", []) - 766 max_size = _media_size_to_long(media_upload.get("maxSize", "")) - 767 media_path_url = None - 768 - 769 if media_upload: - 770 media_path_url = _media_path_url_from_info(root_desc, path_url) - 771 parameters["media_body"] = MEDIA_BODY_PARAMETER_DEFAULT_VALUE.copy() - 772 parameters["media_mime_type"] = MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE.copy() - 773 - 774 return accept, max_size, media_path_url -
775 -
776 - 777 -def _fix_up_method_description(method_desc, root_desc, schema): -
778 """Updates a method description in a discovery document. - 779 - 780 SIDE EFFECTS: Changes the parameters dictionary in the method description with - 781 extra parameters which are used locally. - 782 - 783 Args: - 784 method_desc: Dictionary with metadata describing an API method. Value comes - 785 from the dictionary of methods stored in the 'methods' key in the - 786 deserialized discovery document. - 787 root_desc: Dictionary; the entire original deserialized discovery document. - 788 schema: Object, mapping of schema names to schema descriptions. - 789 - 790 Returns: - 791 Tuple (path_url, http_method, method_id, accept, max_size, media_path_url) - 792 where: - 793 - path_url is a String; the relative URL for the API method. Relative to - 794 the API root, which is specified in the discovery document. - 795 - http_method is a String; the HTTP method used to call the API method - 796 described in the method description. - 797 - method_id is a String; the name of the RPC method associated with the - 798 API method, and is in the method description in the 'id' key. - 799 - accept is a list of strings representing what content types are - 800 accepted for media upload. Defaults to empty list if not in the - 801 discovery document. - 802 - max_size is a long representing the max size in bytes allowed for a - 803 media upload. Defaults to 0L if not in the discovery document. - 804 - media_path_url is a String; the absolute URI for media upload for the - 805 API method. Constructed using the API root URI and service path from - 806 the discovery document and the relative path for the API method. If - 807 media upload is not supported, this is None. - 808 """ - 809 path_url = method_desc["path"] - 810 http_method = method_desc["httpMethod"] - 811 method_id = method_desc["id"] - 812 - 813 parameters = _fix_up_parameters(method_desc, root_desc, http_method, schema) - 814 # Order is important. `_fix_up_media_upload` needs `method_desc` to have a - 815 # 'parameters' key and needs to know if there is a 'body' parameter because it - 816 # also sets a 'media_body' parameter. - 817 accept, max_size, media_path_url = _fix_up_media_upload( - 818 method_desc, root_desc, path_url, parameters - 819 ) - 820 - 821 return path_url, http_method, method_id, accept, max_size, media_path_url -
822 -
823 - 824 -def _urljoin(base, url): -
825 """Custom urljoin replacement supporting : before / in url.""" - 826 # In general, it's unsafe to simply join base and url. However, for - 827 # the case of discovery documents, we know: - 828 # * base will never contain params, query, or fragment - 829 # * url will never contain a scheme or net_loc. - 830 # In general, this means we can safely join on /; we just need to - 831 # ensure we end up with precisely one / joining base and url. The - 832 # exception here is the case of media uploads, where url will be an - 833 # absolute url. - 834 if url.startswith("http://") or url.startswith("https://"): - 835 return urljoin(base, url) - 836 new_base = base if base.endswith("/") else base + "/" - 837 new_url = url[1:] if url.startswith("/") else url - 838 return new_base + new_url -
839 -
840 - 841 # TODO(dhermes): Convert this class to ResourceMethod and make it callable - 842 -class ResourceMethodParameters(object): -
843 """Represents the parameters associated with a method. - 844 - 845 Attributes: - 846 argmap: Map from method parameter name (string) to query parameter name - 847 (string). - 848 required_params: List of required parameters (represented by parameter - 849 name as string). - 850 repeated_params: List of repeated parameters (represented by parameter - 851 name as string). - 852 pattern_params: Map from method parameter name (string) to regular - 853 expression (as a string). If the pattern is set for a parameter, the - 854 value for that parameter must match the regular expression. - 855 query_params: List of parameters (represented by parameter name as string) - 856 that will be used in the query string. - 857 path_params: Set of parameters (represented by parameter name as string) - 858 that will be used in the base URL path. - 859 param_types: Map from method parameter name (string) to parameter type. Type - 860 can be any valid JSON schema type; valid values are 'any', 'array', - 861 'boolean', 'integer', 'number', 'object', or 'string'. Reference: - 862 http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1 - 863 enum_params: Map from method parameter name (string) to list of strings, - 864 where each list of strings is the list of acceptable enum values. - 865 """ - 866 -
867 - def __init__(self, method_desc): -
868 """Constructor for ResourceMethodParameters. - 869 - 870 Sets default values and defers to set_parameters to populate. - 871 - 872 Args: - 873 method_desc: Dictionary with metadata describing an API method. Value - 874 comes from the dictionary of methods stored in the 'methods' key in - 875 the deserialized discovery document. - 876 """ - 877 self.argmap = {} - 878 self.required_params = [] - 879 self.repeated_params = [] - 880 self.pattern_params = {} - 881 self.query_params = [] - 882 # TODO(dhermes): Change path_params to a list if the extra URITEMPLATE - 883 # parsing is gotten rid of. - 884 self.path_params = set() - 885 self.param_types = {} - 886 self.enum_params = {} - 887 - 888 self.set_parameters(method_desc) -
889 -
890 - def set_parameters(self, method_desc): -
891 """Populates maps and lists based on method description. - 892 - 893 Iterates through each parameter for the method and parses the values from - 894 the parameter dictionary. - 895 - 896 Args: - 897 method_desc: Dictionary with metadata describing an API method. Value - 898 comes from the dictionary of methods stored in the 'methods' key in - 899 the deserialized discovery document. - 900 """ - 901 for arg, desc in six.iteritems(method_desc.get("parameters", {})): - 902 param = key2param(arg) - 903 self.argmap[param] = arg - 904 - 905 if desc.get("pattern"): - 906 self.pattern_params[param] = desc["pattern"] - 907 if desc.get("enum"): - 908 self.enum_params[param] = desc["enum"] - 909 if desc.get("required"): - 910 self.required_params.append(param) - 911 if desc.get("repeated"): - 912 self.repeated_params.append(param) - 913 if desc.get("location") == "query": - 914 self.query_params.append(param) - 915 if desc.get("location") == "path": - 916 self.path_params.add(param) - 917 self.param_types[param] = desc.get("type", "string") - 918 - 919 # TODO(dhermes): Determine if this is still necessary. Discovery based APIs - 920 # should have all path parameters already marked with - 921 # 'location: path'. - 922 for match in URITEMPLATE.finditer(method_desc["path"]): - 923 for namematch in VARNAME.finditer(match.group(0)): - 924 name = key2param(namematch.group(0)) - 925 self.path_params.add(name) - 926 if name in self.query_params: - 927 self.query_params.remove(name) -
928 -
929 - 930 -def createMethod(methodName, methodDesc, rootDesc, schema): -
931 """Creates a method for attaching to a Resource. - 932 - 933 Args: - 934 methodName: string, name of the method to use. - 935 methodDesc: object, fragment of deserialized discovery document that - 936 describes the method. - 937 rootDesc: object, the entire deserialized discovery document. - 938 schema: object, mapping of schema names to schema descriptions. - 939 """ - 940 methodName = fix_method_name(methodName) - 941 ( - 942 pathUrl, - 943 httpMethod, - 944 methodId, - 945 accept, - 946 maxSize, - 947 mediaPathUrl, - 948 ) = _fix_up_method_description(methodDesc, rootDesc, schema) - 949 - 950 parameters = ResourceMethodParameters(methodDesc) - 951 - 952 def method(self, **kwargs): - 953 # Don't bother with doc string, it will be over-written by createMethod. - 954 - 955 for name in six.iterkeys(kwargs): - 956 if name not in parameters.argmap: - 957 raise TypeError('Got an unexpected keyword argument "%s"' % name) - 958 - 959 # Remove args that have a value of None. - 960 keys = list(kwargs.keys()) - 961 for name in keys: - 962 if kwargs[name] is None: - 963 del kwargs[name] - 964 - 965 for name in parameters.required_params: - 966 if name not in kwargs: - 967 # temporary workaround for non-paging methods incorrectly requiring - 968 # page token parameter (cf. drive.changes.watch vs. drive.changes.list) - 969 if name not in _PAGE_TOKEN_NAMES or _findPageTokenName( - 970 _methodProperties(methodDesc, schema, "response") - 971 ): - 972 raise TypeError('Missing required parameter "%s"' % name) - 973 - 974 for name, regex in six.iteritems(parameters.pattern_params): - 975 if name in kwargs: - 976 if isinstance(kwargs[name], six.string_types): - 977 pvalues = [kwargs[name]] - 978 else: - 979 pvalues = kwargs[name] - 980 for pvalue in pvalues: - 981 if re.match(regex, pvalue) is None: - 982 raise TypeError( - 983 'Parameter "%s" value "%s" does not match the pattern "%s"' - 984 % (name, pvalue, regex) - 985 ) - 986 - 987 for name, enums in six.iteritems(parameters.enum_params): - 988 if name in kwargs: - 989 # We need to handle the case of a repeated enum - 990 # name differently, since we want to handle both - 991 # arg='value' and arg=['value1', 'value2'] - 992 if name in parameters.repeated_params and not isinstance( - 993 kwargs[name], six.string_types - 994 ): - 995 values = kwargs[name] - 996 else: - 997 values = [kwargs[name]] - 998 for value in values: - 999 if value not in enums: -1000 raise TypeError( -1001 'Parameter "%s" value "%s" is not an allowed value in "%s"' -1002 % (name, value, str(enums)) -1003 ) -1004 -1005 actual_query_params = {} -1006 actual_path_params = {} -1007 for key, value in six.iteritems(kwargs): -1008 to_type = parameters.param_types.get(key, "string") -1009 # For repeated parameters we cast each member of the list. -1010 if key in parameters.repeated_params and type(value) == type([]): -1011 cast_value = [_cast(x, to_type) for x in value] -1012 else: -1013 cast_value = _cast(value, to_type) -1014 if key in parameters.query_params: -1015 actual_query_params[parameters.argmap[key]] = cast_value -1016 if key in parameters.path_params: -1017 actual_path_params[parameters.argmap[key]] = cast_value -1018 body_value = kwargs.get("body", None) -1019 media_filename = kwargs.get("media_body", None) -1020 media_mime_type = kwargs.get("media_mime_type", None) -1021 -1022 if self._developerKey: -1023 actual_query_params["key"] = self._developerKey -1024 -1025 model = self._model -1026 if methodName.endswith("_media"): -1027 model = MediaModel() -1028 elif "response" not in methodDesc: -1029 model = RawModel() -1030 -1031 headers = {} -1032 headers, params, query, body = model.request( -1033 headers, actual_path_params, actual_query_params, body_value -1034 ) -1035 -1036 expanded_url = uritemplate.expand(pathUrl, params) -1037 url = _urljoin(self._baseUrl, expanded_url + query) -1038 -1039 resumable = None -1040 multipart_boundary = "" -1041 -1042 if media_filename: -1043 # Ensure we end up with a valid MediaUpload object. -1044 if isinstance(media_filename, six.string_types): -1045 if media_mime_type is None: -1046 logger.warning( -1047 "media_mime_type argument not specified: trying to auto-detect for %s", -1048 media_filename, -1049 ) -1050 media_mime_type, _ = mimetypes.guess_type(media_filename) -1051 if media_mime_type is None: -1052 raise UnknownFileType(media_filename) -1053 if not mimeparse.best_match([media_mime_type], ",".join(accept)): -1054 raise UnacceptableMimeTypeError(media_mime_type) -1055 media_upload = MediaFileUpload(media_filename, mimetype=media_mime_type) -1056 elif isinstance(media_filename, MediaUpload): -1057 media_upload = media_filename -1058 else: -1059 raise TypeError("media_filename must be str or MediaUpload.") -1060 -1061 # Check the maxSize -1062 if media_upload.size() is not None and media_upload.size() > maxSize > 0: -1063 raise MediaUploadSizeError("Media larger than: %s" % maxSize) -1064 -1065 # Use the media path uri for media uploads -1066 expanded_url = uritemplate.expand(mediaPathUrl, params) -1067 url = _urljoin(self._baseUrl, expanded_url + query) -1068 if media_upload.resumable(): -1069 url = _add_query_parameter(url, "uploadType", "resumable") -1070 -1071 if media_upload.resumable(): -1072 # This is all we need to do for resumable, if the body exists it gets -1073 # sent in the first request, otherwise an empty body is sent. -1074 resumable = media_upload -1075 else: -1076 # A non-resumable upload -1077 if body is None: -1078 # This is a simple media upload -1079 headers["content-type"] = media_upload.mimetype() -1080 body = media_upload.getbytes(0, media_upload.size()) -1081 url = _add_query_parameter(url, "uploadType", "media") -1082 else: -1083 # This is a multipart/related upload. -1084 msgRoot = MIMEMultipart("related") -1085 # msgRoot should not write out it's own headers -1086 setattr(msgRoot, "_write_headers", lambda self: None) -1087 -1088 # attach the body as one part -1089 msg = MIMENonMultipart(*headers["content-type"].split("/")) -1090 msg.set_payload(body) -1091 msgRoot.attach(msg) -1092 -1093 # attach the media as the second part -1094 msg = MIMENonMultipart(*media_upload.mimetype().split("/")) -1095 msg["Content-Transfer-Encoding"] = "binary" -1096 -1097 payload = media_upload.getbytes(0, media_upload.size()) -1098 msg.set_payload(payload) -1099 msgRoot.attach(msg) -1100 # encode the body: note that we can't use `as_string`, because -1101 # it plays games with `From ` lines. -1102 fp = BytesIO() -1103 g = _BytesGenerator(fp, mangle_from_=False) -1104 g.flatten(msgRoot, unixfrom=False) -1105 body = fp.getvalue() -1106 -1107 multipart_boundary = msgRoot.get_boundary() -1108 headers["content-type"] = ( -1109 "multipart/related; " 'boundary="%s"' -1110 ) % multipart_boundary -1111 url = _add_query_parameter(url, "uploadType", "multipart") -1112 -1113 logger.debug("URL being requested: %s %s" % (httpMethod, url)) -1114 return self._requestBuilder( -1115 self._http, -1116 model.response, -1117 url, -1118 method=httpMethod, -1119 body=body, -1120 headers=headers, -1121 methodId=methodId, -1122 resumable=resumable, -1123 ) -
1124 -1125 docs = [methodDesc.get("description", DEFAULT_METHOD_DOC), "\n\n"] -1126 if len(parameters.argmap) > 0: -1127 docs.append("Args:\n") -1128 -1129 # Skip undocumented params and params common to all methods. -1130 skip_parameters = list(rootDesc.get("parameters", {}).keys()) -1131 skip_parameters.extend(STACK_QUERY_PARAMETERS) -1132 -1133 all_args = list(parameters.argmap.keys()) -1134 args_ordered = [key2param(s) for s in methodDesc.get("parameterOrder", [])] -1135 -1136 # Move body to the front of the line. -1137 if "body" in all_args: -1138 args_ordered.append("body") -1139 -1140 for name in all_args: -1141 if name not in args_ordered: -1142 args_ordered.append(name) -1143 -1144 for arg in args_ordered: -1145 if arg in skip_parameters: -1146 continue -1147 -1148 repeated = "" -1149 if arg in parameters.repeated_params: -1150 repeated = " (repeated)" -1151 required = "" -1152 if arg in parameters.required_params: -1153 required = " (required)" -1154 paramdesc = methodDesc["parameters"][parameters.argmap[arg]] -1155 paramdoc = paramdesc.get("description", "A parameter") -1156 if "$ref" in paramdesc: -1157 docs.append( -1158 (" %s: object, %s%s%s\n The object takes the" " form of:\n\n%s\n\n") -1159 % ( -1160 arg, -1161 paramdoc, -1162 required, -1163 repeated, -1164 schema.prettyPrintByName(paramdesc["$ref"]), -1165 ) -1166 ) -1167 else: -1168 paramtype = paramdesc.get("type", "string") -1169 docs.append( -1170 " %s: %s, %s%s%s\n" % (arg, paramtype, paramdoc, required, repeated) -1171 ) -1172 enum = paramdesc.get("enum", []) -1173 enumDesc = paramdesc.get("enumDescriptions", []) -1174 if enum and enumDesc: -1175 docs.append(" Allowed values\n") -1176 for (name, desc) in zip(enum, enumDesc): -1177 docs.append(" %s - %s\n" % (name, desc)) -1178 if "response" in methodDesc: -1179 if methodName.endswith("_media"): -1180 docs.append("\nReturns:\n The media object as a string.\n\n ") -1181 else: -1182 docs.append("\nReturns:\n An object of the form:\n\n ") -1183 docs.append(schema.prettyPrintSchema(methodDesc["response"])) -1184 -1185 setattr(method, "__doc__", "".join(docs)) -1186 return (methodName, method) -1187 -
1188 -1189 -def createNextMethod( -1190 methodName, -1191 pageTokenName="pageToken", -1192 nextPageTokenName="nextPageToken", -1193 isPageTokenParameter=True, -1194 ): -
1195 """Creates any _next methods for attaching to a Resource. -1196 -1197 The _next methods allow for easy iteration through list() responses. -1198 -1199 Args: -1200 methodName: string, name of the method to use. -1201 pageTokenName: string, name of request page token field. -1202 nextPageTokenName: string, name of response page token field. -1203 isPageTokenParameter: Boolean, True if request page token is a query -1204 parameter, False if request page token is a field of the request body. -1205 """ -1206 methodName = fix_method_name(methodName) -1207 -1208 def methodNext(self, previous_request, previous_response): -1209 """Retrieves the next page of results. -1210 -1211 Args: -1212 previous_request: The request for the previous page. (required) -1213 previous_response: The response from the request for the previous page. (required) -1214 -1215 Returns: -1216 A request object that you can call 'execute()' on to request the next -1217 page. Returns None if there are no more items in the collection. -1218 """ -1219 # Retrieve nextPageToken from previous_response -1220 # Use as pageToken in previous_request to create new request. -1221 -1222 nextPageToken = previous_response.get(nextPageTokenName, None) -1223 if not nextPageToken: -1224 return None -1225 -1226 request = copy.copy(previous_request) -1227 -1228 if isPageTokenParameter: -1229 # Replace pageToken value in URI -1230 request.uri = _add_query_parameter( -1231 request.uri, pageTokenName, nextPageToken -1232 ) -1233 logger.debug("Next page request URL: %s %s" % (methodName, request.uri)) -1234 else: -1235 # Replace pageToken value in request body -1236 model = self._model -1237 body = model.deserialize(request.body) -1238 body[pageTokenName] = nextPageToken -1239 request.body = model.serialize(body) -1240 logger.debug("Next page request body: %s %s" % (methodName, body)) -1241 -1242 return request -
1243 -1244 return (methodName, methodNext) -1245 -
1246 -1247 -class Resource(object): -
1248 """A class for interacting with a resource.""" -1249 -
1250 - def __init__( -1251 self, -1252 http, -1253 baseUrl, -1254 model, -1255 requestBuilder, -1256 developerKey, -1257 resourceDesc, -1258 rootDesc, -1259 schema, -1260 ): -
1261 """Build a Resource from the API description. -1262 -1263 Args: -1264 http: httplib2.Http, Object to make http requests with. -1265 baseUrl: string, base URL for the API. All requests are relative to this -1266 URI. -1267 model: googleapiclient.Model, converts to and from the wire format. -1268 requestBuilder: class or callable that instantiates an -1269 googleapiclient.HttpRequest object. -1270 developerKey: string, key obtained from -1271 https://code.google.com/apis/console -1272 resourceDesc: object, section of deserialized discovery document that -1273 describes a resource. Note that the top level discovery document -1274 is considered a resource. -1275 rootDesc: object, the entire deserialized discovery document. -1276 schema: object, mapping of schema names to schema descriptions. -1277 """ -1278 self._dynamic_attrs = [] -1279 -1280 self._http = http -1281 self._baseUrl = baseUrl -1282 self._model = model -1283 self._developerKey = developerKey -1284 self._requestBuilder = requestBuilder -1285 self._resourceDesc = resourceDesc -1286 self._rootDesc = rootDesc -1287 self._schema = schema -1288 -1289 self._set_service_methods() -
1290 -
1291 - def _set_dynamic_attr(self, attr_name, value): -
1292 """Sets an instance attribute and tracks it in a list of dynamic attributes. -1293 -1294 Args: -1295 attr_name: string; The name of the attribute to be set -1296 value: The value being set on the object and tracked in the dynamic cache. -1297 """ -1298 self._dynamic_attrs.append(attr_name) -1299 self.__dict__[attr_name] = value -
1300 -
1301 - def __getstate__(self): -
1302 """Trim the state down to something that can be pickled. -1303 -1304 Uses the fact that the instance variable _dynamic_attrs holds attrs that -1305 will be wiped and restored on pickle serialization. -1306 """ -1307 state_dict = copy.copy(self.__dict__) -1308 for dynamic_attr in self._dynamic_attrs: -1309 del state_dict[dynamic_attr] -1310 del state_dict["_dynamic_attrs"] -1311 return state_dict -
1312 -
1313 - def __setstate__(self, state): -
1314 """Reconstitute the state of the object from being pickled. -1315 -1316 Uses the fact that the instance variable _dynamic_attrs holds attrs that -1317 will be wiped and restored on pickle serialization. -1318 """ -1319 self.__dict__.update(state) -1320 self._dynamic_attrs = [] -1321 self._set_service_methods() -
1322 -1323 -
1324 - def __enter__(self): -
1325 return self -
1326 -
1327 - def __exit__(self, exc_type, exc, exc_tb): -
1328 self.close() -
1329 -
1330 - def close(self): -
1331 """Close httplib2 connections.""" -1332 # httplib2 leaves sockets open by default. -1333 # Cleanup using the `close` method. -1334 # https://github.com/httplib2/httplib2/issues/148 -1335 self._http.http.close() -
1336 -
1337 - def _set_service_methods(self): -
1338 self._add_basic_methods(self._resourceDesc, self._rootDesc, self._schema) -1339 self._add_nested_resources(self._resourceDesc, self._rootDesc, self._schema) -1340 self._add_next_methods(self._resourceDesc, self._schema) -
1341 -
1342 - def _add_basic_methods(self, resourceDesc, rootDesc, schema): -
1343 # If this is the root Resource, add a new_batch_http_request() method. -1344 if resourceDesc == rootDesc: -1345 batch_uri = "%s%s" % ( -1346 rootDesc["rootUrl"], -1347 rootDesc.get("batchPath", "batch"), -1348 ) -1349 -1350 def new_batch_http_request(callback=None): -1351 """Create a BatchHttpRequest object based on the discovery document. -1352 -1353 Args: -1354 callback: callable, A callback to be called for each response, of the -1355 form callback(id, response, exception). The first parameter is the -1356 request id, and the second is the deserialized response object. The -1357 third is an apiclient.errors.HttpError exception object if an HTTP -1358 error occurred while processing the request, or None if no error -1359 occurred. -1360 -1361 Returns: -1362 A BatchHttpRequest object based on the discovery document. -1363 """ -1364 return BatchHttpRequest(callback=callback, batch_uri=batch_uri) -
1365 -1366 self._set_dynamic_attr("new_batch_http_request", new_batch_http_request) -1367 -1368 # Add basic methods to Resource -1369 if "methods" in resourceDesc: -1370 for methodName, methodDesc in six.iteritems(resourceDesc["methods"]): -1371 fixedMethodName, method = createMethod( -1372 methodName, methodDesc, rootDesc, schema -1373 ) -1374 self._set_dynamic_attr( -1375 fixedMethodName, method.__get__(self, self.__class__) -1376 ) -1377 # Add in _media methods. The functionality of the attached method will -1378 # change when it sees that the method name ends in _media. -1379 if methodDesc.get("supportsMediaDownload", False): -1380 fixedMethodName, method = createMethod( -1381 methodName + "_media", methodDesc, rootDesc, schema -1382 ) -1383 self._set_dynamic_attr( -1384 fixedMethodName, method.__get__(self, self.__class__) -1385 ) -
1386 -
1387 - def _add_nested_resources(self, resourceDesc, rootDesc, schema): -
1388 # Add in nested resources -1389 if "resources" in resourceDesc: -1390 -1391 def createResourceMethod(methodName, methodDesc): -1392 """Create a method on the Resource to access a nested Resource. -1393 -1394 Args: -1395 methodName: string, name of the method to use. -1396 methodDesc: object, fragment of deserialized discovery document that -1397 describes the method. -1398 """ -1399 methodName = fix_method_name(methodName) -1400 -1401 def methodResource(self): -1402 return Resource( -1403 http=self._http, -1404 baseUrl=self._baseUrl, -1405 model=self._model, -1406 developerKey=self._developerKey, -1407 requestBuilder=self._requestBuilder, -1408 resourceDesc=methodDesc, -1409 rootDesc=rootDesc, -1410 schema=schema, -1411 ) -
1412 -1413 setattr(methodResource, "__doc__", "A collection resource.") -1414 setattr(methodResource, "__is_resource__", True) -1415 -1416 return (methodName, methodResource) -1417 -1418 for methodName, methodDesc in six.iteritems(resourceDesc["resources"]): -1419 fixedMethodName, method = createResourceMethod(methodName, methodDesc) -1420 self._set_dynamic_attr( -1421 fixedMethodName, method.__get__(self, self.__class__) -1422 ) -1423 -
1424 - def _add_next_methods(self, resourceDesc, schema): -
1425 # Add _next() methods if and only if one of the names 'pageToken' or -1426 # 'nextPageToken' occurs among the fields of both the method's response -1427 # type either the method's request (query parameters) or request body. -1428 if "methods" not in resourceDesc: -1429 return -1430 for methodName, methodDesc in six.iteritems(resourceDesc["methods"]): -1431 nextPageTokenName = _findPageTokenName( -1432 _methodProperties(methodDesc, schema, "response") -1433 ) -1434 if not nextPageTokenName: -1435 continue -1436 isPageTokenParameter = True -1437 pageTokenName = _findPageTokenName(methodDesc.get("parameters", {})) -1438 if not pageTokenName: -1439 isPageTokenParameter = False -1440 pageTokenName = _findPageTokenName( -1441 _methodProperties(methodDesc, schema, "request") -1442 ) -1443 if not pageTokenName: -1444 continue -1445 fixedMethodName, method = createNextMethod( -1446 methodName + "_next", -1447 pageTokenName, -1448 nextPageTokenName, -1449 isPageTokenParameter, -1450 ) -1451 self._set_dynamic_attr( -1452 fixedMethodName, method.__get__(self, self.__class__) -1453 ) -
1454 -
1455 -1456 -def _findPageTokenName(fields): -
1457 """Search field names for one like a page token. -1458 -1459 Args: -1460 fields: container of string, names of fields. -1461 -1462 Returns: -1463 First name that is either 'pageToken' or 'nextPageToken' if one exists, -1464 otherwise None. -1465 """ -1466 return next( -1467 (tokenName for tokenName in _PAGE_TOKEN_NAMES if tokenName in fields), None -1468 ) -
1469 -
1470 -1471 -def _methodProperties(methodDesc, schema, name): -
1472 """Get properties of a field in a method description. -1473 -1474 Args: -1475 methodDesc: object, fragment of deserialized discovery document that -1476 describes the method. -1477 schema: object, mapping of schema names to schema descriptions. -1478 name: string, name of top-level field in method description. -1479 -1480 Returns: -1481 Object representing fragment of deserialized discovery document -1482 corresponding to 'properties' field of object corresponding to named field -1483 in method description, if it exists, otherwise empty dict. -1484 """ -1485 desc = methodDesc.get(name, {}) -1486 if "$ref" in desc: -1487 desc = schema.get(desc["$ref"], {}) -1488 return desc.get("properties", {}) -
1489 -
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.discovery.Resource-class.html b/docs/epy/googleapiclient.discovery.Resource-class.html deleted file mode 100644 index 95f9f2120c8..00000000000 --- a/docs/epy/googleapiclient.discovery.Resource-class.html +++ /dev/null @@ -1,517 +0,0 @@ - - - - - googleapiclient.discovery.Resource - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module discovery :: - Class Resource - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class Resource

source code

-
-object --+
-         |
-        Resource
-
- -
-

A class for interacting with a resource.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
__init__(self, - http, - baseUrl, - model, - requestBuilder, - developerKey, - resourceDesc, - rootDesc, - schema)
- Build a Resource from the API description.
- source code - -
- -
-   - - - - - - -
_set_dynamic_attr(self, - attr_name, - value)
- Sets an instance attribute and tracks it in a list of dynamic attributes.
- source code - -
- -
-   - - - - - - -
__getstate__(self)
- Trim the state down to something that can be pickled.
- source code - -
- -
-   - - - - - - -
__setstate__(self, - state)
- Reconstitute the state of the object from being pickled.
- source code - -
- -
-   - - - - - - -
__enter__(self) - source code - -
- -
-   - - - - - - -
__exit__(self, - exc_type, - exc, - exc_tb) - source code - -
- -
-   - - - - - - -
close(self)
- Close httplib2 connections.
- source code - -
- -
-   - - - - - - -
_set_service_methods(self) - source code - -
- -
-   - - - - - - -
_add_basic_methods(self, - resourceDesc, - rootDesc, - schema) - source code - -
- -
-   - - - - - - -
_add_nested_resources(self, - resourceDesc, - rootDesc, - schema) - source code - -
- -
-   - - - - - - -
_add_next_methods(self, - resourceDesc, - schema) - source code - -
- -
-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

__init__(self, - http, - baseUrl, - model, - requestBuilder, - developerKey, - resourceDesc, - rootDesc, - schema) -
(Constructor) -

-
source code  -
- -
-Build a Resource from the API description.
-
-Args:
-  http: httplib2.Http, Object to make http requests with.
-  baseUrl: string, base URL for the API. All requests are relative to this
-      URI.
-  model: googleapiclient.Model, converts to and from the wire format.
-  requestBuilder: class or callable that instantiates an
-      googleapiclient.HttpRequest object.
-  developerKey: string, key obtained from
-      https://code.google.com/apis/console
-  resourceDesc: object, section of deserialized discovery document that
-      describes a resource. Note that the top level discovery document
-      is considered a resource.
-  rootDesc: object, the entire deserialized discovery document.
-  schema: object, mapping of schema names to schema descriptions.
-
-
-
-
Overrides: - object.__init__ -
-
-
-
- -
- -
- - -
-

_set_dynamic_attr(self, - attr_name, - value) -

-
source code  -
- -
-Sets an instance attribute and tracks it in a list of dynamic attributes.
-
-Args:
-  attr_name: string; The name of the attribute to be set
-  value: The value being set on the object and tracked in the dynamic cache.
-
-
-
-
-
-
- -
- -
- - -
-

__getstate__(self) -

-
source code  -
- -

Trim the state down to something that can be pickled.

-

Uses the fact that the instance variable _dynamic_attrs holds attrs - that will be wiped and restored on pickle serialization.

-
-
-
-
- -
- -
- - -
-

__setstate__(self, - state) -

-
source code  -
- -

Reconstitute the state of the object from being pickled.

-

Uses the fact that the instance variable _dynamic_attrs holds attrs - that will be wiped and restored on pickle serialization.

-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.discovery.ResourceMethodParameters-class.html b/docs/epy/googleapiclient.discovery.ResourceMethodParameters-class.html deleted file mode 100644 index c9955b71b78..00000000000 --- a/docs/epy/googleapiclient.discovery.ResourceMethodParameters-class.html +++ /dev/null @@ -1,319 +0,0 @@ - - - - - googleapiclient.discovery.ResourceMethodParameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module discovery :: - Class ResourceMethodParameters - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class ResourceMethodParameters

source code

-
-object --+
-         |
-        ResourceMethodParameters
-
- -
-
-Represents the parameters associated with a method.
-
-Attributes:
-  argmap: Map from method parameter name (string) to query parameter name
-      (string).
-  required_params: List of required parameters (represented by parameter
-      name as string).
-  repeated_params: List of repeated parameters (represented by parameter
-      name as string).
-  pattern_params: Map from method parameter name (string) to regular
-      expression (as a string). If the pattern is set for a parameter, the
-      value for that parameter must match the regular expression.
-  query_params: List of parameters (represented by parameter name as string)
-      that will be used in the query string.
-  path_params: Set of parameters (represented by parameter name as string)
-      that will be used in the base URL path.
-  param_types: Map from method parameter name (string) to parameter type. Type
-      can be any valid JSON schema type; valid values are 'any', 'array',
-      'boolean', 'integer', 'number', 'object', or 'string'. Reference:
-      http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1
-  enum_params: Map from method parameter name (string) to list of strings,
-     where each list of strings is the list of acceptable enum values.
-
-
- - - - - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
__init__(self, - method_desc)
- Constructor for ResourceMethodParameters.
- source code - -
- -
-   - - - - - - -
set_parameters(self, - method_desc)
- Populates maps and lists based on method description.
- source code - -
- -
-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

__init__(self, - method_desc) -
(Constructor) -

-
source code  -
- -
-Constructor for ResourceMethodParameters.
-
-Sets default values and defers to set_parameters to populate.
-
-Args:
-  method_desc: Dictionary with metadata describing an API method. Value
-      comes from the dictionary of methods stored in the 'methods' key in
-      the deserialized discovery document.
-
-
-
-
Overrides: - object.__init__ -
-
-
-
- -
- -
- - -
-

set_parameters(self, - method_desc) -

-
source code  -
- -
-Populates maps and lists based on method description.
-
-Iterates through each parameter for the method and parses the values from
-the parameter dictionary.
-
-Args:
-  method_desc: Dictionary with metadata describing an API method. Value
-      comes from the dictionary of methods stored in the 'methods' key in
-      the deserialized discovery document.
-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.discovery._BytesGenerator-class.html b/docs/epy/googleapiclient.discovery._BytesGenerator-class.html deleted file mode 100644 index 3c6a1e9fdfb..00000000000 --- a/docs/epy/googleapiclient.discovery._BytesGenerator-class.html +++ /dev/null @@ -1,137 +0,0 @@ - - - - - googleapiclient.discovery._BytesGenerator - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module discovery :: - Class _BytesGenerator - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class _BytesGenerator

source code

-
-email.generator.Generator --+
-                            |
-                           _BytesGenerator
-
- -
- - - - - - - - - -
- - - - - -
Class Variables[hide private]
-
-   - - _write_lines = BytesGenerator.write -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.discovery_cache-module.html b/docs/epy/googleapiclient.discovery_cache-module.html deleted file mode 100644 index 4b9b3462e84..00000000000 --- a/docs/epy/googleapiclient.discovery_cache-module.html +++ /dev/null @@ -1,251 +0,0 @@ - - - - - googleapiclient.discovery_cache - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Package discovery_cache - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Package discovery_cache

source code

-

Caching utility for the discovery document.

- - - - - - - - -
- - - - - -
Submodules[hide private]
-
-
- -
- - - - - - - - - -
- - - - - -
Functions[hide private]
-
-   - - - - - - -
autodetect()
- Detects an appropriate cache module and returns it.
- source code - -
- -
- - - - - - - - - - - - - - - -
- - - - - -
Variables[hide private]
-
-   - - LOGGER = logging.getLogger(__name__) -
-   - - DISCOVERY_DOC_MAX_AGE = 86400 -
-   - - __package__ = None -
- - - - - - -
- - - - - -
Function Details[hide private]
-
- -
- -
- - -
-

autodetect() -

-
source code  -
- -
-Detects an appropriate cache module and returns it.
-
-Returns:
-  googleapiclient.discovery_cache.base.Cache, a cache object which
-  is auto detected, or None if no cache object is available.
-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.discovery_cache-pysrc.html b/docs/epy/googleapiclient.discovery_cache-pysrc.html deleted file mode 100644 index 361cc180588..00000000000 --- a/docs/epy/googleapiclient.discovery_cache-pysrc.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - - googleapiclient.discovery_cache - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Package discovery_cache - - - - - - -
[hide private]
[frames] | no frames]
-
-

Source Code for Package googleapiclient.discovery_cache

-
- 1  # Copyright 2014 Google Inc. All Rights Reserved. 
- 2  # 
- 3  # Licensed under the Apache License, Version 2.0 (the "License"); 
- 4  # you may not use this file except in compliance with the License. 
- 5  # You may obtain a copy of the License at 
- 6  # 
- 7  #      http://www.apache.org/licenses/LICENSE-2.0 
- 8  # 
- 9  # Unless required by applicable law or agreed to in writing, software 
-10  # distributed under the License is distributed on an "AS IS" BASIS, 
-11  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-12  # See the License for the specific language governing permissions and 
-13  # limitations under the License. 
-14   
-15  """Caching utility for the discovery document.""" 
-16   
-17  from __future__ import absolute_import 
-18   
-19  import logging 
-20  import datetime 
-21  import os 
-22   
-23  LOGGER = logging.getLogger(__name__) 
-24   
-25  DISCOVERY_DOC_MAX_AGE = 60 * 60 * 24  # 1 day 
-26   
-27   
-
28 -def autodetect(): -
29 """Detects an appropriate cache module and returns it. -30 -31 Returns: -32 googleapiclient.discovery_cache.base.Cache, a cache object which -33 is auto detected, or None if no cache object is available. -34 """ -35 if 'APPENGINE_RUNTIME' in os.environ: -36 try: -37 from google.appengine.api import memcache -38 from . import appengine_memcache -39 -40 return appengine_memcache.cache -41 except Exception: -42 pass -43 try: -44 from . import file_cache -45 -46 return file_cache.cache -47 except Exception as e: -48 LOGGER.warning(e, exc_info=True) -49 return None -
50 -
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.discovery_cache.appengine_memcache-module.html b/docs/epy/googleapiclient.discovery_cache.appengine_memcache-module.html deleted file mode 100644 index 39b24ca20f0..00000000000 --- a/docs/epy/googleapiclient.discovery_cache.appengine_memcache-module.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - googleapiclient.discovery_cache.appengine_memcache - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Package discovery_cache :: - Module appengine_memcache - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Module appengine_memcache

source code

-

App Engine memcache based cache for the discovery document.

- - - - - - - - - - -
- - - - - -
Classes[hide private]
-
-   - - Cache
- A cache with app engine memcache API. -
- - - - - - - - - - - - - - - -
- - - - - -
Variables[hide private]
-
-   - - LOGGER = logging.getLogger(__name__) -
-   - - NAMESPACE = "google-api-client" -
-   - - cache = Cache(max_age= DISCOVERY_DOC_MAX_AGE) -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.discovery_cache.appengine_memcache-pysrc.html b/docs/epy/googleapiclient.discovery_cache.appengine_memcache-pysrc.html deleted file mode 100644 index bb284303f59..00000000000 --- a/docs/epy/googleapiclient.discovery_cache.appengine_memcache-pysrc.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - - googleapiclient.discovery_cache.appengine_memcache - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Package discovery_cache :: - Module appengine_memcache - - - - - - -
[hide private]
[frames] | no frames]
-
-

Source Code for Module googleapiclient.discovery_cache.appengine_memcache

-
- 1  # Copyright 2014 Google Inc. All Rights Reserved. 
- 2  # 
- 3  # Licensed under the Apache License, Version 2.0 (the "License"); 
- 4  # you may not use this file except in compliance with the License. 
- 5  # You may obtain a copy of the License at 
- 6  # 
- 7  #      http://www.apache.org/licenses/LICENSE-2.0 
- 8  # 
- 9  # Unless required by applicable law or agreed to in writing, software 
-10  # distributed under the License is distributed on an "AS IS" BASIS, 
-11  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-12  # See the License for the specific language governing permissions and 
-13  # limitations under the License. 
-14   
-15  """App Engine memcache based cache for the discovery document.""" 
-16   
-17  import logging 
-18   
-19  # This is only an optional dependency because we only import this 
-20  # module when google.appengine.api.memcache is available. 
-21  from google.appengine.api import memcache 
-22   
-23  from . import base 
-24  from ..discovery_cache import DISCOVERY_DOC_MAX_AGE 
-25   
-26   
-27  LOGGER = logging.getLogger(__name__) 
-28   
-29  NAMESPACE = "google-api-client" 
-30   
-31   
-
32 -class Cache(base.Cache): -
33 """A cache with app engine memcache API.""" -34 -
35 - def __init__(self, max_age): -
36 """Constructor. -37 -38 Args: -39 max_age: Cache expiration in seconds. -40 """ -41 self._max_age = max_age -
42 -
43 - def get(self, url): -
44 try: -45 return memcache.get(url, namespace=NAMESPACE) -46 except Exception as e: -47 LOGGER.warning(e, exc_info=True) -
48 -
49 - def set(self, url, content): -
50 try: -51 memcache.set(url, content, time=int(self._max_age), namespace=NAMESPACE) -52 except Exception as e: -53 LOGGER.warning(e, exc_info=True) -
54 -55 -56 cache = Cache(max_age=DISCOVERY_DOC_MAX_AGE) -57 -
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.discovery_cache.appengine_memcache.Cache-class.html b/docs/epy/googleapiclient.discovery_cache.appengine_memcache.Cache-class.html deleted file mode 100644 index 625c4ee1a9b..00000000000 --- a/docs/epy/googleapiclient.discovery_cache.appengine_memcache.Cache-class.html +++ /dev/null @@ -1,404 +0,0 @@ - - - - - googleapiclient.discovery_cache.appengine_memcache.Cache - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Package discovery_cache :: - Module appengine_memcache :: - Class Cache - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class Cache

source code

-
-object --+    
-         |    
-base.Cache --+
-             |
-            Cache
-
- -
-

A cache with app engine memcache API.

- - - - - - - - - - -
- - - - - -
Nested Classes[hide private]
-
-

Inherited from base.Cache: - __metaclass__ -

-
- - - - - - - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
__init__(self, - max_age)
- Constructor.
- source code - -
- -
-   - - - - - - -
get(self, - url)
- Gets the content from the memcache with a given key.
- source code - -
- -
-   - - - - - - -
set(self, - url, - content)
- Sets the given key and content in the cache.
- source code - -
- -
-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Class Variables[hide private]
-
-

Inherited from base.Cache: - __abstractmethods__ -

- -
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

__init__(self, - max_age) -
(Constructor) -

-
source code  -
- -
-Constructor.
-
-Args:
-  max_age: Cache expiration in seconds.
-
-
-
-
Overrides: - object.__init__ -
-
-
-
- -
- -
- - -
-

get(self, - url) -

-
source code  -
- -
-Gets the content from the memcache with a given key.
-
-Args:
-  url: string, the key for the cache.
-
-Returns:
-  object, the value in the cache for the given key, or None if the key is
-  not in the cache.
-
-
-
-
Overrides: - base.Cache.get -
(inherited documentation)
- -
-
-
- -
- -
- - -
-

set(self, - url, - content) -

-
source code  -
- -
-Sets the given key and content in the cache.
-
-Args:
-  url: string, the key for the cache.
-  content: string, the discovery document.
-
-
-
-
Overrides: - base.Cache.set -
(inherited documentation)
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.discovery_cache.base-module.html b/docs/epy/googleapiclient.discovery_cache.base-module.html deleted file mode 100644 index 027251a1374..00000000000 --- a/docs/epy/googleapiclient.discovery_cache.base-module.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - googleapiclient.discovery_cache.base - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Package discovery_cache :: - Module base - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Module base

source code

-

An abstract class for caching the discovery document.

- - - - - - - - - - -
- - - - - -
Classes[hide private]
-
-   - - Cache
- A base abstract cache class. -
- - - - - - - - - -
- - - - - -
Variables[hide private]
-
-   - - __package__ = 'googleapiclient.discovery_cache' -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.discovery_cache.base-pysrc.html b/docs/epy/googleapiclient.discovery_cache.base-pysrc.html deleted file mode 100644 index 9abf76f0422..00000000000 --- a/docs/epy/googleapiclient.discovery_cache.base-pysrc.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - googleapiclient.discovery_cache.base - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Package discovery_cache :: - Module base - - - - - - -
[hide private]
[frames] | no frames]
-
-

Source Code for Module googleapiclient.discovery_cache.base

-
- 1  # Copyright 2014 Google Inc. All Rights Reserved. 
- 2  # 
- 3  # Licensed under the Apache License, Version 2.0 (the "License"); 
- 4  # you may not use this file except in compliance with the License. 
- 5  # You may obtain a copy of the License at 
- 6  # 
- 7  #      http://www.apache.org/licenses/LICENSE-2.0 
- 8  # 
- 9  # Unless required by applicable law or agreed to in writing, software 
-10  # distributed under the License is distributed on an "AS IS" BASIS, 
-11  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-12  # See the License for the specific language governing permissions and 
-13  # limitations under the License. 
-14   
-15  """An abstract class for caching the discovery document.""" 
-16   
-17  import abc 
-
18 -19 -20 -class Cache(object): -
21 """A base abstract cache class.""" -22 -23 __metaclass__ = abc.ABCMeta -24 -25 @abc.abstractmethod -
26 - def get(self, url): -
27 """Gets the content from the memcache with a given key. -28 -29 Args: -30 url: string, the key for the cache. -31 -32 Returns: -33 object, the value in the cache for the given key, or None if the key is -34 not in the cache. -35 """ -36 raise NotImplementedError() -
37 -38 @abc.abstractmethod -
39 - def set(self, url, content): -
40 """Sets the given key and content in the cache. -41 -42 Args: -43 url: string, the key for the cache. -44 content: string, the discovery document. -45 """ -46 raise NotImplementedError() -
47 -
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.discovery_cache.base.Cache-class.html b/docs/epy/googleapiclient.discovery_cache.base.Cache-class.html deleted file mode 100644 index a604c954655..00000000000 --- a/docs/epy/googleapiclient.discovery_cache.base.Cache-class.html +++ /dev/null @@ -1,415 +0,0 @@ - - - - - googleapiclient.discovery_cache.base.Cache - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Package discovery_cache :: - Module base :: - Class Cache - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class Cache

source code

-
-object --+
-         |
-        Cache
-
- -
-

A base abstract cache class.

- - - - - - - - - - -
- - - - - -
Nested Classes[hide private]
-
-   - - __metaclass__
- Metaclass for defining Abstract Base Classes (ABCs). -
- - - - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
get(self, - url)
- Gets the content from the memcache with a given key.
- source code - -
- -
-   - - - - - - -
set(self, - url, - content)
- Sets the given key and content in the cache.
- source code - -
- -
-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __init__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Class Variables[hide private]
-
-   - - __abstractmethods__ = frozenset(['get', 'set']) -
-   - - _abc_cache = <_weakrefset.WeakSet object at 0x7fb69e350450> -
-   - - _abc_negative_cache = <_weakrefset.WeakSet object at 0x7fb69e3... -
-   - - _abc_negative_cache_version = 22 -
-   - - _abc_registry = <_weakrefset.WeakSet object at 0x7fb69e350490> -
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

get(self, - url) -

-
source code  -
- -
-Gets the content from the memcache with a given key.
-
-Args:
-  url: string, the key for the cache.
-
-Returns:
-  object, the value in the cache for the given key, or None if the key is
-  not in the cache.
-
-
-
-
Decorators:
-
    -
  • @abc.abstractmethod
  • -
-
-
-
- -
- -
- - -
-

set(self, - url, - content) -

-
source code  -
- -
-Sets the given key and content in the cache.
-
-Args:
-  url: string, the key for the cache.
-  content: string, the discovery document.
-
-
-
-
Decorators:
-
    -
  • @abc.abstractmethod
  • -
-
-
-
-
- - - - - - -
- - - - - -
Class Variable Details[hide private]
-
- -
- -
-

_abc_negative_cache

- -
-
-
-
Value:
-
-<_weakrefset.WeakSet object at 0x7fb69e350510>
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.discovery_cache.file_cache-module.html b/docs/epy/googleapiclient.discovery_cache.file_cache-module.html deleted file mode 100644 index 503a269fe58..00000000000 --- a/docs/epy/googleapiclient.discovery_cache.file_cache-module.html +++ /dev/null @@ -1,233 +0,0 @@ - - - - - googleapiclient.discovery_cache.file_cache - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Package discovery_cache :: - Module file_cache - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Module file_cache

source code

-

File based cache for the discovery document.

-

The cache is stored in a single file so that multiple processes can - share the same cache. It locks the file whenever accesing to the file. - When the cache content is corrupted, it will be initialized with an empty - cache.

- - - - - - - - - - -
- - - - - -
Classes[hide private]
-
-   - - Cache
- A file based cache for the discovery documents. -
- - - - - - - - - - - - -
- - - - - -
Functions[hide private]
-
-   - - - - - - -
_to_timestamp(date) - source code - -
- -
-   - - - - - - -
_read_or_initialize_cache(f) - source code - -
- -
- - - - - - - - - - - - - - - - - - -
- - - - - -
Variables[hide private]
-
-   - - LOGGER = logging.getLogger(__name__) -
-   - - FILENAME = "google-api-python-client-discovery-doc.cache" -
-   - - EPOCH = datetime.datetime.utcfromtimestamp(0) -
-   - - cache = Cache(max_age= DISCOVERY_DOC_MAX_AGE) -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.discovery_cache.file_cache-pysrc.html b/docs/epy/googleapiclient.discovery_cache.file_cache-pysrc.html deleted file mode 100644 index 824a0b092cf..00000000000 --- a/docs/epy/googleapiclient.discovery_cache.file_cache-pysrc.html +++ /dev/null @@ -1,303 +0,0 @@ - - - - - googleapiclient.discovery_cache.file_cache - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Package discovery_cache :: - Module file_cache - - - - - - -
[hide private]
[frames] | no frames]
-
-

Source Code for Module googleapiclient.discovery_cache.file_cache

-
-  1  # Copyright 2014 Google Inc. All Rights Reserved. 
-  2  # 
-  3  # Licensed under the Apache License, Version 2.0 (the "License"); 
-  4  # you may not use this file except in compliance with the License. 
-  5  # You may obtain a copy of the License at 
-  6  # 
-  7  #      http://www.apache.org/licenses/LICENSE-2.0 
-  8  # 
-  9  # Unless required by applicable law or agreed to in writing, software 
- 10  # distributed under the License is distributed on an "AS IS" BASIS, 
- 11  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
- 12  # See the License for the specific language governing permissions and 
- 13  # limitations under the License. 
- 14   
- 15  """File based cache for the discovery document. 
- 16   
- 17  The cache is stored in a single file so that multiple processes can 
- 18  share the same cache. It locks the file whenever accesing to the 
- 19  file. When the cache content is corrupted, it will be initialized with 
- 20  an empty cache. 
- 21  """ 
- 22   
- 23  from __future__ import division 
- 24   
- 25  import datetime 
- 26  import json 
- 27  import logging 
- 28  import os 
- 29  import tempfile 
- 30  import threading 
- 31   
- 32  try: 
- 33      from oauth2client.contrib.locked_file import LockedFile 
- 34  except ImportError: 
- 35      # oauth2client < 2.0.0 
- 36      try: 
- 37          from oauth2client.locked_file import LockedFile 
- 38      except ImportError: 
- 39          # oauth2client > 4.0.0 or google-auth 
- 40          raise ImportError( 
- 41              "file_cache is unavailable when using oauth2client >= 4.0.0 or google-auth" 
- 42          ) 
- 43   
- 44  from . import base 
- 45  from ..discovery_cache import DISCOVERY_DOC_MAX_AGE 
- 46   
- 47  LOGGER = logging.getLogger(__name__) 
- 48   
- 49  FILENAME = "google-api-python-client-discovery-doc.cache" 
- 50  EPOCH = datetime.datetime.utcfromtimestamp(0) 
- 51   
- 52   
-
53 -def _to_timestamp(date): -
54 try: - 55 return (date - EPOCH).total_seconds() - 56 except AttributeError: - 57 # The following is the equivalent of total_seconds() in Python2.6. - 58 # See also: https://docs.python.org/2/library/datetime.html - 59 delta = date - EPOCH - 60 return ( - 61 delta.microseconds + (delta.seconds + delta.days * 24 * 3600) * 10 ** 6 - 62 ) / 10 ** 6 -
63 - 64 -
66 f.file_handle().seek(0) - 67 try: - 68 cache = json.load(f.file_handle()) - 69 except Exception: - 70 # This means it opens the file for the first time, or the cache is - 71 # corrupted, so initializing the file with an empty dict. - 72 cache = {} - 73 f.file_handle().truncate(0) - 74 f.file_handle().seek(0) - 75 json.dump(cache, f.file_handle()) - 76 return cache -
77 - 78 -
79 -class Cache(base.Cache): -
80 """A file based cache for the discovery documents.""" - 81 -
82 - def __init__(self, max_age): -
83 """Constructor. - 84 - 85 Args: - 86 max_age: Cache expiration in seconds. - 87 """ - 88 self._max_age = max_age - 89 self._file = os.path.join(tempfile.gettempdir(), FILENAME) - 90 f = LockedFile(self._file, "a+", "r") - 91 try: - 92 f.open_and_lock() - 93 if f.is_locked(): - 94 _read_or_initialize_cache(f) - 95 # If we can not obtain the lock, other process or thread must - 96 # have initialized the file. - 97 except Exception as e: - 98 LOGGER.warning(e, exc_info=True) - 99 finally: -100 f.unlock_and_close() -
101 -
102 - def get(self, url): -
103 f = LockedFile(self._file, "r+", "r") -104 try: -105 f.open_and_lock() -106 if f.is_locked(): -107 cache = _read_or_initialize_cache(f) -108 if url in cache: -109 content, t = cache.get(url, (None, 0)) -110 if _to_timestamp(datetime.datetime.now()) < t + self._max_age: -111 return content -112 return None -113 else: -114 LOGGER.debug("Could not obtain a lock for the cache file.") -115 return None -116 except Exception as e: -117 LOGGER.warning(e, exc_info=True) -118 finally: -119 f.unlock_and_close() -
120 -
121 - def set(self, url, content): -
122 f = LockedFile(self._file, "r+", "r") -123 try: -124 f.open_and_lock() -125 if f.is_locked(): -126 cache = _read_or_initialize_cache(f) -127 cache[url] = (content, _to_timestamp(datetime.datetime.now())) -128 # Remove stale cache. -129 for k, (_, timestamp) in list(cache.items()): -130 if ( -131 _to_timestamp(datetime.datetime.now()) -132 >= timestamp + self._max_age -133 ): -134 del cache[k] -135 f.file_handle().truncate(0) -136 f.file_handle().seek(0) -137 json.dump(cache, f.file_handle()) -138 else: -139 LOGGER.debug("Could not obtain a lock for the cache file.") -140 except Exception as e: -141 LOGGER.warning(e, exc_info=True) -142 finally: -143 f.unlock_and_close() -
144 -145 -146 cache = Cache(max_age=DISCOVERY_DOC_MAX_AGE) -147 -
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.discovery_cache.file_cache.Cache-class.html b/docs/epy/googleapiclient.discovery_cache.file_cache.Cache-class.html deleted file mode 100644 index 56483f623ad..00000000000 --- a/docs/epy/googleapiclient.discovery_cache.file_cache.Cache-class.html +++ /dev/null @@ -1,404 +0,0 @@ - - - - - googleapiclient.discovery_cache.file_cache.Cache - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Package discovery_cache :: - Module file_cache :: - Class Cache - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class Cache

source code

-
-object --+    
-         |    
-base.Cache --+
-             |
-            Cache
-
- -
-

A file based cache for the discovery documents.

- - - - - - - - - - -
- - - - - -
Nested Classes[hide private]
-
-

Inherited from base.Cache: - __metaclass__ -

-
- - - - - - - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
__init__(self, - max_age)
- Constructor.
- source code - -
- -
-   - - - - - - -
get(self, - url)
- Gets the content from the memcache with a given key.
- source code - -
- -
-   - - - - - - -
set(self, - url, - content)
- Sets the given key and content in the cache.
- source code - -
- -
-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Class Variables[hide private]
-
-

Inherited from base.Cache: - __abstractmethods__ -

- -
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

__init__(self, - max_age) -
(Constructor) -

-
source code  -
- -
-Constructor.
-
-Args:
-  max_age: Cache expiration in seconds.
-
-
-
-
Overrides: - object.__init__ -
-
-
-
- -
- -
- - -
-

get(self, - url) -

-
source code  -
- -
-Gets the content from the memcache with a given key.
-
-Args:
-  url: string, the key for the cache.
-
-Returns:
-  object, the value in the cache for the given key, or None if the key is
-  not in the cache.
-
-
-
-
Overrides: - base.Cache.get -
(inherited documentation)
- -
-
-
- -
- -
- - -
-

set(self, - url, - content) -

-
source code  -
- -
-Sets the given key and content in the cache.
-
-Args:
-  url: string, the key for the cache.
-  content: string, the discovery document.
-
-
-
-
Overrides: - base.Cache.set -
(inherited documentation)
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.errors-module.html b/docs/epy/googleapiclient.errors-module.html deleted file mode 100644 index dbca37f9754..00000000000 --- a/docs/epy/googleapiclient.errors-module.html +++ /dev/null @@ -1,267 +0,0 @@ - - - - - googleapiclient.errors - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module errors - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Module errors

source code

-

Errors for the library.

-

All exceptions defined by the library should be defined in this - file.

- -
-

Author: - jcgregorio@google.com (Joe Gregorio) -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Classes[hide private]
-
-   - - Error
- Base error for this module. -
-   - - HttpError
- HTTP data was invalid or unexpected. -
-   - - InvalidJsonError
- The JSON returned could not be parsed. -
-   - - UnknownFileType
- File type unknown or unexpected. -
-   - - UnknownLinkType
- Link type unknown or unexpected. -
-   - - UnknownApiNameOrVersion
- No API with that name and version exists. -
-   - - UnacceptableMimeTypeError
- That is an unacceptable mimetype for this operation. -
-   - - MediaUploadSizeError
- Media is larger than the method can accept. -
-   - - ResumableUploadError
- Error occurred during resumable upload. -
-   - - InvalidChunkSizeError
- The given chunksize is not valid. -
-   - - InvalidNotificationError
- The channel Notification is invalid. -
-   - - BatchError
- Error occurred during batch operations. -
-   - - UnexpectedMethodError
- Exception raised by RequestMockBuilder on unexpected calls. -
-   - - UnexpectedBodyError
- Exception raised by RequestMockBuilder on unexpected bodies. -
- - - - - - - - - -
- - - - - -
Variables[hide private]
-
-   - - __package__ = None -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.errors-pysrc.html b/docs/epy/googleapiclient.errors-pysrc.html deleted file mode 100644 index 7e6d8110c12..00000000000 --- a/docs/epy/googleapiclient.errors-pysrc.html +++ /dev/null @@ -1,345 +0,0 @@ - - - - - googleapiclient.errors - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module errors - - - - - - -
[hide private]
[frames] | no frames]
-
-

Source Code for Module googleapiclient.errors

-
-  1  # Copyright 2014 Google Inc. All Rights Reserved. 
-  2  # 
-  3  # Licensed under the Apache License, Version 2.0 (the "License"); 
-  4  # you may not use this file except in compliance with the License. 
-  5  # You may obtain a copy of the License at 
-  6  # 
-  7  #      http://www.apache.org/licenses/LICENSE-2.0 
-  8  # 
-  9  # Unless required by applicable law or agreed to in writing, software 
- 10  # distributed under the License is distributed on an "AS IS" BASIS, 
- 11  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
- 12  # See the License for the specific language governing permissions and 
- 13  # limitations under the License. 
- 14   
- 15  """Errors for the library. 
- 16   
- 17  All exceptions defined by the library 
- 18  should be defined in this file. 
- 19  """ 
- 20  from __future__ import absolute_import 
- 21   
- 22  __author__ = "jcgregorio@google.com (Joe Gregorio)" 
- 23   
- 24  import json 
- 25   
- 26  from googleapiclient import _helpers as util 
-
27 - 28 - 29 -class Error(Exception): -
30 """Base error for this module.""" - 31 - 32 pass -
33 -
34 - 35 -class HttpError(Error): -
36 """HTTP data was invalid or unexpected.""" - 37 - 38 @util.positional(3) -
39 - def __init__(self, resp, content, uri=None): -
40 self.resp = resp - 41 if not isinstance(content, bytes): - 42 raise TypeError("HTTP content should be bytes") - 43 self.content = content - 44 self.uri = uri - 45 self.error_details = "" -
46 -
47 - def _get_reason(self): -
48 """Calculate the reason for the error from the response content.""" - 49 reason = self.resp.reason - 50 try: - 51 data = json.loads(self.content.decode("utf-8")) - 52 if isinstance(data, dict): - 53 reason = data["error"]["message"] - 54 if "details" in data["error"]: - 55 self.error_details = data["error"]["details"] - 56 elif "detail" in data["error"]: - 57 self.error_details = data["error"]["detail"] - 58 elif isinstance(data, list) and len(data) > 0: - 59 first_error = data[0] - 60 reason = first_error["error"]["message"] - 61 if "details" in first_error["error"]: - 62 self.error_details = first_error["error"]["details"] - 63 except (ValueError, KeyError, TypeError): - 64 pass - 65 if reason is None: - 66 reason = "" - 67 return reason -
68 -
69 - def __repr__(self): -
70 reason = self._get_reason() - 71 if self.error_details: - 72 return '<HttpError %s when requesting %s returned "%s". Details: "%s">' % ( - 73 self.resp.status, - 74 self.uri, - 75 reason.strip(), - 76 self.error_details, - 77 ) - 78 elif self.uri: - 79 return '<HttpError %s when requesting %s returned "%s">' % ( - 80 self.resp.status, - 81 self.uri, - 82 self._get_reason().strip(), - 83 ) - 84 else: - 85 return '<HttpError %s "%s">' % (self.resp.status, self._get_reason()) -
86 - 87 __str__ = __repr__ -
88 -
89 - 90 -class InvalidJsonError(Error): -
91 """The JSON returned could not be parsed.""" - 92 - 93 pass -
94 -
95 - 96 -class UnknownFileType(Error): -
97 """File type unknown or unexpected.""" - 98 - 99 pass -
100 -
101 -102 -class UnknownLinkType(Error): -
103 """Link type unknown or unexpected.""" -104 -105 pass -
106 -
107 -108 -class UnknownApiNameOrVersion(Error): -
109 """No API with that name and version exists.""" -110 -111 pass -
112 -
113 -114 -class UnacceptableMimeTypeError(Error): -
115 """That is an unacceptable mimetype for this operation.""" -116 -117 pass -
118 -
119 -120 -class MediaUploadSizeError(Error): -
121 """Media is larger than the method can accept.""" -122 -123 pass -
124 -
125 -126 -class ResumableUploadError(HttpError): -
127 """Error occurred during resumable upload.""" -128 -129 pass -
130 -
131 -132 -class InvalidChunkSizeError(Error): -
133 """The given chunksize is not valid.""" -134 -135 pass -
136 -
137 -138 -class InvalidNotificationError(Error): -
139 """The channel Notification is invalid.""" -140 -141 pass -
142 -
143 -144 -class BatchError(HttpError): -
145 """Error occurred during batch operations.""" -146 -147 @util.positional(2) -
148 - def __init__(self, reason, resp=None, content=None): -
149 self.resp = resp -150 self.content = content -151 self.reason = reason -
152 -
153 - def __repr__(self): -
154 if getattr(self.resp, "status", None) is None: -155 return '<BatchError "%s">' % (self.reason) -156 else: -157 return '<BatchError %s "%s">' % (self.resp.status, self.reason) -
158 -159 __str__ = __repr__ -
160 -
161 -162 -class UnexpectedMethodError(Error): -
163 """Exception raised by RequestMockBuilder on unexpected calls.""" -164 -165 @util.positional(1) -
166 - def __init__(self, methodId=None): -
167 """Constructor for an UnexpectedMethodError.""" -168 super(UnexpectedMethodError, self).__init__( -169 "Received unexpected call %s" % methodId -170 ) -
171 -
172 -173 -class UnexpectedBodyError(Error): -
174 """Exception raised by RequestMockBuilder on unexpected bodies.""" -175 -
176 - def __init__(self, expected, provided): -
177 """Constructor for an UnexpectedMethodError.""" -178 super(UnexpectedBodyError, self).__init__( -179 "Expected: [%s] - Provided: [%s]" % (expected, provided) -180 ) -
181 -
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.errors.BatchError-class.html b/docs/epy/googleapiclient.errors.BatchError-class.html deleted file mode 100644 index a2c838e6333..00000000000 --- a/docs/epy/googleapiclient.errors.BatchError-class.html +++ /dev/null @@ -1,344 +0,0 @@ - - - - - googleapiclient.errors.BatchError - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module errors :: - Class BatchError - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class BatchError

source code

-
-              object --+                
-                       |                
-exceptions.BaseException --+            
-                           |            
-        exceptions.Exception --+        
-                               |        
-                           Error --+    
-                                   |    
-                           HttpError --+
-                                       |
-                                      BatchError
-
- -
-

Error occurred during batch operations.

- - - - - - - - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
__init__(*args, - **kwargs)
- x.__init__(...) initializes x; see help(type(x)) for signature
- source code - -
- -
-   - - - - - - -
__repr__(self)
- str(x)
- source code - -
- -
-   - - - - - - -
__str__(self)
- str(x)
- source code - -
- -
-

Inherited from HttpError (private): - _get_reason -

-

Inherited from exceptions.Exception: - __new__ -

-

Inherited from exceptions.BaseException: - __delattr__, - __getattribute__, - __getitem__, - __getslice__, - __reduce__, - __setattr__, - __setstate__, - __unicode__ -

-

Inherited from object: - __format__, - __hash__, - __reduce_ex__, - __sizeof__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from exceptions.BaseException: - args, - message -

-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

__init__(*args, - **kwargs) -
(Constructor) -

-
source code  -
- -

x.__init__(...) initializes x; see help(type(x)) for signature

-
-
Decorators:
-
    -
  • @util.positional(2)
  • -
-
Overrides: - object.__init__ -
(inherited documentation)
- -
-
-
- -
- -
- - -
-

__repr__(self) -
(Representation operator) -

-
source code  -
- -

str(x)

-
-
Overrides: - object.__repr__ -
(inherited documentation)
- -
-
-
- -
- -
- - -
-

__str__(self) -
(Informal representation operator) -

-
source code  -
- -

str(x)

-
-
Overrides: - object.__str__ -
(inherited documentation)
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.errors.Error-class.html b/docs/epy/googleapiclient.errors.Error-class.html deleted file mode 100644 index 2aca9c6b918..00000000000 --- a/docs/epy/googleapiclient.errors.Error-class.html +++ /dev/null @@ -1,198 +0,0 @@ - - - - - googleapiclient.errors.Error - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module errors :: - Class Error - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class Error

source code

-
-              object --+        
-                       |        
-exceptions.BaseException --+    
-                           |    
-        exceptions.Exception --+
-                               |
-                              Error
-
- -
Known Subclasses:
-
- -
- -
-

Base error for this module.

- - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-

Inherited from exceptions.Exception: - __init__, - __new__ -

-

Inherited from exceptions.BaseException: - __delattr__, - __getattribute__, - __getitem__, - __getslice__, - __reduce__, - __repr__, - __setattr__, - __setstate__, - __str__, - __unicode__ -

-

Inherited from object: - __format__, - __hash__, - __reduce_ex__, - __sizeof__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from exceptions.BaseException: - args, - message -

-

Inherited from object: - __class__ -

-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.errors.HttpError-class.html b/docs/epy/googleapiclient.errors.HttpError-class.html deleted file mode 100644 index 876bff07b7a..00000000000 --- a/docs/epy/googleapiclient.errors.HttpError-class.html +++ /dev/null @@ -1,362 +0,0 @@ - - - - - googleapiclient.errors.HttpError - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module errors :: - Class HttpError - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class HttpError

source code

-
-              object --+            
-                       |            
-exceptions.BaseException --+        
-                           |        
-        exceptions.Exception --+    
-                               |    
-                           Error --+
-                                   |
-                                  HttpError
-
- -
Known Subclasses:
-
- -
- -
-

HTTP data was invalid or unexpected.

- - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
__init__(*args, - **kwargs)
- x.__init__(...) initializes x; see help(type(x)) for signature
- source code - -
- -
-   - - - - - - -
_get_reason(self)
- Calculate the reason for the error from the response content.
- source code - -
- -
-   - - - - - - -
__repr__(self)
- str(x)
- source code - -
- -
-   - - - - - - -
__str__(self)
- str(x)
- source code - -
- -
-

Inherited from exceptions.Exception: - __new__ -

-

Inherited from exceptions.BaseException: - __delattr__, - __getattribute__, - __getitem__, - __getslice__, - __reduce__, - __setattr__, - __setstate__, - __unicode__ -

-

Inherited from object: - __format__, - __hash__, - __reduce_ex__, - __sizeof__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from exceptions.BaseException: - args, - message -

-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

__init__(*args, - **kwargs) -
(Constructor) -

-
source code  -
- -

x.__init__(...) initializes x; see help(type(x)) for signature

-
-
Decorators:
-
    -
  • @util.positional(3)
  • -
-
Overrides: - object.__init__ -
(inherited documentation)
- -
-
-
- -
- -
- - -
-

__repr__(self) -
(Representation operator) -

-
source code  -
- -

str(x)

-
-
Overrides: - object.__repr__ -
(inherited documentation)
- -
-
-
- -
- -
- - -
-

__str__(self) -
(Informal representation operator) -

-
source code  -
- -

str(x)

-
-
Overrides: - object.__str__ -
(inherited documentation)
- -
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.errors.InvalidChunkSizeError-class.html b/docs/epy/googleapiclient.errors.InvalidChunkSizeError-class.html deleted file mode 100644 index d15621e96bc..00000000000 --- a/docs/epy/googleapiclient.errors.InvalidChunkSizeError-class.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - googleapiclient.errors.InvalidChunkSizeError - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module errors :: - Class InvalidChunkSizeError - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class InvalidChunkSizeError

source code

-
-              object --+            
-                       |            
-exceptions.BaseException --+        
-                           |        
-        exceptions.Exception --+    
-                               |    
-                           Error --+
-                                   |
-                                  InvalidChunkSizeError
-
- -
-

The given chunksize is not valid.

- - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-

Inherited from exceptions.Exception: - __init__, - __new__ -

-

Inherited from exceptions.BaseException: - __delattr__, - __getattribute__, - __getitem__, - __getslice__, - __reduce__, - __repr__, - __setattr__, - __setstate__, - __str__, - __unicode__ -

-

Inherited from object: - __format__, - __hash__, - __reduce_ex__, - __sizeof__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from exceptions.BaseException: - args, - message -

-

Inherited from object: - __class__ -

-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.errors.InvalidJsonError-class.html b/docs/epy/googleapiclient.errors.InvalidJsonError-class.html deleted file mode 100644 index 1d2f7aa5194..00000000000 --- a/docs/epy/googleapiclient.errors.InvalidJsonError-class.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - googleapiclient.errors.InvalidJsonError - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module errors :: - Class InvalidJsonError - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class InvalidJsonError

source code

-
-              object --+            
-                       |            
-exceptions.BaseException --+        
-                           |        
-        exceptions.Exception --+    
-                               |    
-                           Error --+
-                                   |
-                                  InvalidJsonError
-
- -
-

The JSON returned could not be parsed.

- - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-

Inherited from exceptions.Exception: - __init__, - __new__ -

-

Inherited from exceptions.BaseException: - __delattr__, - __getattribute__, - __getitem__, - __getslice__, - __reduce__, - __repr__, - __setattr__, - __setstate__, - __str__, - __unicode__ -

-

Inherited from object: - __format__, - __hash__, - __reduce_ex__, - __sizeof__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from exceptions.BaseException: - args, - message -

-

Inherited from object: - __class__ -

-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.errors.InvalidNotificationError-class.html b/docs/epy/googleapiclient.errors.InvalidNotificationError-class.html deleted file mode 100644 index c818fe45f65..00000000000 --- a/docs/epy/googleapiclient.errors.InvalidNotificationError-class.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - googleapiclient.errors.InvalidNotificationError - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module errors :: - Class InvalidNotificationError - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class InvalidNotificationError

source code

-
-              object --+            
-                       |            
-exceptions.BaseException --+        
-                           |        
-        exceptions.Exception --+    
-                               |    
-                           Error --+
-                                   |
-                                  InvalidNotificationError
-
- -
-

The channel Notification is invalid.

- - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-

Inherited from exceptions.Exception: - __init__, - __new__ -

-

Inherited from exceptions.BaseException: - __delattr__, - __getattribute__, - __getitem__, - __getslice__, - __reduce__, - __repr__, - __setattr__, - __setstate__, - __str__, - __unicode__ -

-

Inherited from object: - __format__, - __hash__, - __reduce_ex__, - __sizeof__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from exceptions.BaseException: - args, - message -

-

Inherited from object: - __class__ -

-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.errors.MediaUploadSizeError-class.html b/docs/epy/googleapiclient.errors.MediaUploadSizeError-class.html deleted file mode 100644 index 4887e12d2ed..00000000000 --- a/docs/epy/googleapiclient.errors.MediaUploadSizeError-class.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - googleapiclient.errors.MediaUploadSizeError - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module errors :: - Class MediaUploadSizeError - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class MediaUploadSizeError

source code

-
-              object --+            
-                       |            
-exceptions.BaseException --+        
-                           |        
-        exceptions.Exception --+    
-                               |    
-                           Error --+
-                                   |
-                                  MediaUploadSizeError
-
- -
-

Media is larger than the method can accept.

- - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-

Inherited from exceptions.Exception: - __init__, - __new__ -

-

Inherited from exceptions.BaseException: - __delattr__, - __getattribute__, - __getitem__, - __getslice__, - __reduce__, - __repr__, - __setattr__, - __setstate__, - __str__, - __unicode__ -

-

Inherited from object: - __format__, - __hash__, - __reduce_ex__, - __sizeof__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from exceptions.BaseException: - args, - message -

-

Inherited from object: - __class__ -

-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.errors.ResumableUploadError-class.html b/docs/epy/googleapiclient.errors.ResumableUploadError-class.html deleted file mode 100644 index 09c5dfadf5b..00000000000 --- a/docs/epy/googleapiclient.errors.ResumableUploadError-class.html +++ /dev/null @@ -1,201 +0,0 @@ - - - - - googleapiclient.errors.ResumableUploadError - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module errors :: - Class ResumableUploadError - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class ResumableUploadError

source code

-
-              object --+                
-                       |                
-exceptions.BaseException --+            
-                           |            
-        exceptions.Exception --+        
-                               |        
-                           Error --+    
-                                   |    
-                           HttpError --+
-                                       |
-                                      ResumableUploadError
-
- -
-

Error occurred during resumable upload.

- - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-

Inherited from HttpError: - __init__, - __repr__, - __str__ -

-

Inherited from HttpError (private): - _get_reason -

-

Inherited from exceptions.Exception: - __new__ -

-

Inherited from exceptions.BaseException: - __delattr__, - __getattribute__, - __getitem__, - __getslice__, - __reduce__, - __setattr__, - __setstate__, - __unicode__ -

-

Inherited from object: - __format__, - __hash__, - __reduce_ex__, - __sizeof__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from exceptions.BaseException: - args, - message -

-

Inherited from object: - __class__ -

-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.errors.UnacceptableMimeTypeError-class.html b/docs/epy/googleapiclient.errors.UnacceptableMimeTypeError-class.html deleted file mode 100644 index 503edad2340..00000000000 --- a/docs/epy/googleapiclient.errors.UnacceptableMimeTypeError-class.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - googleapiclient.errors.UnacceptableMimeTypeError - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module errors :: - Class UnacceptableMimeTypeError - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class UnacceptableMimeTypeError

source code

-
-              object --+            
-                       |            
-exceptions.BaseException --+        
-                           |        
-        exceptions.Exception --+    
-                               |    
-                           Error --+
-                                   |
-                                  UnacceptableMimeTypeError
-
- -
-

That is an unacceptable mimetype for this operation.

- - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-

Inherited from exceptions.Exception: - __init__, - __new__ -

-

Inherited from exceptions.BaseException: - __delattr__, - __getattribute__, - __getitem__, - __getslice__, - __reduce__, - __repr__, - __setattr__, - __setstate__, - __str__, - __unicode__ -

-

Inherited from object: - __format__, - __hash__, - __reduce_ex__, - __sizeof__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from exceptions.BaseException: - args, - message -

-

Inherited from object: - __class__ -

-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.errors.UnexpectedBodyError-class.html b/docs/epy/googleapiclient.errors.UnexpectedBodyError-class.html deleted file mode 100644 index eb6267c3ee3..00000000000 --- a/docs/epy/googleapiclient.errors.UnexpectedBodyError-class.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - - googleapiclient.errors.UnexpectedBodyError - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module errors :: - Class UnexpectedBodyError - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class UnexpectedBodyError

source code

-
-              object --+            
-                       |            
-exceptions.BaseException --+        
-                           |        
-        exceptions.Exception --+    
-                               |    
-                           Error --+
-                                   |
-                                  UnexpectedBodyError
-
- -
-

Exception raised by RequestMockBuilder on unexpected bodies.

- - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
__init__(self, - expected, - provided)
- Constructor for an UnexpectedMethodError.
- source code - -
- -
-

Inherited from exceptions.Exception: - __new__ -

-

Inherited from exceptions.BaseException: - __delattr__, - __getattribute__, - __getitem__, - __getslice__, - __reduce__, - __repr__, - __setattr__, - __setstate__, - __str__, - __unicode__ -

-

Inherited from object: - __format__, - __hash__, - __reduce_ex__, - __sizeof__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from exceptions.BaseException: - args, - message -

-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

__init__(self, - expected, - provided) -
(Constructor) -

-
source code  -
- -

Constructor for an UnexpectedMethodError.

-
-
Overrides: - object.__init__ -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.errors.UnexpectedMethodError-class.html b/docs/epy/googleapiclient.errors.UnexpectedMethodError-class.html deleted file mode 100644 index 8a87d9917c7..00000000000 --- a/docs/epy/googleapiclient.errors.UnexpectedMethodError-class.html +++ /dev/null @@ -1,258 +0,0 @@ - - - - - googleapiclient.errors.UnexpectedMethodError - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module errors :: - Class UnexpectedMethodError - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class UnexpectedMethodError

source code

-
-              object --+            
-                       |            
-exceptions.BaseException --+        
-                           |        
-        exceptions.Exception --+    
-                               |    
-                           Error --+
-                                   |
-                                  UnexpectedMethodError
-
- -
-

Exception raised by RequestMockBuilder on unexpected calls.

- - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
__init__(*args, - **kwargs)
- Constructor for an UnexpectedMethodError.
- source code - -
- -
-

Inherited from exceptions.Exception: - __new__ -

-

Inherited from exceptions.BaseException: - __delattr__, - __getattribute__, - __getitem__, - __getslice__, - __reduce__, - __repr__, - __setattr__, - __setstate__, - __str__, - __unicode__ -

-

Inherited from object: - __format__, - __hash__, - __reduce_ex__, - __sizeof__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from exceptions.BaseException: - args, - message -

-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

__init__(*args, - **kwargs) -
(Constructor) -

-
source code  -
- -

Constructor for an UnexpectedMethodError.

-
-
Decorators:
-
    -
  • @util.positional(1)
  • -
-
Overrides: - object.__init__ -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.errors.UnknownApiNameOrVersion-class.html b/docs/epy/googleapiclient.errors.UnknownApiNameOrVersion-class.html deleted file mode 100644 index b076c559034..00000000000 --- a/docs/epy/googleapiclient.errors.UnknownApiNameOrVersion-class.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - googleapiclient.errors.UnknownApiNameOrVersion - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module errors :: - Class UnknownApiNameOrVersion - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class UnknownApiNameOrVersion

source code

-
-              object --+            
-                       |            
-exceptions.BaseException --+        
-                           |        
-        exceptions.Exception --+    
-                               |    
-                           Error --+
-                                   |
-                                  UnknownApiNameOrVersion
-
- -
-

No API with that name and version exists.

- - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-

Inherited from exceptions.Exception: - __init__, - __new__ -

-

Inherited from exceptions.BaseException: - __delattr__, - __getattribute__, - __getitem__, - __getslice__, - __reduce__, - __repr__, - __setattr__, - __setstate__, - __str__, - __unicode__ -

-

Inherited from object: - __format__, - __hash__, - __reduce_ex__, - __sizeof__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from exceptions.BaseException: - args, - message -

-

Inherited from object: - __class__ -

-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.errors.UnknownFileType-class.html b/docs/epy/googleapiclient.errors.UnknownFileType-class.html deleted file mode 100644 index 14ccd08bcfb..00000000000 --- a/docs/epy/googleapiclient.errors.UnknownFileType-class.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - googleapiclient.errors.UnknownFileType - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module errors :: - Class UnknownFileType - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class UnknownFileType

source code

-
-              object --+            
-                       |            
-exceptions.BaseException --+        
-                           |        
-        exceptions.Exception --+    
-                               |    
-                           Error --+
-                                   |
-                                  UnknownFileType
-
- -
-

File type unknown or unexpected.

- - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-

Inherited from exceptions.Exception: - __init__, - __new__ -

-

Inherited from exceptions.BaseException: - __delattr__, - __getattribute__, - __getitem__, - __getslice__, - __reduce__, - __repr__, - __setattr__, - __setstate__, - __str__, - __unicode__ -

-

Inherited from object: - __format__, - __hash__, - __reduce_ex__, - __sizeof__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from exceptions.BaseException: - args, - message -

-

Inherited from object: - __class__ -

-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.errors.UnknownLinkType-class.html b/docs/epy/googleapiclient.errors.UnknownLinkType-class.html deleted file mode 100644 index e0d8eb3e85a..00000000000 --- a/docs/epy/googleapiclient.errors.UnknownLinkType-class.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - googleapiclient.errors.UnknownLinkType - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module errors :: - Class UnknownLinkType - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class UnknownLinkType

source code

-
-              object --+            
-                       |            
-exceptions.BaseException --+        
-                           |        
-        exceptions.Exception --+    
-                               |    
-                           Error --+
-                                   |
-                                  UnknownLinkType
-
- -
-

Link type unknown or unexpected.

- - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-

Inherited from exceptions.Exception: - __init__, - __new__ -

-

Inherited from exceptions.BaseException: - __delattr__, - __getattribute__, - __getitem__, - __getslice__, - __reduce__, - __repr__, - __setattr__, - __setstate__, - __str__, - __unicode__ -

-

Inherited from object: - __format__, - __hash__, - __reduce_ex__, - __sizeof__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from exceptions.BaseException: - args, - message -

-

Inherited from object: - __class__ -

-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.http-module.html b/docs/epy/googleapiclient.http-module.html deleted file mode 100644 index 7533cd999fe..00000000000 --- a/docs/epy/googleapiclient.http-module.html +++ /dev/null @@ -1,636 +0,0 @@ - - - - - googleapiclient.http - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module http - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Module http

source code

-

Classes to encapsulate a single HTTP request.

-

The classes implement a command pattern, with every object supporting - an execute() method that does the actual HTTP request.

- -
-

Author: - jcgregorio@google.com (Joe Gregorio) -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Classes[hide private]
-
-   - - MediaUploadProgress
- Status of a resumable upload. -
-   - - MediaDownloadProgress
- Status of a resumable download. -
-   - - MediaUpload
- Describes a media object to upload. -
-   - - MediaIoBaseUpload
- A MediaUpload for a io.Base objects. -
-   - - MediaFileUpload
- A MediaUpload for a file. -
-   - - MediaInMemoryUpload
- MediaUpload for a chunk of bytes. -
-   - - MediaIoBaseDownload
- "Download media resources. -
-   - - _StreamSlice
- Truncated stream. -
-   - - HttpRequest
- Encapsulates a single HTTP request. -
-   - - BatchHttpRequest
- Batches multiple HttpRequest objects into a single HTTP request. -
-   - - HttpRequestMock
- Mock of HttpRequest. -
-   - - RequestMockBuilder
- A simple mock of HttpRequest -
-   - - HttpMock
- Mock of httplib2.Http -
-   - - HttpMockSequence
- Mock of httplib2.Http -
- - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Functions[hide private]
-
-   - - - - - - -
_should_retry_response(resp_status, - content)
- Determines whether a response should be retried.
- source code - -
- -
-   - - - - - - -
_retry_request(http, - num_retries, - req_type, - sleep, - rand, - uri, - method, - *args, - **kwargs)
- Retries an HTTP request multiple times while handling errors.
- source code - -
- -
-   - - - - - - -
set_user_agent(http, - user_agent)
- Set the user-agent on every request.
- source code - -
- -
-   - - - - - - -
tunnel_patch(http)
- Tunnel PATCH requests over POST.
- source code - -
- -
-   - - - - - - -
build_http()
- Builds httplib2.Http object
- source code - -
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Variables[hide private]
-
-   - - LOGGER = logging.getLogger(__name__) -
-   - - DEFAULT_CHUNK_SIZE = 104857600 -
-   - - MAX_URI_LENGTH = 2048 -
-   - - MAX_BATCH_LIMIT = 1000 -
-   - - _TOO_MANY_REQUESTS = 429 -
-   - - DEFAULT_HTTP_TIMEOUT_SEC = 60 -
-   - - _LEGACY_BATCH_URI = 'https://www.googleapis.com/batch' -
-   - - ConnectionError = None -
-   - - __package__ = None -
- - - - - - -
- - - - - -
Function Details[hide private]
-
- -
- -
- - -
-

_should_retry_response(resp_status, - content) -

-
source code  -
- -
-Determines whether a response should be retried.
-
-Args:
-  resp_status: The response status received.
-  content: The response content body.
-
-Returns:
-  True if the response should be retried, otherwise False.
-
-
-
-
-
-
- -
- -
- - -
-

_retry_request(http, - num_retries, - req_type, - sleep, - rand, - uri, - method, - *args, - **kwargs) -

-
source code  -
- -
-Retries an HTTP request multiple times while handling errors.
-
-If after all retries the request still fails, last error is either returned as
-return value (for HTTP 5xx errors) or thrown (for ssl.SSLError).
-
-Args:
-  http: Http object to be used to execute request.
-  num_retries: Maximum number of retries.
-  req_type: Type of the request (used for logging retries).
-  sleep, rand: Functions to sleep for random time between retries.
-  uri: URI to be requested.
-  method: HTTP method to be used.
-  args, kwargs: Additional arguments passed to http.request.
-
-Returns:
-  resp, content - Response from the http request (may be HTTP 5xx).
-
-
-
-
-
-
- -
- -
- - -
-

set_user_agent(http, - user_agent) -

-
source code  -
- -
-Set the user-agent on every request.
-
-Args:
-   http - An instance of httplib2.Http
-       or something that acts like it.
-   user_agent: string, the value for the user-agent header.
-
-Returns:
-   A modified instance of http that was passed in.
-
-Example:
-
-  h = httplib2.Http()
-  h = set_user_agent(h, "my-app-name/6.0")
-
-Most of the time the user-agent will be set doing auth, this is for the rare
-cases where you are accessing an unauthenticated endpoint.
-
-
-
-
-
-
- -
- -
- - -
-

tunnel_patch(http) -

-
source code  -
- -
-Tunnel PATCH requests over POST.
-Args:
-   http - An instance of httplib2.Http
-       or something that acts like it.
-
-Returns:
-   A modified instance of http that was passed in.
-
-Example:
-
-  h = httplib2.Http()
-  h = tunnel_patch(h, "my-app-name/6.0")
-
-Useful if you are running on a platform that doesn't support PATCH.
-Apply this last if you are using OAuth 1.0, as changing the method
-will result in a different signature.
-
-
-
-
-
-
- -
- -
- - -
-

build_http() -

-
source code  -
- -
-Builds httplib2.Http object
-
-Returns:
-A httplib2.Http object, which is used to make http requests, and which has timeout set by default.
-To override default timeout call
-
-  socket.setdefaulttimeout(timeout_in_sec)
-
-before interacting with this method.
-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.http-pysrc.html b/docs/epy/googleapiclient.http-pysrc.html deleted file mode 100644 index 3dfa21e889f..00000000000 --- a/docs/epy/googleapiclient.http-pysrc.html +++ /dev/null @@ -1,2349 +0,0 @@ - - - - - googleapiclient.http - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module http - - - - - - -
[hide private]
[frames] | no frames]
-
-

Source Code for Module googleapiclient.http

-
-   1  # Copyright 2014 Google Inc. All Rights Reserved. 
-   2  # 
-   3  # Licensed under the Apache License, Version 2.0 (the "License"); 
-   4  # you may not use this file except in compliance with the License. 
-   5  # You may obtain a copy of the License at 
-   6  # 
-   7  #      http://www.apache.org/licenses/LICENSE-2.0 
-   8  # 
-   9  # Unless required by applicable law or agreed to in writing, software 
-  10  # distributed under the License is distributed on an "AS IS" BASIS, 
-  11  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-  12  # See the License for the specific language governing permissions and 
-  13  # limitations under the License. 
-  14   
-  15  """Classes to encapsulate a single HTTP request. 
-  16   
-  17  The classes implement a command pattern, with every 
-  18  object supporting an execute() method that does the 
-  19  actual HTTP request. 
-  20  """ 
-  21  from __future__ import absolute_import 
-  22  import six 
-  23  from six.moves import http_client 
-  24  from six.moves import range 
-  25   
-  26  __author__ = "jcgregorio@google.com (Joe Gregorio)" 
-  27   
-  28  from six import BytesIO, StringIO 
-  29  from six.moves.urllib.parse import urlparse, urlunparse, quote, unquote 
-  30   
-  31  import base64 
-  32  import copy 
-  33  import gzip 
-  34  import httplib2 
-  35  import json 
-  36  import logging 
-  37  import mimetypes 
-  38  import os 
-  39  import random 
-  40  import socket 
-  41  import sys 
-  42  import time 
-  43  import uuid 
-  44   
-  45  # TODO(issue 221): Remove this conditional import jibbajabba. 
-  46  try: 
-  47      import ssl 
-  48  except ImportError: 
-  49      _ssl_SSLError = object() 
-  50  else: 
-  51      _ssl_SSLError = ssl.SSLError 
-  52   
-  53  from email.generator import Generator 
-  54  from email.mime.multipart import MIMEMultipart 
-  55  from email.mime.nonmultipart import MIMENonMultipart 
-  56  from email.parser import FeedParser 
-  57   
-  58  from googleapiclient import _helpers as util 
-  59   
-  60  from googleapiclient import _auth 
-  61  from googleapiclient.errors import BatchError 
-  62  from googleapiclient.errors import HttpError 
-  63  from googleapiclient.errors import InvalidChunkSizeError 
-  64  from googleapiclient.errors import ResumableUploadError 
-  65  from googleapiclient.errors import UnexpectedBodyError 
-  66  from googleapiclient.errors import UnexpectedMethodError 
-  67  from googleapiclient.model import JsonModel 
-  68   
-  69   
-  70  LOGGER = logging.getLogger(__name__) 
-  71   
-  72  DEFAULT_CHUNK_SIZE = 100 * 1024 * 1024 
-  73   
-  74  MAX_URI_LENGTH = 2048 
-  75   
-  76  MAX_BATCH_LIMIT = 1000 
-  77   
-  78  _TOO_MANY_REQUESTS = 429 
-  79   
-  80  DEFAULT_HTTP_TIMEOUT_SEC = 60 
-  81   
-  82  _LEGACY_BATCH_URI = "https://www.googleapis.com/batch" 
-  83   
-  84  if six.PY2: 
-  85      # That's a builtin python3 exception, nonexistent in python2. 
-  86      # Defined to None to avoid NameError while trying to catch it 
-  87      ConnectionError = None 
-
88 - 89 - 90 -def _should_retry_response(resp_status, content): -
91 """Determines whether a response should be retried. - 92 - 93 Args: - 94 resp_status: The response status received. - 95 content: The response content body. - 96 - 97 Returns: - 98 True if the response should be retried, otherwise False. - 99 """ - 100 # Retry on 5xx errors. - 101 if resp_status >= 500: - 102 return True - 103 - 104 # Retry on 429 errors. - 105 if resp_status == _TOO_MANY_REQUESTS: - 106 return True - 107 - 108 # For 403 errors, we have to check for the `reason` in the response to - 109 # determine if we should retry. - 110 if resp_status == six.moves.http_client.FORBIDDEN: - 111 # If there's no details about the 403 type, don't retry. - 112 if not content: - 113 return False - 114 - 115 # Content is in JSON format. - 116 try: - 117 data = json.loads(content.decode("utf-8")) - 118 if isinstance(data, dict): - 119 reason = data["error"]["errors"][0]["reason"] - 120 else: - 121 reason = data[0]["error"]["errors"]["reason"] - 122 except (UnicodeDecodeError, ValueError, KeyError): - 123 LOGGER.warning("Invalid JSON content from response: %s", content) - 124 return False - 125 - 126 LOGGER.warning('Encountered 403 Forbidden with reason "%s"', reason) - 127 - 128 # Only retry on rate limit related failures. - 129 if reason in ("userRateLimitExceeded", "rateLimitExceeded"): - 130 return True - 131 - 132 # Everything else is a success or non-retriable so break. - 133 return False -
134 -
135 - 136 -def _retry_request( - 137 http, num_retries, req_type, sleep, rand, uri, method, *args, **kwargs - 138 ): -
139 """Retries an HTTP request multiple times while handling errors. - 140 - 141 If after all retries the request still fails, last error is either returned as - 142 return value (for HTTP 5xx errors) or thrown (for ssl.SSLError). - 143 - 144 Args: - 145 http: Http object to be used to execute request. - 146 num_retries: Maximum number of retries. - 147 req_type: Type of the request (used for logging retries). - 148 sleep, rand: Functions to sleep for random time between retries. - 149 uri: URI to be requested. - 150 method: HTTP method to be used. - 151 args, kwargs: Additional arguments passed to http.request. - 152 - 153 Returns: - 154 resp, content - Response from the http request (may be HTTP 5xx). - 155 """ - 156 resp = None - 157 content = None - 158 exception = None - 159 for retry_num in range(num_retries + 1): - 160 if retry_num > 0: - 161 # Sleep before retrying. - 162 sleep_time = rand() * 2 ** retry_num - 163 LOGGER.warning( - 164 "Sleeping %.2f seconds before retry %d of %d for %s: %s %s, after %s", - 165 sleep_time, - 166 retry_num, - 167 num_retries, - 168 req_type, - 169 method, - 170 uri, - 171 resp.status if resp else exception, - 172 ) - 173 sleep(sleep_time) - 174 - 175 try: - 176 exception = None - 177 resp, content = http.request(uri, method, *args, **kwargs) - 178 # Retry on SSL errors and socket timeout errors. - 179 except _ssl_SSLError as ssl_error: - 180 exception = ssl_error - 181 except socket.timeout as socket_timeout: - 182 # It's important that this be before socket.error as it's a subclass - 183 # socket.timeout has no errorcode - 184 exception = socket_timeout - 185 except ConnectionError as connection_error: - 186 # Needs to be before socket.error as it's a subclass of - 187 # OSError (socket.error) - 188 exception = connection_error - 189 except socket.error as socket_error: - 190 # errno's contents differ by platform, so we have to match by name. - 191 if socket.errno.errorcode.get(socket_error.errno) not in { - 192 "WSAETIMEDOUT", - 193 "ETIMEDOUT", - 194 "EPIPE", - 195 "ECONNABORTED", - 196 }: - 197 raise - 198 exception = socket_error - 199 except httplib2.ServerNotFoundError as server_not_found_error: - 200 exception = server_not_found_error - 201 - 202 if exception: - 203 if retry_num == num_retries: - 204 raise exception - 205 else: - 206 continue - 207 - 208 if not _should_retry_response(resp.status, content): - 209 break - 210 - 211 return resp, content -
212 -
213 - 214 -class MediaUploadProgress(object): -
215 """Status of a resumable upload.""" - 216 -
217 - def __init__(self, resumable_progress, total_size): -
218 """Constructor. - 219 - 220 Args: - 221 resumable_progress: int, bytes sent so far. - 222 total_size: int, total bytes in complete upload, or None if the total - 223 upload size isn't known ahead of time. - 224 """ - 225 self.resumable_progress = resumable_progress - 226 self.total_size = total_size -
227 -
228 - def progress(self): -
229 """Percent of upload completed, as a float. - 230 - 231 Returns: - 232 the percentage complete as a float, returning 0.0 if the total size of - 233 the upload is unknown. - 234 """ - 235 if self.total_size is not None and self.total_size != 0: - 236 return float(self.resumable_progress) / float(self.total_size) - 237 else: - 238 return 0.0 -
239 -
240 - 241 -class MediaDownloadProgress(object): -
242 """Status of a resumable download.""" - 243 -
244 - def __init__(self, resumable_progress, total_size): -
245 """Constructor. - 246 - 247 Args: - 248 resumable_progress: int, bytes received so far. - 249 total_size: int, total bytes in complete download. - 250 """ - 251 self.resumable_progress = resumable_progress - 252 self.total_size = total_size -
253 -
254 - def progress(self): -
255 """Percent of download completed, as a float. - 256 - 257 Returns: - 258 the percentage complete as a float, returning 0.0 if the total size of - 259 the download is unknown. - 260 """ - 261 if self.total_size is not None and self.total_size != 0: - 262 return float(self.resumable_progress) / float(self.total_size) - 263 else: - 264 return 0.0 -
265 -
266 - 267 -class MediaUpload(object): -
268 """Describes a media object to upload. - 269 - 270 Base class that defines the interface of MediaUpload subclasses. - 271 - 272 Note that subclasses of MediaUpload may allow you to control the chunksize - 273 when uploading a media object. It is important to keep the size of the chunk - 274 as large as possible to keep the upload efficient. Other factors may influence - 275 the size of the chunk you use, particularly if you are working in an - 276 environment where individual HTTP requests may have a hardcoded time limit, - 277 such as under certain classes of requests under Google App Engine. - 278 - 279 Streams are io.Base compatible objects that support seek(). Some MediaUpload - 280 subclasses support using streams directly to upload data. Support for - 281 streaming may be indicated by a MediaUpload sub-class and if appropriate for a - 282 platform that stream will be used for uploading the media object. The support - 283 for streaming is indicated by has_stream() returning True. The stream() method - 284 should return an io.Base object that supports seek(). On platforms where the - 285 underlying httplib module supports streaming, for example Python 2.6 and - 286 later, the stream will be passed into the http library which will result in - 287 less memory being used and possibly faster uploads. - 288 - 289 If you need to upload media that can't be uploaded using any of the existing - 290 MediaUpload sub-class then you can sub-class MediaUpload for your particular - 291 needs. - 292 """ - 293 -
294 - def chunksize(self): -
295 """Chunk size for resumable uploads. - 296 - 297 Returns: - 298 Chunk size in bytes. - 299 """ - 300 raise NotImplementedError() -
301 -
302 - def mimetype(self): -
303 """Mime type of the body. - 304 - 305 Returns: - 306 Mime type. - 307 """ - 308 return "application/octet-stream" -
309 -
310 - def size(self): -
311 """Size of upload. - 312 - 313 Returns: - 314 Size of the body, or None of the size is unknown. - 315 """ - 316 return None -
317 -
318 - def resumable(self): -
319 """Whether this upload is resumable. - 320 - 321 Returns: - 322 True if resumable upload or False. - 323 """ - 324 return False -
325 -
326 - def getbytes(self, begin, end): -
327 """Get bytes from the media. - 328 - 329 Args: - 330 begin: int, offset from beginning of file. - 331 length: int, number of bytes to read, starting at begin. - 332 - 333 Returns: - 334 A string of bytes read. May be shorter than length if EOF was reached - 335 first. - 336 """ - 337 raise NotImplementedError() -
338 -
339 - def has_stream(self): -
340 """Does the underlying upload support a streaming interface. - 341 - 342 Streaming means it is an io.IOBase subclass that supports seek, i.e. - 343 seekable() returns True. - 344 - 345 Returns: - 346 True if the call to stream() will return an instance of a seekable io.Base - 347 subclass. - 348 """ - 349 return False -
350 -
351 - def stream(self): -
352 """A stream interface to the data being uploaded. - 353 - 354 Returns: - 355 The returned value is an io.IOBase subclass that supports seek, i.e. - 356 seekable() returns True. - 357 """ - 358 raise NotImplementedError() -
359 - 360 @util.positional(1) -
361 - def _to_json(self, strip=None): -
362 """Utility function for creating a JSON representation of a MediaUpload. - 363 - 364 Args: - 365 strip: array, An array of names of members to not include in the JSON. - 366 - 367 Returns: - 368 string, a JSON representation of this instance, suitable to pass to - 369 from_json(). - 370 """ - 371 t = type(self) - 372 d = copy.copy(self.__dict__) - 373 if strip is not None: - 374 for member in strip: - 375 del d[member] - 376 d["_class"] = t.__name__ - 377 d["_module"] = t.__module__ - 378 return json.dumps(d) -
379 -
380 - def to_json(self): -
381 """Create a JSON representation of an instance of MediaUpload. - 382 - 383 Returns: - 384 string, a JSON representation of this instance, suitable to pass to - 385 from_json(). - 386 """ - 387 return self._to_json() -
388 - 389 @classmethod -
390 - def new_from_json(cls, s): -
391 """Utility class method to instantiate a MediaUpload subclass from a JSON - 392 representation produced by to_json(). - 393 - 394 Args: - 395 s: string, JSON from to_json(). - 396 - 397 Returns: - 398 An instance of the subclass of MediaUpload that was serialized with - 399 to_json(). - 400 """ - 401 data = json.loads(s) - 402 # Find and call the right classmethod from_json() to restore the object. - 403 module = data["_module"] - 404 m = __import__(module, fromlist=module.split(".")[:-1]) - 405 kls = getattr(m, data["_class"]) - 406 from_json = getattr(kls, "from_json") - 407 return from_json(s) -
408 -
409 - 410 -class MediaIoBaseUpload(MediaUpload): -
411 """A MediaUpload for a io.Base objects. - 412 - 413 Note that the Python file object is compatible with io.Base and can be used - 414 with this class also. - 415 - 416 fh = BytesIO('...Some data to upload...') - 417 media = MediaIoBaseUpload(fh, mimetype='image/png', - 418 chunksize=1024*1024, resumable=True) - 419 farm.animals().insert( - 420 id='cow', - 421 name='cow.png', - 422 media_body=media).execute() - 423 - 424 Depending on the platform you are working on, you may pass -1 as the - 425 chunksize, which indicates that the entire file should be uploaded in a single - 426 request. If the underlying platform supports streams, such as Python 2.6 or - 427 later, then this can be very efficient as it avoids multiple connections, and - 428 also avoids loading the entire file into memory before sending it. Note that - 429 Google App Engine has a 5MB limit on request size, so you should never set - 430 your chunksize larger than 5MB, or to -1. - 431 """ - 432 - 433 @util.positional(3) -
434 - def __init__(self, fd, mimetype, chunksize=DEFAULT_CHUNK_SIZE, resumable=False): -
435 """Constructor. - 436 - 437 Args: - 438 fd: io.Base or file object, The source of the bytes to upload. MUST be - 439 opened in blocking mode, do not use streams opened in non-blocking mode. - 440 The given stream must be seekable, that is, it must be able to call - 441 seek() on fd. - 442 mimetype: string, Mime-type of the file. - 443 chunksize: int, File will be uploaded in chunks of this many bytes. Only - 444 used if resumable=True. Pass in a value of -1 if the file is to be - 445 uploaded as a single chunk. Note that Google App Engine has a 5MB limit - 446 on request size, so you should never set your chunksize larger than 5MB, - 447 or to -1. - 448 resumable: bool, True if this is a resumable upload. False means upload - 449 in a single request. - 450 """ - 451 super(MediaIoBaseUpload, self).__init__() - 452 self._fd = fd - 453 self._mimetype = mimetype - 454 if not (chunksize == -1 or chunksize > 0): - 455 raise InvalidChunkSizeError() - 456 self._chunksize = chunksize - 457 self._resumable = resumable - 458 - 459 self._fd.seek(0, os.SEEK_END) - 460 self._size = self._fd.tell() -
461 -
462 - def chunksize(self): -
463 """Chunk size for resumable uploads. - 464 - 465 Returns: - 466 Chunk size in bytes. - 467 """ - 468 return self._chunksize -
469 -
470 - def mimetype(self): -
471 """Mime type of the body. - 472 - 473 Returns: - 474 Mime type. - 475 """ - 476 return self._mimetype -
477 -
478 - def size(self): -
479 """Size of upload. - 480 - 481 Returns: - 482 Size of the body, or None of the size is unknown. - 483 """ - 484 return self._size -
485 -
486 - def resumable(self): -
487 """Whether this upload is resumable. - 488 - 489 Returns: - 490 True if resumable upload or False. - 491 """ - 492 return self._resumable -
493 -
494 - def getbytes(self, begin, length): -
495 """Get bytes from the media. - 496 - 497 Args: - 498 begin: int, offset from beginning of file. - 499 length: int, number of bytes to read, starting at begin. - 500 - 501 Returns: - 502 A string of bytes read. May be shorted than length if EOF was reached - 503 first. - 504 """ - 505 self._fd.seek(begin) - 506 return self._fd.read(length) -
507 -
508 - def has_stream(self): -
509 """Does the underlying upload support a streaming interface. - 510 - 511 Streaming means it is an io.IOBase subclass that supports seek, i.e. - 512 seekable() returns True. - 513 - 514 Returns: - 515 True if the call to stream() will return an instance of a seekable io.Base - 516 subclass. - 517 """ - 518 return True -
519 -
520 - def stream(self): -
521 """A stream interface to the data being uploaded. - 522 - 523 Returns: - 524 The returned value is an io.IOBase subclass that supports seek, i.e. - 525 seekable() returns True. - 526 """ - 527 return self._fd -
528 -
529 - def to_json(self): -
530 """This upload type is not serializable.""" - 531 raise NotImplementedError("MediaIoBaseUpload is not serializable.") -
532 -
533 - 534 -class MediaFileUpload(MediaIoBaseUpload): -
535 """A MediaUpload for a file. - 536 - 537 Construct a MediaFileUpload and pass as the media_body parameter of the - 538 method. For example, if we had a service that allowed uploading images: - 539 - 540 media = MediaFileUpload('cow.png', mimetype='image/png', - 541 chunksize=1024*1024, resumable=True) - 542 farm.animals().insert( - 543 id='cow', - 544 name='cow.png', - 545 media_body=media).execute() - 546 - 547 Depending on the platform you are working on, you may pass -1 as the - 548 chunksize, which indicates that the entire file should be uploaded in a single - 549 request. If the underlying platform supports streams, such as Python 2.6 or - 550 later, then this can be very efficient as it avoids multiple connections, and - 551 also avoids loading the entire file into memory before sending it. Note that - 552 Google App Engine has a 5MB limit on request size, so you should never set - 553 your chunksize larger than 5MB, or to -1. - 554 """ - 555 - 556 @util.positional(2) -
557 - def __init__( - 558 self, filename, mimetype=None, chunksize=DEFAULT_CHUNK_SIZE, resumable=False - 559 ): -
560 """Constructor. - 561 - 562 Args: - 563 filename: string, Name of the file. - 564 mimetype: string, Mime-type of the file. If None then a mime-type will be - 565 guessed from the file extension. - 566 chunksize: int, File will be uploaded in chunks of this many bytes. Only - 567 used if resumable=True. Pass in a value of -1 if the file is to be - 568 uploaded in a single chunk. Note that Google App Engine has a 5MB limit - 569 on request size, so you should never set your chunksize larger than 5MB, - 570 or to -1. - 571 resumable: bool, True if this is a resumable upload. False means upload - 572 in a single request. - 573 """ - 574 self._filename = filename - 575 fd = open(self._filename, "rb") - 576 if mimetype is None: - 577 # No mimetype provided, make a guess. - 578 mimetype, _ = mimetypes.guess_type(filename) - 579 if mimetype is None: - 580 # Guess failed, use octet-stream. - 581 mimetype = "application/octet-stream" - 582 super(MediaFileUpload, self).__init__( - 583 fd, mimetype, chunksize=chunksize, resumable=resumable - 584 ) -
585 -
586 - def __del__(self): -
587 self._fd.close() -
588 -
589 - def to_json(self): -
590 """Creating a JSON representation of an instance of MediaFileUpload. - 591 - 592 Returns: - 593 string, a JSON representation of this instance, suitable to pass to - 594 from_json(). - 595 """ - 596 return self._to_json(strip=["_fd"]) -
597 - 598 @staticmethod -
599 - def from_json(s): -
600 d = json.loads(s) - 601 return MediaFileUpload( - 602 d["_filename"], - 603 mimetype=d["_mimetype"], - 604 chunksize=d["_chunksize"], - 605 resumable=d["_resumable"], - 606 ) -
607 -
608 - 609 -class MediaInMemoryUpload(MediaIoBaseUpload): -
610 """MediaUpload for a chunk of bytes. - 611 - 612 DEPRECATED: Use MediaIoBaseUpload with either io.TextIOBase or StringIO for - 613 the stream. - 614 """ - 615 - 616 @util.positional(2) -
617 - def __init__( - 618 self, - 619 body, - 620 mimetype="application/octet-stream", - 621 chunksize=DEFAULT_CHUNK_SIZE, - 622 resumable=False, - 623 ): -
624 """Create a new MediaInMemoryUpload. - 625 - 626 DEPRECATED: Use MediaIoBaseUpload with either io.TextIOBase or StringIO for - 627 the stream. - 628 - 629 Args: - 630 body: string, Bytes of body content. - 631 mimetype: string, Mime-type of the file or default of - 632 'application/octet-stream'. - 633 chunksize: int, File will be uploaded in chunks of this many bytes. Only - 634 used if resumable=True. - 635 resumable: bool, True if this is a resumable upload. False means upload - 636 in a single request. - 637 """ - 638 fd = BytesIO(body) - 639 super(MediaInMemoryUpload, self).__init__( - 640 fd, mimetype, chunksize=chunksize, resumable=resumable - 641 ) -
642 -
643 - 644 -class MediaIoBaseDownload(object): -
645 """"Download media resources. - 646 - 647 Note that the Python file object is compatible with io.Base and can be used - 648 with this class also. - 649 - 650 - 651 Example: - 652 request = farms.animals().get_media(id='cow') - 653 fh = io.FileIO('cow.png', mode='wb') - 654 downloader = MediaIoBaseDownload(fh, request, chunksize=1024*1024) - 655 - 656 done = False - 657 while done is False: - 658 status, done = downloader.next_chunk() - 659 if status: - 660 print "Download %d%%." % int(status.progress() * 100) - 661 print "Download Complete!" - 662 """ - 663 - 664 @util.positional(3) -
665 - def __init__(self, fd, request, chunksize=DEFAULT_CHUNK_SIZE): -
666 """Constructor. - 667 - 668 Args: - 669 fd: io.Base or file object, The stream in which to write the downloaded - 670 bytes. - 671 request: googleapiclient.http.HttpRequest, the media request to perform in - 672 chunks. - 673 chunksize: int, File will be downloaded in chunks of this many bytes. - 674 """ - 675 self._fd = fd - 676 self._request = request - 677 self._uri = request.uri - 678 self._chunksize = chunksize - 679 self._progress = 0 - 680 self._total_size = None - 681 self._done = False - 682 - 683 # Stubs for testing. - 684 self._sleep = time.sleep - 685 self._rand = random.random - 686 - 687 self._headers = {} - 688 for k, v in six.iteritems(request.headers): - 689 # allow users to supply custom headers by setting them on the request - 690 # but strip out the ones that are set by default on requests generated by - 691 # API methods like Drive's files().get(fileId=...) - 692 if not k.lower() in ("accept", "accept-encoding", "user-agent"): - 693 self._headers[k] = v -
694 - 695 @util.positional(1) -
696 - def next_chunk(self, num_retries=0): -
697 """Get the next chunk of the download. - 698 - 699 Args: - 700 num_retries: Integer, number of times to retry with randomized - 701 exponential backoff. If all retries fail, the raised HttpError - 702 represents the last request. If zero (default), we attempt the - 703 request only once. - 704 - 705 Returns: - 706 (status, done): (MediaDownloadProgress, boolean) - 707 The value of 'done' will be True when the media has been fully - 708 downloaded or the total size of the media is unknown. - 709 - 710 Raises: - 711 googleapiclient.errors.HttpError if the response was not a 2xx. - 712 httplib2.HttpLib2Error if a transport error has occurred. - 713 """ - 714 headers = self._headers.copy() - 715 headers["range"] = "bytes=%d-%d" % ( - 716 self._progress, - 717 self._progress + self._chunksize, - 718 ) - 719 http = self._request.http - 720 - 721 resp, content = _retry_request( - 722 http, - 723 num_retries, - 724 "media download", - 725 self._sleep, - 726 self._rand, - 727 self._uri, - 728 "GET", - 729 headers=headers, - 730 ) - 731 - 732 if resp.status in [200, 206]: - 733 if "content-location" in resp and resp["content-location"] != self._uri: - 734 self._uri = resp["content-location"] - 735 self._progress += len(content) - 736 self._fd.write(content) - 737 - 738 if "content-range" in resp: - 739 content_range = resp["content-range"] - 740 length = content_range.rsplit("/", 1)[1] - 741 self._total_size = int(length) - 742 elif "content-length" in resp: - 743 self._total_size = int(resp["content-length"]) - 744 - 745 if self._total_size is None or self._progress == self._total_size: - 746 self._done = True - 747 return MediaDownloadProgress(self._progress, self._total_size), self._done - 748 else: - 749 raise HttpError(resp, content, uri=self._uri) -
750 -
751 - 752 -class _StreamSlice(object): -
753 """Truncated stream. - 754 - 755 Takes a stream and presents a stream that is a slice of the original stream. - 756 This is used when uploading media in chunks. In later versions of Python a - 757 stream can be passed to httplib in place of the string of data to send. The - 758 problem is that httplib just blindly reads to the end of the stream. This - 759 wrapper presents a virtual stream that only reads to the end of the chunk. - 760 """ - 761 -
762 - def __init__(self, stream, begin, chunksize): -
763 """Constructor. - 764 - 765 Args: - 766 stream: (io.Base, file object), the stream to wrap. - 767 begin: int, the seek position the chunk begins at. - 768 chunksize: int, the size of the chunk. - 769 """ - 770 self._stream = stream - 771 self._begin = begin - 772 self._chunksize = chunksize - 773 self._stream.seek(begin) -
774 -
775 - def read(self, n=-1): -
776 """Read n bytes. - 777 - 778 Args: - 779 n, int, the number of bytes to read. - 780 - 781 Returns: - 782 A string of length 'n', or less if EOF is reached. - 783 """ - 784 # The data left available to read sits in [cur, end) - 785 cur = self._stream.tell() - 786 end = self._begin + self._chunksize - 787 if n == -1 or cur + n > end: - 788 n = end - cur - 789 return self._stream.read(n) -
790 -
791 - 792 -class HttpRequest(object): -
793 """Encapsulates a single HTTP request.""" - 794 - 795 @util.positional(4) -
796 - def __init__( - 797 self, - 798 http, - 799 postproc, - 800 uri, - 801 method="GET", - 802 body=None, - 803 headers=None, - 804 methodId=None, - 805 resumable=None, - 806 ): -
807 """Constructor for an HttpRequest. - 808 - 809 Args: - 810 http: httplib2.Http, the transport object to use to make a request - 811 postproc: callable, called on the HTTP response and content to transform - 812 it into a data object before returning, or raising an exception - 813 on an error. - 814 uri: string, the absolute URI to send the request to - 815 method: string, the HTTP method to use - 816 body: string, the request body of the HTTP request, - 817 headers: dict, the HTTP request headers - 818 methodId: string, a unique identifier for the API method being called. - 819 resumable: MediaUpload, None if this is not a resumbale request. - 820 """ - 821 self.uri = uri - 822 self.method = method - 823 self.body = body - 824 self.headers = headers or {} - 825 self.methodId = methodId - 826 self.http = http - 827 self.postproc = postproc - 828 self.resumable = resumable - 829 self.response_callbacks = [] - 830 self._in_error_state = False - 831 - 832 # The size of the non-media part of the request. - 833 self.body_size = len(self.body or "") - 834 - 835 # The resumable URI to send chunks to. - 836 self.resumable_uri = None - 837 - 838 # The bytes that have been uploaded. - 839 self.resumable_progress = 0 - 840 - 841 # Stubs for testing. - 842 self._rand = random.random - 843 self._sleep = time.sleep -
844 - 845 @util.positional(1) -
846 - def execute(self, http=None, num_retries=0): -
847 """Execute the request. - 848 - 849 Args: - 850 http: httplib2.Http, an http object to be used in place of the - 851 one the HttpRequest request object was constructed with. - 852 num_retries: Integer, number of times to retry with randomized - 853 exponential backoff. If all retries fail, the raised HttpError - 854 represents the last request. If zero (default), we attempt the - 855 request only once. - 856 - 857 Returns: - 858 A deserialized object model of the response body as determined - 859 by the postproc. - 860 - 861 Raises: - 862 googleapiclient.errors.HttpError if the response was not a 2xx. - 863 httplib2.HttpLib2Error if a transport error has occurred. - 864 """ - 865 if http is None: - 866 http = self.http - 867 - 868 if self.resumable: - 869 body = None - 870 while body is None: - 871 _, body = self.next_chunk(http=http, num_retries=num_retries) - 872 return body - 873 - 874 # Non-resumable case. - 875 - 876 if "content-length" not in self.headers: - 877 self.headers["content-length"] = str(self.body_size) - 878 # If the request URI is too long then turn it into a POST request. - 879 # Assume that a GET request never contains a request body. - 880 if len(self.uri) > MAX_URI_LENGTH and self.method == "GET": - 881 self.method = "POST" - 882 self.headers["x-http-method-override"] = "GET" - 883 self.headers["content-type"] = "application/x-www-form-urlencoded" - 884 parsed = urlparse(self.uri) - 885 self.uri = urlunparse( - 886 (parsed.scheme, parsed.netloc, parsed.path, parsed.params, None, None) - 887 ) - 888 self.body = parsed.query - 889 self.headers["content-length"] = str(len(self.body)) - 890 - 891 # Handle retries for server-side errors. - 892 resp, content = _retry_request( - 893 http, - 894 num_retries, - 895 "request", - 896 self._sleep, - 897 self._rand, - 898 str(self.uri), - 899 method=str(self.method), - 900 body=self.body, - 901 headers=self.headers, - 902 ) - 903 - 904 for callback in self.response_callbacks: - 905 callback(resp) - 906 if resp.status >= 300: - 907 raise HttpError(resp, content, uri=self.uri) - 908 return self.postproc(resp, content) -
909 - 910 @util.positional(2) -
911 - def add_response_callback(self, cb): -
912 """add_response_headers_callback - 913 - 914 Args: - 915 cb: Callback to be called on receiving the response headers, of signature: - 916 - 917 def cb(resp): - 918 # Where resp is an instance of httplib2.Response - 919 """ - 920 self.response_callbacks.append(cb) -
921 - 922 @util.positional(1) -
923 - def next_chunk(self, http=None, num_retries=0): -
924 """Execute the next step of a resumable upload. - 925 - 926 Can only be used if the method being executed supports media uploads and - 927 the MediaUpload object passed in was flagged as using resumable upload. - 928 - 929 Example: - 930 - 931 media = MediaFileUpload('cow.png', mimetype='image/png', - 932 chunksize=1000, resumable=True) - 933 request = farm.animals().insert( - 934 id='cow', - 935 name='cow.png', - 936 media_body=media) - 937 - 938 response = None - 939 while response is None: - 940 status, response = request.next_chunk() - 941 if status: - 942 print "Upload %d%% complete." % int(status.progress() * 100) - 943 - 944 - 945 Args: - 946 http: httplib2.Http, an http object to be used in place of the - 947 one the HttpRequest request object was constructed with. - 948 num_retries: Integer, number of times to retry with randomized - 949 exponential backoff. If all retries fail, the raised HttpError - 950 represents the last request. If zero (default), we attempt the - 951 request only once. - 952 - 953 Returns: - 954 (status, body): (ResumableMediaStatus, object) - 955 The body will be None until the resumable media is fully uploaded. - 956 - 957 Raises: - 958 googleapiclient.errors.HttpError if the response was not a 2xx. - 959 httplib2.HttpLib2Error if a transport error has occurred. - 960 """ - 961 if http is None: - 962 http = self.http - 963 - 964 if self.resumable.size() is None: - 965 size = "*" - 966 else: - 967 size = str(self.resumable.size()) - 968 - 969 if self.resumable_uri is None: - 970 start_headers = copy.copy(self.headers) - 971 start_headers["X-Upload-Content-Type"] = self.resumable.mimetype() - 972 if size != "*": - 973 start_headers["X-Upload-Content-Length"] = size - 974 start_headers["content-length"] = str(self.body_size) - 975 - 976 resp, content = _retry_request( - 977 http, - 978 num_retries, - 979 "resumable URI request", - 980 self._sleep, - 981 self._rand, - 982 self.uri, - 983 method=self.method, - 984 body=self.body, - 985 headers=start_headers, - 986 ) - 987 - 988 if resp.status == 200 and "location" in resp: - 989 self.resumable_uri = resp["location"] - 990 else: - 991 raise ResumableUploadError(resp, content) - 992 elif self._in_error_state: - 993 # If we are in an error state then query the server for current state of - 994 # the upload by sending an empty PUT and reading the 'range' header in - 995 # the response. - 996 headers = {"Content-Range": "bytes */%s" % size, "content-length": "0"} - 997 resp, content = http.request(self.resumable_uri, "PUT", headers=headers) - 998 status, body = self._process_response(resp, content) - 999 if body: -1000 # The upload was complete. -1001 return (status, body) -1002 -1003 if self.resumable.has_stream(): -1004 data = self.resumable.stream() -1005 if self.resumable.chunksize() == -1: -1006 data.seek(self.resumable_progress) -1007 chunk_end = self.resumable.size() - self.resumable_progress - 1 -1008 else: -1009 # Doing chunking with a stream, so wrap a slice of the stream. -1010 data = _StreamSlice( -1011 data, self.resumable_progress, self.resumable.chunksize() -1012 ) -1013 chunk_end = min( -1014 self.resumable_progress + self.resumable.chunksize() - 1, -1015 self.resumable.size() - 1, -1016 ) -1017 else: -1018 data = self.resumable.getbytes( -1019 self.resumable_progress, self.resumable.chunksize() -1020 ) -1021 -1022 # A short read implies that we are at EOF, so finish the upload. -1023 if len(data) < self.resumable.chunksize(): -1024 size = str(self.resumable_progress + len(data)) -1025 -1026 chunk_end = self.resumable_progress + len(data) - 1 -1027 -1028 headers = { -1029 "Content-Range": "bytes %d-%d/%s" -1030 % (self.resumable_progress, chunk_end, size), -1031 # Must set the content-length header here because httplib can't -1032 # calculate the size when working with _StreamSlice. -1033 "Content-Length": str(chunk_end - self.resumable_progress + 1), -1034 } -1035 -1036 for retry_num in range(num_retries + 1): -1037 if retry_num > 0: -1038 self._sleep(self._rand() * 2 ** retry_num) -1039 LOGGER.warning( -1040 "Retry #%d for media upload: %s %s, following status: %d" -1041 % (retry_num, self.method, self.uri, resp.status) -1042 ) -1043 -1044 try: -1045 resp, content = http.request( -1046 self.resumable_uri, method="PUT", body=data, headers=headers -1047 ) -1048 except: -1049 self._in_error_state = True -1050 raise -1051 if not _should_retry_response(resp.status, content): -1052 break -1053 -1054 return self._process_response(resp, content) -
1055 -
1056 - def _process_response(self, resp, content): -
1057 """Process the response from a single chunk upload. -1058 -1059 Args: -1060 resp: httplib2.Response, the response object. -1061 content: string, the content of the response. -1062 -1063 Returns: -1064 (status, body): (ResumableMediaStatus, object) -1065 The body will be None until the resumable media is fully uploaded. -1066 -1067 Raises: -1068 googleapiclient.errors.HttpError if the response was not a 2xx or a 308. -1069 """ -1070 if resp.status in [200, 201]: -1071 self._in_error_state = False -1072 return None, self.postproc(resp, content) -1073 elif resp.status == 308: -1074 self._in_error_state = False -1075 # A "308 Resume Incomplete" indicates we are not done. -1076 try: -1077 self.resumable_progress = int(resp["range"].split("-")[1]) + 1 -1078 except KeyError: -1079 # If resp doesn't contain range header, resumable progress is 0 -1080 self.resumable_progress = 0 -1081 if "location" in resp: -1082 self.resumable_uri = resp["location"] -1083 else: -1084 self._in_error_state = True -1085 raise HttpError(resp, content, uri=self.uri) -1086 -1087 return ( -1088 MediaUploadProgress(self.resumable_progress, self.resumable.size()), -1089 None, -1090 ) -
1091 -
1092 - def to_json(self): -
1093 """Returns a JSON representation of the HttpRequest.""" -1094 d = copy.copy(self.__dict__) -1095 if d["resumable"] is not None: -1096 d["resumable"] = self.resumable.to_json() -1097 del d["http"] -1098 del d["postproc"] -1099 del d["_sleep"] -1100 del d["_rand"] -1101 -1102 return json.dumps(d) -
1103 -1104 @staticmethod -
1105 - def from_json(s, http, postproc): -
1106 """Returns an HttpRequest populated with info from a JSON object.""" -1107 d = json.loads(s) -1108 if d["resumable"] is not None: -1109 d["resumable"] = MediaUpload.new_from_json(d["resumable"]) -1110 return HttpRequest( -1111 http, -1112 postproc, -1113 uri=d["uri"], -1114 method=d["method"], -1115 body=d["body"], -1116 headers=d["headers"], -1117 methodId=d["methodId"], -1118 resumable=d["resumable"], -1119 ) -
1120 -1121 @staticmethod -
1122 - def null_postproc(resp, contents): -
1123 return resp, contents -
1124 -
1125 -1126 -class BatchHttpRequest(object): -
1127 """Batches multiple HttpRequest objects into a single HTTP request. -1128 -1129 Example: -1130 from googleapiclient.http import BatchHttpRequest -1131 -1132 def list_animals(request_id, response, exception): -1133 \"\"\"Do something with the animals list response.\"\"\" -1134 if exception is not None: -1135 # Do something with the exception. -1136 pass -1137 else: -1138 # Do something with the response. -1139 pass -1140 -1141 def list_farmers(request_id, response, exception): -1142 \"\"\"Do something with the farmers list response.\"\"\" -1143 if exception is not None: -1144 # Do something with the exception. -1145 pass -1146 else: -1147 # Do something with the response. -1148 pass -1149 -1150 service = build('farm', 'v2') -1151 -1152 batch = BatchHttpRequest() -1153 -1154 batch.add(service.animals().list(), list_animals) -1155 batch.add(service.farmers().list(), list_farmers) -1156 batch.execute(http=http) -1157 """ -1158 -1159 @util.positional(1) -
1160 - def __init__(self, callback=None, batch_uri=None): -
1161 """Constructor for a BatchHttpRequest. -1162 -1163 Args: -1164 callback: callable, A callback to be called for each response, of the -1165 form callback(id, response, exception). The first parameter is the -1166 request id, and the second is the deserialized response object. The -1167 third is an googleapiclient.errors.HttpError exception object if an HTTP error -1168 occurred while processing the request, or None if no error occurred. -1169 batch_uri: string, URI to send batch requests to. -1170 """ -1171 if batch_uri is None: -1172 batch_uri = _LEGACY_BATCH_URI -1173 -1174 if batch_uri == _LEGACY_BATCH_URI: -1175 LOGGER.warning( -1176 "You have constructed a BatchHttpRequest using the legacy batch " -1177 "endpoint %s. This endpoint will be turned down on August 12, 2020. " -1178 "Please provide the API-specific endpoint or use " -1179 "service.new_batch_http_request(). For more details see " -1180 "https://developers.googleblog.com/2018/03/discontinuing-support-for-json-rpc-and.html" -1181 "and https://developers.google.com/api-client-library/python/guide/batch.", -1182 _LEGACY_BATCH_URI, -1183 ) -1184 self._batch_uri = batch_uri -1185 -1186 # Global callback to be called for each individual response in the batch. -1187 self._callback = callback -1188 -1189 # A map from id to request. -1190 self._requests = {} -1191 -1192 # A map from id to callback. -1193 self._callbacks = {} -1194 -1195 # List of request ids, in the order in which they were added. -1196 self._order = [] -1197 -1198 # The last auto generated id. -1199 self._last_auto_id = 0 -1200 -1201 # Unique ID on which to base the Content-ID headers. -1202 self._base_id = None -1203 -1204 # A map from request id to (httplib2.Response, content) response pairs -1205 self._responses = {} -1206 -1207 # A map of id(Credentials) that have been refreshed. -1208 self._refreshed_credentials = {} -
1209 -
1210 - def _refresh_and_apply_credentials(self, request, http): -
1211 """Refresh the credentials and apply to the request. -1212 -1213 Args: -1214 request: HttpRequest, the request. -1215 http: httplib2.Http, the global http object for the batch. -1216 """ -1217 # For the credentials to refresh, but only once per refresh_token -1218 # If there is no http per the request then refresh the http passed in -1219 # via execute() -1220 creds = None -1221 request_credentials = False -1222 -1223 if request.http is not None: -1224 creds = _auth.get_credentials_from_http(request.http) -1225 request_credentials = True -1226 -1227 if creds is None and http is not None: -1228 creds = _auth.get_credentials_from_http(http) -1229 -1230 if creds is not None: -1231 if id(creds) not in self._refreshed_credentials: -1232 _auth.refresh_credentials(creds) -1233 self._refreshed_credentials[id(creds)] = 1 -1234 -1235 # Only apply the credentials if we are using the http object passed in, -1236 # otherwise apply() will get called during _serialize_request(). -1237 if request.http is None or not request_credentials: -1238 _auth.apply_credentials(creds, request.headers) -
1239 -
1240 - def _id_to_header(self, id_): -
1241 """Convert an id to a Content-ID header value. -1242 -1243 Args: -1244 id_: string, identifier of individual request. -1245 -1246 Returns: -1247 A Content-ID header with the id_ encoded into it. A UUID is prepended to -1248 the value because Content-ID headers are supposed to be universally -1249 unique. -1250 """ -1251 if self._base_id is None: -1252 self._base_id = uuid.uuid4() -1253 -1254 # NB: we intentionally leave whitespace between base/id and '+', so RFC2822 -1255 # line folding works properly on Python 3; see -1256 # https://github.com/googleapis/google-api-python-client/issues/164 -1257 return "<%s + %s>" % (self._base_id, quote(id_)) -
1258 -
1259 - def _header_to_id(self, header): -
1260 """Convert a Content-ID header value to an id. -1261 -1262 Presumes the Content-ID header conforms to the format that _id_to_header() -1263 returns. -1264 -1265 Args: -1266 header: string, Content-ID header value. -1267 -1268 Returns: -1269 The extracted id value. -1270 -1271 Raises: -1272 BatchError if the header is not in the expected format. -1273 """ -1274 if header[0] != "<" or header[-1] != ">": -1275 raise BatchError("Invalid value for Content-ID: %s" % header) -1276 if "+" not in header: -1277 raise BatchError("Invalid value for Content-ID: %s" % header) -1278 base, id_ = header[1:-1].split(" + ", 1) -1279 -1280 return unquote(id_) -
1281 -
1282 - def _serialize_request(self, request): -
1283 """Convert an HttpRequest object into a string. -1284 -1285 Args: -1286 request: HttpRequest, the request to serialize. -1287 -1288 Returns: -1289 The request as a string in application/http format. -1290 """ -1291 # Construct status line -1292 parsed = urlparse(request.uri) -1293 request_line = urlunparse( -1294 ("", "", parsed.path, parsed.params, parsed.query, "") -1295 ) -1296 status_line = request.method + " " + request_line + " HTTP/1.1\n" -1297 major, minor = request.headers.get("content-type", "application/json").split( -1298 "/" -1299 ) -1300 msg = MIMENonMultipart(major, minor) -1301 headers = request.headers.copy() -1302 -1303 if request.http is not None: -1304 credentials = _auth.get_credentials_from_http(request.http) -1305 if credentials is not None: -1306 _auth.apply_credentials(credentials, headers) -1307 -1308 # MIMENonMultipart adds its own Content-Type header. -1309 if "content-type" in headers: -1310 del headers["content-type"] -1311 -1312 for key, value in six.iteritems(headers): -1313 msg[key] = value -1314 msg["Host"] = parsed.netloc -1315 msg.set_unixfrom(None) -1316 -1317 if request.body is not None: -1318 msg.set_payload(request.body) -1319 msg["content-length"] = str(len(request.body)) -1320 -1321 # Serialize the mime message. -1322 fp = StringIO() -1323 # maxheaderlen=0 means don't line wrap headers. -1324 g = Generator(fp, maxheaderlen=0) -1325 g.flatten(msg, unixfrom=False) -1326 body = fp.getvalue() -1327 -1328 return status_line + body -
1329 -
1330 - def _deserialize_response(self, payload): -
1331 """Convert string into httplib2 response and content. -1332 -1333 Args: -1334 payload: string, headers and body as a string. -1335 -1336 Returns: -1337 A pair (resp, content), such as would be returned from httplib2.request. -1338 """ -1339 # Strip off the status line -1340 status_line, payload = payload.split("\n", 1) -1341 protocol, status, reason = status_line.split(" ", 2) -1342 -1343 # Parse the rest of the response -1344 parser = FeedParser() -1345 parser.feed(payload) -1346 msg = parser.close() -1347 msg["status"] = status -1348 -1349 # Create httplib2.Response from the parsed headers. -1350 resp = httplib2.Response(msg) -1351 resp.reason = reason -1352 resp.version = int(protocol.split("/", 1)[1].replace(".", "")) -1353 -1354 content = payload.split("\r\n\r\n", 1)[1] -1355 -1356 return resp, content -
1357 -
1358 - def _new_id(self): -
1359 """Create a new id. -1360 -1361 Auto incrementing number that avoids conflicts with ids already used. -1362 -1363 Returns: -1364 string, a new unique id. -1365 """ -1366 self._last_auto_id += 1 -1367 while str(self._last_auto_id) in self._requests: -1368 self._last_auto_id += 1 -1369 return str(self._last_auto_id) -
1370 -1371 @util.positional(2) -
1372 - def add(self, request, callback=None, request_id=None): -
1373 """Add a new request. -1374 -1375 Every callback added will be paired with a unique id, the request_id. That -1376 unique id will be passed back to the callback when the response comes back -1377 from the server. The default behavior is to have the library generate it's -1378 own unique id. If the caller passes in a request_id then they must ensure -1379 uniqueness for each request_id, and if they are not an exception is -1380 raised. Callers should either supply all request_ids or never supply a -1381 request id, to avoid such an error. -1382 -1383 Args: -1384 request: HttpRequest, Request to add to the batch. -1385 callback: callable, A callback to be called for this response, of the -1386 form callback(id, response, exception). The first parameter is the -1387 request id, and the second is the deserialized response object. The -1388 third is an googleapiclient.errors.HttpError exception object if an HTTP error -1389 occurred while processing the request, or None if no errors occurred. -1390 request_id: string, A unique id for the request. The id will be passed -1391 to the callback with the response. -1392 -1393 Returns: -1394 None -1395 -1396 Raises: -1397 BatchError if a media request is added to a batch. -1398 KeyError is the request_id is not unique. -1399 """ -1400 -1401 if len(self._order) >= MAX_BATCH_LIMIT: -1402 raise BatchError( -1403 "Exceeded the maximum calls(%d) in a single batch request." -1404 % MAX_BATCH_LIMIT -1405 ) -1406 if request_id is None: -1407 request_id = self._new_id() -1408 if request.resumable is not None: -1409 raise BatchError("Media requests cannot be used in a batch request.") -1410 if request_id in self._requests: -1411 raise KeyError("A request with this ID already exists: %s" % request_id) -1412 self._requests[request_id] = request -1413 self._callbacks[request_id] = callback -1414 self._order.append(request_id) -
1415 -
1416 - def _execute(self, http, order, requests): -
1417 """Serialize batch request, send to server, process response. -1418 -1419 Args: -1420 http: httplib2.Http, an http object to be used to make the request with. -1421 order: list, list of request ids in the order they were added to the -1422 batch. -1423 requests: list, list of request objects to send. -1424 -1425 Raises: -1426 httplib2.HttpLib2Error if a transport error has occurred. -1427 googleapiclient.errors.BatchError if the response is the wrong format. -1428 """ -1429 message = MIMEMultipart("mixed") -1430 # Message should not write out it's own headers. -1431 setattr(message, "_write_headers", lambda self: None) -1432 -1433 # Add all the individual requests. -1434 for request_id in order: -1435 request = requests[request_id] -1436 -1437 msg = MIMENonMultipart("application", "http") -1438 msg["Content-Transfer-Encoding"] = "binary" -1439 msg["Content-ID"] = self._id_to_header(request_id) -1440 -1441 body = self._serialize_request(request) -1442 msg.set_payload(body) -1443 message.attach(msg) -1444 -1445 # encode the body: note that we can't use `as_string`, because -1446 # it plays games with `From ` lines. -1447 fp = StringIO() -1448 g = Generator(fp, mangle_from_=False) -1449 g.flatten(message, unixfrom=False) -1450 body = fp.getvalue() -1451 -1452 headers = {} -1453 headers["content-type"] = ( -1454 "multipart/mixed; " 'boundary="%s"' -1455 ) % message.get_boundary() -1456 -1457 resp, content = http.request( -1458 self._batch_uri, method="POST", body=body, headers=headers -1459 ) -1460 -1461 if resp.status >= 300: -1462 raise HttpError(resp, content, uri=self._batch_uri) -1463 -1464 # Prepend with a content-type header so FeedParser can handle it. -1465 header = "content-type: %s\r\n\r\n" % resp["content-type"] -1466 # PY3's FeedParser only accepts unicode. So we should decode content -1467 # here, and encode each payload again. -1468 if six.PY3: -1469 content = content.decode("utf-8") -1470 for_parser = header + content -1471 -1472 parser = FeedParser() -1473 parser.feed(for_parser) -1474 mime_response = parser.close() -1475 -1476 if not mime_response.is_multipart(): -1477 raise BatchError( -1478 "Response not in multipart/mixed format.", resp=resp, content=content -1479 ) -1480 -1481 for part in mime_response.get_payload(): -1482 request_id = self._header_to_id(part["Content-ID"]) -1483 response, content = self._deserialize_response(part.get_payload()) -1484 # We encode content here to emulate normal http response. -1485 if isinstance(content, six.text_type): -1486 content = content.encode("utf-8") -1487 self._responses[request_id] = (response, content) -
1488 -1489 @util.positional(1) -
1490 - def execute(self, http=None): -
1491 """Execute all the requests as a single batched HTTP request. -1492 -1493 Args: -1494 http: httplib2.Http, an http object to be used in place of the one the -1495 HttpRequest request object was constructed with. If one isn't supplied -1496 then use a http object from the requests in this batch. -1497 -1498 Returns: -1499 None -1500 -1501 Raises: -1502 httplib2.HttpLib2Error if a transport error has occurred. -1503 googleapiclient.errors.BatchError if the response is the wrong format. -1504 """ -1505 # If we have no requests return -1506 if len(self._order) == 0: -1507 return None -1508 -1509 # If http is not supplied use the first valid one given in the requests. -1510 if http is None: -1511 for request_id in self._order: -1512 request = self._requests[request_id] -1513 if request is not None: -1514 http = request.http -1515 break -1516 -1517 if http is None: -1518 raise ValueError("Missing a valid http object.") -1519 -1520 # Special case for OAuth2Credentials-style objects which have not yet been -1521 # refreshed with an initial access_token. -1522 creds = _auth.get_credentials_from_http(http) -1523 if creds is not None: -1524 if not _auth.is_valid(creds): -1525 LOGGER.info("Attempting refresh to obtain initial access_token") -1526 _auth.refresh_credentials(creds) -1527 -1528 self._execute(http, self._order, self._requests) -1529 -1530 # Loop over all the requests and check for 401s. For each 401 request the -1531 # credentials should be refreshed and then sent again in a separate batch. -1532 redo_requests = {} -1533 redo_order = [] -1534 -1535 for request_id in self._order: -1536 resp, content = self._responses[request_id] -1537 if resp["status"] == "401": -1538 redo_order.append(request_id) -1539 request = self._requests[request_id] -1540 self._refresh_and_apply_credentials(request, http) -1541 redo_requests[request_id] = request -1542 -1543 if redo_requests: -1544 self._execute(http, redo_order, redo_requests) -1545 -1546 # Now process all callbacks that are erroring, and raise an exception for -1547 # ones that return a non-2xx response? Or add extra parameter to callback -1548 # that contains an HttpError? -1549 -1550 for request_id in self._order: -1551 resp, content = self._responses[request_id] -1552 -1553 request = self._requests[request_id] -1554 callback = self._callbacks[request_id] -1555 -1556 response = None -1557 exception = None -1558 try: -1559 if resp.status >= 300: -1560 raise HttpError(resp, content, uri=request.uri) -1561 response = request.postproc(resp, content) -1562 except HttpError as e: -1563 exception = e -1564 -1565 if callback is not None: -1566 callback(request_id, response, exception) -1567 if self._callback is not None: -1568 self._callback(request_id, response, exception) -
1569 -
1570 -1571 -class HttpRequestMock(object): -
1572 """Mock of HttpRequest. -1573 -1574 Do not construct directly, instead use RequestMockBuilder. -1575 """ -1576 -
1577 - def __init__(self, resp, content, postproc): -
1578 """Constructor for HttpRequestMock -1579 -1580 Args: -1581 resp: httplib2.Response, the response to emulate coming from the request -1582 content: string, the response body -1583 postproc: callable, the post processing function usually supplied by -1584 the model class. See model.JsonModel.response() as an example. -1585 """ -1586 self.resp = resp -1587 self.content = content -1588 self.postproc = postproc -1589 if resp is None: -1590 self.resp = httplib2.Response({"status": 200, "reason": "OK"}) -1591 if "reason" in self.resp: -1592 self.resp.reason = self.resp["reason"] -
1593 -
1594 - def execute(self, http=None): -
1595 """Execute the request. -1596 -1597 Same behavior as HttpRequest.execute(), but the response is -1598 mocked and not really from an HTTP request/response. -1599 """ -1600 return self.postproc(self.resp, self.content) -
1601 -
1602 -1603 -class RequestMockBuilder(object): -
1604 """A simple mock of HttpRequest -1605 -1606 Pass in a dictionary to the constructor that maps request methodIds to -1607 tuples of (httplib2.Response, content, opt_expected_body) that should be -1608 returned when that method is called. None may also be passed in for the -1609 httplib2.Response, in which case a 200 OK response will be generated. -1610 If an opt_expected_body (str or dict) is provided, it will be compared to -1611 the body and UnexpectedBodyError will be raised on inequality. -1612 -1613 Example: -1614 response = '{"data": {"id": "tag:google.c...' -1615 requestBuilder = RequestMockBuilder( -1616 { -1617 'plus.activities.get': (None, response), -1618 } -1619 ) -1620 googleapiclient.discovery.build("plus", "v1", requestBuilder=requestBuilder) -1621 -1622 Methods that you do not supply a response for will return a -1623 200 OK with an empty string as the response content or raise an excpetion -1624 if check_unexpected is set to True. The methodId is taken from the rpcName -1625 in the discovery document. -1626 -1627 For more details see the project wiki. -1628 """ -1629 -
1630 - def __init__(self, responses, check_unexpected=False): -
1631 """Constructor for RequestMockBuilder -1632 -1633 The constructed object should be a callable object -1634 that can replace the class HttpResponse. -1635 -1636 responses - A dictionary that maps methodIds into tuples -1637 of (httplib2.Response, content). The methodId -1638 comes from the 'rpcName' field in the discovery -1639 document. -1640 check_unexpected - A boolean setting whether or not UnexpectedMethodError -1641 should be raised on unsupplied method. -1642 """ -1643 self.responses = responses -1644 self.check_unexpected = check_unexpected -
1645 -
1646 - def __call__( -1647 self, -1648 http, -1649 postproc, -1650 uri, -1651 method="GET", -1652 body=None, -1653 headers=None, -1654 methodId=None, -1655 resumable=None, -1656 ): -
1657 """Implements the callable interface that discovery.build() expects -1658 of requestBuilder, which is to build an object compatible with -1659 HttpRequest.execute(). See that method for the description of the -1660 parameters and the expected response. -1661 """ -1662 if methodId in self.responses: -1663 response = self.responses[methodId] -1664 resp, content = response[:2] -1665 if len(response) > 2: -1666 # Test the body against the supplied expected_body. -1667 expected_body = response[2] -1668 if bool(expected_body) != bool(body): -1669 # Not expecting a body and provided one -1670 # or expecting a body and not provided one. -1671 raise UnexpectedBodyError(expected_body, body) -1672 if isinstance(expected_body, str): -1673 expected_body = json.loads(expected_body) -1674 body = json.loads(body) -1675 if body != expected_body: -1676 raise UnexpectedBodyError(expected_body, body) -1677 return HttpRequestMock(resp, content, postproc) -1678 elif self.check_unexpected: -1679 raise UnexpectedMethodError(methodId=methodId) -1680 else: -1681 model = JsonModel(False) -1682 return HttpRequestMock(None, "{}", model.response) -
1683 -
1684 -1685 -class HttpMock(object): -
1686 """Mock of httplib2.Http""" -1687 -
1688 - def __init__(self, filename=None, headers=None): -
1689 """ -1690 Args: -1691 filename: string, absolute filename to read response from -1692 headers: dict, header to return with response -1693 """ -1694 if headers is None: -1695 headers = {"status": "200"} -1696 if filename: -1697 with open(filename, "rb") as f: -1698 self.data = f.read() -1699 else: -1700 self.data = None -1701 self.response_headers = headers -1702 self.headers = None -1703 self.uri = None -1704 self.method = None -1705 self.body = None -1706 self.headers = None -
1707 -
1708 - def request( -1709 self, -1710 uri, -1711 method="GET", -1712 body=None, -1713 headers=None, -1714 redirections=1, -1715 connection_type=None, -1716 ): -
1717 self.uri = uri -1718 self.method = method -1719 self.body = body -1720 self.headers = headers -1721 return httplib2.Response(self.response_headers), self.data -
1722 -
1723 - def close(self): -
1724 return None -
1725 -
1726 -class HttpMockSequence(object): -
1727 """Mock of httplib2.Http -1728 -1729 Mocks a sequence of calls to request returning different responses for each -1730 call. Create an instance initialized with the desired response headers -1731 and content and then use as if an httplib2.Http instance. -1732 -1733 http = HttpMockSequence([ -1734 ({'status': '401'}, ''), -1735 ({'status': '200'}, '{"access_token":"1/3w","expires_in":3600}'), -1736 ({'status': '200'}, 'echo_request_headers'), -1737 ]) -1738 resp, content = http.request("http://examples.com") -1739 -1740 There are special values you can pass in for content to trigger -1741 behavours that are helpful in testing. -1742 -1743 'echo_request_headers' means return the request headers in the response body -1744 'echo_request_headers_as_json' means return the request headers in -1745 the response body -1746 'echo_request_body' means return the request body in the response body -1747 'echo_request_uri' means return the request uri in the response body -1748 """ -1749 -
1750 - def __init__(self, iterable): -
1751 """ -1752 Args: -1753 iterable: iterable, a sequence of pairs of (headers, body) -1754 """ -1755 self._iterable = iterable -1756 self.follow_redirects = True -1757 self.request_sequence = list() -
1758 -
1759 - def request( -1760 self, -1761 uri, -1762 method="GET", -1763 body=None, -1764 headers=None, -1765 redirections=1, -1766 connection_type=None, -1767 ): -
1768 # Remember the request so after the fact this mock can be examined -1769 self.request_sequence.append((uri, method, body, headers)) -1770 resp, content = self._iterable.pop(0) -1771 content = six.ensure_binary(content) -1772 -1773 if content == b"echo_request_headers": -1774 content = headers -1775 elif content == b"echo_request_headers_as_json": -1776 content = json.dumps(headers) -1777 elif content == b"echo_request_body": -1778 if hasattr(body, "read"): -1779 content = body.read() -1780 else: -1781 content = body -1782 elif content == b"echo_request_uri": -1783 content = uri -1784 if isinstance(content, six.text_type): -1785 content = content.encode("utf-8") -1786 return httplib2.Response(resp), content -
1787 -
1788 -1789 -def set_user_agent(http, user_agent): -
1790 """Set the user-agent on every request. -1791 -1792 Args: -1793 http - An instance of httplib2.Http -1794 or something that acts like it. -1795 user_agent: string, the value for the user-agent header. -1796 -1797 Returns: -1798 A modified instance of http that was passed in. -1799 -1800 Example: -1801 -1802 h = httplib2.Http() -1803 h = set_user_agent(h, "my-app-name/6.0") -1804 -1805 Most of the time the user-agent will be set doing auth, this is for the rare -1806 cases where you are accessing an unauthenticated endpoint. -1807 """ -1808 request_orig = http.request -1809 -1810 # The closure that will replace 'httplib2.Http.request'. -1811 def new_request( -1812 uri, -1813 method="GET", -1814 body=None, -1815 headers=None, -1816 redirections=httplib2.DEFAULT_MAX_REDIRECTS, -1817 connection_type=None, -1818 ): -1819 """Modify the request headers to add the user-agent.""" -1820 if headers is None: -1821 headers = {} -1822 if "user-agent" in headers: -1823 headers["user-agent"] = user_agent + " " + headers["user-agent"] -1824 else: -1825 headers["user-agent"] = user_agent -1826 resp, content = request_orig( -1827 uri, -1828 method=method, -1829 body=body, -1830 headers=headers, -1831 redirections=redirections, -1832 connection_type=connection_type, -1833 ) -1834 return resp, content -
1835 -1836 http.request = new_request -1837 return http -1838 -
1839 -1840 -def tunnel_patch(http): -
1841 """Tunnel PATCH requests over POST. -1842 Args: -1843 http - An instance of httplib2.Http -1844 or something that acts like it. -1845 -1846 Returns: -1847 A modified instance of http that was passed in. -1848 -1849 Example: -1850 -1851 h = httplib2.Http() -1852 h = tunnel_patch(h, "my-app-name/6.0") -1853 -1854 Useful if you are running on a platform that doesn't support PATCH. -1855 Apply this last if you are using OAuth 1.0, as changing the method -1856 will result in a different signature. -1857 """ -1858 request_orig = http.request -1859 -1860 # The closure that will replace 'httplib2.Http.request'. -1861 def new_request( -1862 uri, -1863 method="GET", -1864 body=None, -1865 headers=None, -1866 redirections=httplib2.DEFAULT_MAX_REDIRECTS, -1867 connection_type=None, -1868 ): -1869 """Modify the request headers to add the user-agent.""" -1870 if headers is None: -1871 headers = {} -1872 if method == "PATCH": -1873 if "oauth_token" in headers.get("authorization", ""): -1874 LOGGER.warning( -1875 "OAuth 1.0 request made with Credentials after tunnel_patch." -1876 ) -1877 headers["x-http-method-override"] = "PATCH" -1878 method = "POST" -1879 resp, content = request_orig( -1880 uri, -1881 method=method, -1882 body=body, -1883 headers=headers, -1884 redirections=redirections, -1885 connection_type=connection_type, -1886 ) -1887 return resp, content -
1888 -1889 http.request = new_request -1890 return http -1891 -
1892 -1893 -def build_http(): -
1894 """Builds httplib2.Http object -1895 -1896 Returns: -1897 A httplib2.Http object, which is used to make http requests, and which has timeout set by default. -1898 To override default timeout call -1899 -1900 socket.setdefaulttimeout(timeout_in_sec) -1901 -1902 before interacting with this method. -1903 """ -1904 if socket.getdefaulttimeout() is not None: -1905 http_timeout = socket.getdefaulttimeout() -1906 else: -1907 http_timeout = DEFAULT_HTTP_TIMEOUT_SEC -1908 http = httplib2.Http(timeout=http_timeout) -1909 # 308's are used by several Google APIs (Drive, YouTube) -1910 # for Resumable Uploads rather than Permanent Redirects. -1911 # This asks httplib2 to exclude 308s from the status codes -1912 # it treats as redirects -1913 try: -1914 http.redirect_codes = http.redirect_codes - {308} -1915 except AttributeError: -1916 # Apache Beam tests depend on this library and cannot -1917 # currently upgrade their httplib2 version -1918 # http.redirect_codes does not exist in previous versions -1919 # of httplib2, so pass -1920 pass -1921 -1922 return http -
1923 -
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.http.BatchHttpRequest-class.html b/docs/epy/googleapiclient.http.BatchHttpRequest-class.html deleted file mode 100644 index 965e376c832..00000000000 --- a/docs/epy/googleapiclient.http.BatchHttpRequest-class.html +++ /dev/null @@ -1,752 +0,0 @@ - - - - - googleapiclient.http.BatchHttpRequest - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module http :: - Class BatchHttpRequest - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class BatchHttpRequest

source code

-
-object --+
-         |
-        BatchHttpRequest
-
- -
-
-Batches multiple HttpRequest objects into a single HTTP request.
-
-Example:
-  from googleapiclient.http import BatchHttpRequest
-
-  def list_animals(request_id, response, exception):
-    """Do something with the animals list response."""
-    if exception is not None:
-      # Do something with the exception.
-      pass
-    else:
-      # Do something with the response.
-      pass
-
-  def list_farmers(request_id, response, exception):
-    """Do something with the farmers list response."""
-    if exception is not None:
-      # Do something with the exception.
-      pass
-    else:
-      # Do something with the response.
-      pass
-
-  service = build('farm', 'v2')
-
-  batch = BatchHttpRequest()
-
-  batch.add(service.animals().list(), list_animals)
-  batch.add(service.farmers().list(), list_farmers)
-  batch.execute(http=http)
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
__init__(*args, - **kwargs)
- Constructor for a BatchHttpRequest.
- source code - -
- -
-   - - - - - - -
_refresh_and_apply_credentials(self, - request, - http)
- Refresh the credentials and apply to the request.
- source code - -
- -
-   - - - - - - -
_id_to_header(self, - id_)
- Convert an id to a Content-ID header value.
- source code - -
- -
-   - - - - - - -
_header_to_id(self, - header)
- Convert a Content-ID header value to an id.
- source code - -
- -
-   - - - - - - -
_serialize_request(self, - request)
- Convert an HttpRequest object into a string.
- source code - -
- -
-   - - - - - - -
_deserialize_response(self, - payload)
- Convert string into httplib2 response and content.
- source code - -
- -
-   - - - - - - -
_new_id(self)
- Create a new id.
- source code - -
- -
-   - - - - - - -
add(*args, - **kwargs)
- Add a new request.
- source code - -
- -
-   - - - - - - -
_execute(self, - http, - order, - requests)
- Serialize batch request, send to server, process response.
- source code - -
- -
-   - - - - - - -
execute(*args, - **kwargs)
- Execute all the requests as a single batched HTTP request.
- source code - -
- -
-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

__init__(*args, - **kwargs) -
(Constructor) -

-
source code  -
- -
-Constructor for a BatchHttpRequest.
-
-Args:
-  callback: callable, A callback to be called for each response, of the
-    form callback(id, response, exception). The first parameter is the
-    request id, and the second is the deserialized response object. The
-    third is an googleapiclient.errors.HttpError exception object if an HTTP error
-    occurred while processing the request, or None if no error occurred.
-  batch_uri: string, URI to send batch requests to.
-
-
-
-
Decorators:
-
    -
  • @util.positional(1)
  • -
-
Overrides: - object.__init__ -
-
-
-
- -
- -
- - -
-

_refresh_and_apply_credentials(self, - request, - http) -

-
source code  -
- -
-Refresh the credentials and apply to the request.
-
-Args:
-  request: HttpRequest, the request.
-  http: httplib2.Http, the global http object for the batch.
-
-
-
-
-
-
- -
- -
- - -
-

_id_to_header(self, - id_) -

-
source code  -
- -
-Convert an id to a Content-ID header value.
-
-Args:
-  id_: string, identifier of individual request.
-
-Returns:
-  A Content-ID header with the id_ encoded into it. A UUID is prepended to
-  the value because Content-ID headers are supposed to be universally
-  unique.
-
-
-
-
-
-
- -
- -
- - -
-

_header_to_id(self, - header) -

-
source code  -
- -
-Convert a Content-ID header value to an id.
-
-Presumes the Content-ID header conforms to the format that _id_to_header()
-returns.
-
-Args:
-  header: string, Content-ID header value.
-
-Returns:
-  The extracted id value.
-
-Raises:
-  BatchError if the header is not in the expected format.
-
-
-
-
-
-
- -
- -
- - -
-

_serialize_request(self, - request) -

-
source code  -
- -
-Convert an HttpRequest object into a string.
-
-Args:
-  request: HttpRequest, the request to serialize.
-
-Returns:
-  The request as a string in application/http format.
-
-
-
-
-
-
- -
- -
- - -
-

_deserialize_response(self, - payload) -

-
source code  -
- -
-Convert string into httplib2 response and content.
-
-Args:
-  payload: string, headers and body as a string.
-
-Returns:
-  A pair (resp, content), such as would be returned from httplib2.request.
-
-
-
-
-
-
- -
- -
- - -
-

_new_id(self) -

-
source code  -
- -
-Create a new id.
-
-Auto incrementing number that avoids conflicts with ids already used.
-
-Returns:
-   string, a new unique id.
-
-
-
-
-
-
- -
- -
- - -
-

add(*args, - **kwargs) -

-
source code  -
- -
-Add a new request.
-
-Every callback added will be paired with a unique id, the request_id. That
-unique id will be passed back to the callback when the response comes back
-from the server. The default behavior is to have the library generate it's
-own unique id. If the caller passes in a request_id then they must ensure
-uniqueness for each request_id, and if they are not an exception is
-raised. Callers should either supply all request_ids or never supply a
-request id, to avoid such an error.
-
-Args:
-  request: HttpRequest, Request to add to the batch.
-  callback: callable, A callback to be called for this response, of the
-    form callback(id, response, exception). The first parameter is the
-    request id, and the second is the deserialized response object. The
-    third is an googleapiclient.errors.HttpError exception object if an HTTP error
-    occurred while processing the request, or None if no errors occurred.
-  request_id: string, A unique id for the request. The id will be passed
-    to the callback with the response.
-
-Returns:
-  None
-
-Raises:
-  BatchError if a media request is added to a batch.
-  KeyError is the request_id is not unique.
-
-
-
-
Decorators:
-
    -
  • @util.positional(2)
  • -
-
-
-
- -
- -
- - -
-

_execute(self, - http, - order, - requests) -

-
source code  -
- -
-Serialize batch request, send to server, process response.
-
-Args:
-  http: httplib2.Http, an http object to be used to make the request with.
-  order: list, list of request ids in the order they were added to the
-    batch.
-  requests: list, list of request objects to send.
-
-Raises:
-  httplib2.HttpLib2Error if a transport error has occurred.
-  googleapiclient.errors.BatchError if the response is the wrong format.
-
-
-
-
-
-
- -
- -
- - -
-

execute(*args, - **kwargs) -

-
source code  -
- -
-Execute all the requests as a single batched HTTP request.
-
-Args:
-  http: httplib2.Http, an http object to be used in place of the one the
-    HttpRequest request object was constructed with. If one isn't supplied
-    then use a http object from the requests in this batch.
-
-Returns:
-  None
-
-Raises:
-  httplib2.HttpLib2Error if a transport error has occurred.
-  googleapiclient.errors.BatchError if the response is the wrong format.
-
-
-
-
Decorators:
-
    -
  • @util.positional(1)
  • -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.http.HttpMock-class.html b/docs/epy/googleapiclient.http.HttpMock-class.html deleted file mode 100644 index fdc03ae8052..00000000000 --- a/docs/epy/googleapiclient.http.HttpMock-class.html +++ /dev/null @@ -1,282 +0,0 @@ - - - - - googleapiclient.http.HttpMock - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module http :: - Class HttpMock - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class HttpMock

source code

-
-object --+
-         |
-        HttpMock
-
- -
-

Mock of httplib2.Http

- - - - - - - - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
__init__(self, - filename=None, - headers=None)
- Args:...
- source code - -
- -
-   - - - - - - -
request(self, - uri, - method='GET', - body=None, - headers=None, - redirections=1, - connection_type=None) - source code - -
- -
-   - - - - - - -
close(self) - source code - -
- -
-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

__init__(self, - filename=None, - headers=None) -
(Constructor) -

-
source code  -
- -
-
-Args:
-  filename: string, absolute filename to read response from
-  headers: dict, header to return with response
-
-
-
-
Overrides: - object.__init__ -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.http.HttpMockSequence-class.html b/docs/epy/googleapiclient.http.HttpMockSequence-class.html deleted file mode 100644 index 9eaf4d1e7c4..00000000000 --- a/docs/epy/googleapiclient.http.HttpMockSequence-class.html +++ /dev/null @@ -1,286 +0,0 @@ - - - - - googleapiclient.http.HttpMockSequence - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module http :: - Class HttpMockSequence - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class HttpMockSequence

source code

-
-object --+
-         |
-        HttpMockSequence
-
- -
-
-Mock of httplib2.Http
-
-Mocks a sequence of calls to request returning different responses for each
-call. Create an instance initialized with the desired response headers
-and content and then use as if an httplib2.Http instance.
-
-  http = HttpMockSequence([
-    ({'status': '401'}, ''),
-    ({'status': '200'}, '{"access_token":"1/3w","expires_in":3600}'),
-    ({'status': '200'}, 'echo_request_headers'),
-    ])
-  resp, content = http.request("http://examples.com")
-
-There are special values you can pass in for content to trigger
-behavours that are helpful in testing.
-
-'echo_request_headers' means return the request headers in the response body
-'echo_request_headers_as_json' means return the request headers in
-   the response body
-'echo_request_body' means return the request body in the response body
-'echo_request_uri' means return the request uri in the response body
-
-
- - - - - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
__init__(self, - iterable)
- Args:...
- source code - -
- -
-   - - - - - - -
request(self, - uri, - method='GET', - body=None, - headers=None, - redirections=1, - connection_type=None) - source code - -
- -
-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

__init__(self, - iterable) -
(Constructor) -

-
source code  -
- -
-
-Args:
-  iterable: iterable, a sequence of pairs of (headers, body)
-
-
-
-
Overrides: - object.__init__ -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.http.HttpRequest-class.html b/docs/epy/googleapiclient.http.HttpRequest-class.html deleted file mode 100644 index 3a1e38b5d0a..00000000000 --- a/docs/epy/googleapiclient.http.HttpRequest-class.html +++ /dev/null @@ -1,572 +0,0 @@ - - - - - googleapiclient.http.HttpRequest - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module http :: - Class HttpRequest - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class HttpRequest

source code

-
-object --+
-         |
-        HttpRequest
-
- -
-

Encapsulates a single HTTP request.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
__init__(*args, - **kwargs)
- Constructor for an HttpRequest.
- source code - -
- -
-   - - - - - - -
execute(*args, - **kwargs)
- Execute the request.
- source code - -
- -
-   - - - - - - -
add_response_callback(*args, - **kwargs)
- add_response_headers_callback
- source code - -
- -
-   - - - - - - -
next_chunk(*args, - **kwargs)
- Execute the next step of a resumable upload.
- source code - -
- -
-   - - - - - - -
_process_response(self, - resp, - content)
- Process the response from a single chunk upload.
- source code - -
- -
-   - - - - - - -
to_json(self)
- Returns a JSON representation of the HttpRequest.
- source code - -
- -
-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - - - - -
- - - - - -
Static Methods[hide private]
-
-   - - - - - - -
from_json(s, - http, - postproc)
- Returns an HttpRequest populated with info from a JSON object.
- source code - -
- -
-   - - - - - - -
null_postproc(resp, - contents) - source code - -
- -
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

__init__(*args, - **kwargs) -
(Constructor) -

-
source code  -
- -
-Constructor for an HttpRequest.
-
-Args:
-  http: httplib2.Http, the transport object to use to make a request
-  postproc: callable, called on the HTTP response and content to transform
-            it into a data object before returning, or raising an exception
-            on an error.
-  uri: string, the absolute URI to send the request to
-  method: string, the HTTP method to use
-  body: string, the request body of the HTTP request,
-  headers: dict, the HTTP request headers
-  methodId: string, a unique identifier for the API method being called.
-  resumable: MediaUpload, None if this is not a resumbale request.
-
-
-
-
Decorators:
-
    -
  • @util.positional(4)
  • -
-
Overrides: - object.__init__ -
-
-
-
- -
- -
- - -
-

execute(*args, - **kwargs) -

-
source code  -
- -
-Execute the request.
-
-Args:
-  http: httplib2.Http, an http object to be used in place of the
-        one the HttpRequest request object was constructed with.
-  num_retries: Integer, number of times to retry with randomized
-        exponential backoff. If all retries fail, the raised HttpError
-        represents the last request. If zero (default), we attempt the
-        request only once.
-
-Returns:
-  A deserialized object model of the response body as determined
-  by the postproc.
-
-Raises:
-  googleapiclient.errors.HttpError if the response was not a 2xx.
-  httplib2.HttpLib2Error if a transport error has occurred.
-
-
-
-
Decorators:
-
    -
  • @util.positional(1)
  • -
-
-
-
- -
- -
- - -
-

add_response_callback(*args, - **kwargs) -

-
source code  -
- -
-add_response_headers_callback
-
-Args:
-  cb: Callback to be called on receiving the response headers, of signature:
-
-  def cb(resp):
-    # Where resp is an instance of httplib2.Response
-
-
-
-
Decorators:
-
    -
  • @util.positional(2)
  • -
-
-
-
- -
- -
- - -
-

next_chunk(*args, - **kwargs) -

-
source code  -
- -
-Execute the next step of a resumable upload.
-
-Can only be used if the method being executed supports media uploads and
-the MediaUpload object passed in was flagged as using resumable upload.
-
-Example:
-
-  media = MediaFileUpload('cow.png', mimetype='image/png',
-                          chunksize=1000, resumable=True)
-  request = farm.animals().insert(
-      id='cow',
-      name='cow.png',
-      media_body=media)
-
-  response = None
-  while response is None:
-    status, response = request.next_chunk()
-    if status:
-      print "Upload %d%% complete." % int(status.progress() * 100)
-
-
-Args:
-  http: httplib2.Http, an http object to be used in place of the
-        one the HttpRequest request object was constructed with.
-  num_retries: Integer, number of times to retry with randomized
-        exponential backoff. If all retries fail, the raised HttpError
-        represents the last request. If zero (default), we attempt the
-        request only once.
-
-Returns:
-  (status, body): (ResumableMediaStatus, object)
-     The body will be None until the resumable media is fully uploaded.
-
-Raises:
-  googleapiclient.errors.HttpError if the response was not a 2xx.
-  httplib2.HttpLib2Error if a transport error has occurred.
-
-
-
-
Decorators:
-
    -
  • @util.positional(1)
  • -
-
-
-
- -
- -
- - -
-

_process_response(self, - resp, - content) -

-
source code  -
- -
-Process the response from a single chunk upload.
-
-Args:
-  resp: httplib2.Response, the response object.
-  content: string, the content of the response.
-
-Returns:
-  (status, body): (ResumableMediaStatus, object)
-     The body will be None until the resumable media is fully uploaded.
-
-Raises:
-  googleapiclient.errors.HttpError if the response was not a 2xx or a 308.
-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.http.HttpRequestMock-class.html b/docs/epy/googleapiclient.http.HttpRequestMock-class.html deleted file mode 100644 index 804582119fd..00000000000 --- a/docs/epy/googleapiclient.http.HttpRequestMock-class.html +++ /dev/null @@ -1,290 +0,0 @@ - - - - - googleapiclient.http.HttpRequestMock - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module http :: - Class HttpRequestMock - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class HttpRequestMock

source code

-
-object --+
-         |
-        HttpRequestMock
-
- -
-

Mock of HttpRequest.

-

Do not construct directly, instead use RequestMockBuilder.

- - - - - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
__init__(self, - resp, - content, - postproc)
- Constructor for HttpRequestMock
- source code - -
- -
-   - - - - - - -
execute(self, - http=None)
- Execute the request.
- source code - -
- -
-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

__init__(self, - resp, - content, - postproc) -
(Constructor) -

-
source code  -
- -
-Constructor for HttpRequestMock
-
-Args:
-  resp: httplib2.Response, the response to emulate coming from the request
-  content: string, the response body
-  postproc: callable, the post processing function usually supplied by
-            the model class. See model.JsonModel.response() as an example.
-
-
-
-
Overrides: - object.__init__ -
-
-
-
- -
- -
- - -
-

execute(self, - http=None) -

-
source code  -
- -

Execute the request.

-

Same behavior as HttpRequest.execute(), but the response is mocked and - not really from an HTTP request/response.

-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.http.MediaDownloadProgress-class.html b/docs/epy/googleapiclient.http.MediaDownloadProgress-class.html deleted file mode 100644 index 5f6648e4b97..00000000000 --- a/docs/epy/googleapiclient.http.MediaDownloadProgress-class.html +++ /dev/null @@ -1,288 +0,0 @@ - - - - - googleapiclient.http.MediaDownloadProgress - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module http :: - Class MediaDownloadProgress - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class MediaDownloadProgress

source code

-
-object --+
-         |
-        MediaDownloadProgress
-
- -
-

Status of a resumable download.

- - - - - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
__init__(self, - resumable_progress, - total_size)
- Constructor.
- source code - -
- -
-   - - - - - - -
progress(self)
- Percent of download completed, as a float.
- source code - -
- -
-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

__init__(self, - resumable_progress, - total_size) -
(Constructor) -

-
source code  -
- -
-Constructor.
-
-Args:
-  resumable_progress: int, bytes received so far.
-  total_size: int, total bytes in complete download.
-
-
-
-
Overrides: - object.__init__ -
-
-
-
- -
- -
- - -
-

progress(self) -

-
source code  -
- -
-Percent of download completed, as a float.
-
-Returns:
-  the percentage complete as a float, returning 0.0 if the total size of
-  the download is unknown.
-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.http.MediaFileUpload-class.html b/docs/epy/googleapiclient.http.MediaFileUpload-class.html deleted file mode 100644 index b4f9a073ce9..00000000000 --- a/docs/epy/googleapiclient.http.MediaFileUpload-class.html +++ /dev/null @@ -1,413 +0,0 @@ - - - - - googleapiclient.http.MediaFileUpload - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module http :: - Class MediaFileUpload - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class MediaFileUpload

source code

-
-   object --+        
-            |        
-  MediaUpload --+    
-                |    
-MediaIoBaseUpload --+
-                    |
-                   MediaFileUpload
-
- -
-
-A MediaUpload for a file.
-
-Construct a MediaFileUpload and pass as the media_body parameter of the
-method. For example, if we had a service that allowed uploading images:
-
-  media = MediaFileUpload('cow.png', mimetype='image/png',
-    chunksize=1024*1024, resumable=True)
-  farm.animals().insert(
-      id='cow',
-      name='cow.png',
-      media_body=media).execute()
-
-Depending on the platform you are working on, you may pass -1 as the
-chunksize, which indicates that the entire file should be uploaded in a single
-request. If the underlying platform supports streams, such as Python 2.6 or
-later, then this can be very efficient as it avoids multiple connections, and
-also avoids loading the entire file into memory before sending it. Note that
-Google App Engine has a 5MB limit on request size, so you should never set
-your chunksize larger than 5MB, or to -1.
-
-
- - - - - - - - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
__init__(*args, - **kwargs)
- Constructor.
- source code - -
- -
-   - - - - - - -
__del__(self) - source code - -
- -
-   - - - - - - -
to_json(self)
- Creating a JSON representation of an instance of MediaFileUpload.
- source code - -
- -
-

Inherited from MediaIoBaseUpload: - chunksize, - getbytes, - has_stream, - mimetype, - resumable, - size, - stream -

-

Inherited from MediaUpload (private): - _to_json -

-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Class Methods[hide private]
-
-

Inherited from MediaUpload: - new_from_json -

-
- - - - - - - - - -
- - - - - -
Static Methods[hide private]
-
-   - - - - - - -
from_json(s) - source code - -
- -
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

__init__(*args, - **kwargs) -
(Constructor) -

-
source code  -
- -
-Constructor.
-
-Args:
-  filename: string, Name of the file.
-  mimetype: string, Mime-type of the file. If None then a mime-type will be
-    guessed from the file extension.
-  chunksize: int, File will be uploaded in chunks of this many bytes. Only
-    used if resumable=True. Pass in a value of -1 if the file is to be
-    uploaded in a single chunk. Note that Google App Engine has a 5MB limit
-    on request size, so you should never set your chunksize larger than 5MB,
-    or to -1.
-  resumable: bool, True if this is a resumable upload. False means upload
-    in a single request.
-
-
-
-
Decorators:
-
    -
  • @util.positional(2)
  • -
-
Overrides: - object.__init__ -
-
-
-
- -
- -
- - -
-

to_json(self) -

-
source code  -
- -
-Creating a JSON representation of an instance of MediaFileUpload.
-
-Returns:
-   string, a JSON representation of this instance, suitable to pass to
-   from_json().
-
-
-
-
Overrides: - MediaUpload.to_json -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.http.MediaInMemoryUpload-class.html b/docs/epy/googleapiclient.http.MediaInMemoryUpload-class.html deleted file mode 100644 index 04e696d937d..00000000000 --- a/docs/epy/googleapiclient.http.MediaInMemoryUpload-class.html +++ /dev/null @@ -1,300 +0,0 @@ - - - - - googleapiclient.http.MediaInMemoryUpload - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module http :: - Class MediaInMemoryUpload - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class MediaInMemoryUpload

source code

-
-   object --+        
-            |        
-  MediaUpload --+    
-                |    
-MediaIoBaseUpload --+
-                    |
-                   MediaInMemoryUpload
-
- -
-

MediaUpload for a chunk of bytes.

-

DEPRECATED: Use MediaIoBaseUpload with either io.TextIOBase or - StringIO for the stream.

- - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
__init__(*args, - **kwargs)
- Create a new MediaInMemoryUpload.
- source code - -
- -
-

Inherited from MediaIoBaseUpload: - chunksize, - getbytes, - has_stream, - mimetype, - resumable, - size, - stream, - to_json -

-

Inherited from MediaUpload (private): - _to_json -

-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Class Methods[hide private]
-
-

Inherited from MediaUpload: - new_from_json -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

__init__(*args, - **kwargs) -
(Constructor) -

-
source code  -
- -
-Create a new MediaInMemoryUpload.
-
-DEPRECATED: Use MediaIoBaseUpload with either io.TextIOBase or StringIO for
-the stream.
-
-Args:
-  body: string, Bytes of body content.
-  mimetype: string, Mime-type of the file or default of
-    'application/octet-stream'.
-  chunksize: int, File will be uploaded in chunks of this many bytes. Only
-    used if resumable=True.
-  resumable: bool, True if this is a resumable upload. False means upload
-    in a single request.
-  
-
-
-
-
Decorators:
-
    -
  • @util.positional(2)
  • -
-
Overrides: - object.__init__ -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.http.MediaIoBaseDownload-class.html b/docs/epy/googleapiclient.http.MediaIoBaseDownload-class.html deleted file mode 100644 index d4f8b4293c4..00000000000 --- a/docs/epy/googleapiclient.http.MediaIoBaseDownload-class.html +++ /dev/null @@ -1,329 +0,0 @@ - - - - - googleapiclient.http.MediaIoBaseDownload - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module http :: - Class MediaIoBaseDownload - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class MediaIoBaseDownload

source code

-
-object --+
-         |
-        MediaIoBaseDownload
-
- -
-
-"Download media resources.
-
-Note that the Python file object is compatible with io.Base and can be used
-with this class also.
-
-
-Example:
-  request = farms.animals().get_media(id='cow')
-  fh = io.FileIO('cow.png', mode='wb')
-  downloader = MediaIoBaseDownload(fh, request, chunksize=1024*1024)
-
-  done = False
-  while done is False:
-    status, done = downloader.next_chunk()
-    if status:
-      print "Download %d%%." % int(status.progress() * 100)
-  print "Download Complete!"
-
-
- - - - - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
__init__(*args, - **kwargs)
- Constructor.
- source code - -
- -
-   - - - - - - -
next_chunk(*args, - **kwargs)
- Get the next chunk of the download.
- source code - -
- -
-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

__init__(*args, - **kwargs) -
(Constructor) -

-
source code  -
- -
-Constructor.
-
-Args:
-  fd: io.Base or file object, The stream in which to write the downloaded
-    bytes.
-  request: googleapiclient.http.HttpRequest, the media request to perform in
-    chunks.
-  chunksize: int, File will be downloaded in chunks of this many bytes.
-
-
-
-
Decorators:
-
    -
  • @util.positional(3)
  • -
-
Overrides: - object.__init__ -
-
-
-
- -
- -
- - -
-

next_chunk(*args, - **kwargs) -

-
source code  -
- -
-Get the next chunk of the download.
-
-Args:
-  num_retries: Integer, number of times to retry with randomized
-        exponential backoff. If all retries fail, the raised HttpError
-        represents the last request. If zero (default), we attempt the
-        request only once.
-
-Returns:
-  (status, done): (MediaDownloadProgress, boolean)
-     The value of 'done' will be True when the media has been fully
-     downloaded or the total size of the media is unknown.
-
-Raises:
-  googleapiclient.errors.HttpError if the response was not a 2xx.
-  httplib2.HttpLib2Error if a transport error has occurred.
-
-
-
-
Decorators:
-
    -
  • @util.positional(1)
  • -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.http.MediaIoBaseUpload-class.html b/docs/epy/googleapiclient.http.MediaIoBaseUpload-class.html deleted file mode 100644 index a64712a7d5e..00000000000 --- a/docs/epy/googleapiclient.http.MediaIoBaseUpload-class.html +++ /dev/null @@ -1,683 +0,0 @@ - - - - - googleapiclient.http.MediaIoBaseUpload - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module http :: - Class MediaIoBaseUpload - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class MediaIoBaseUpload

source code

-
- object --+    
-          |    
-MediaUpload --+
-              |
-             MediaIoBaseUpload
-
- -
Known Subclasses:
-
- -
- -
-
-A MediaUpload for a io.Base objects.
-
-Note that the Python file object is compatible with io.Base and can be used
-with this class also.
-
-  fh = BytesIO('...Some data to upload...')
-  media = MediaIoBaseUpload(fh, mimetype='image/png',
-    chunksize=1024*1024, resumable=True)
-  farm.animals().insert(
-      id='cow',
-      name='cow.png',
-      media_body=media).execute()
-
-Depending on the platform you are working on, you may pass -1 as the
-chunksize, which indicates that the entire file should be uploaded in a single
-request. If the underlying platform supports streams, such as Python 2.6 or
-later, then this can be very efficient as it avoids multiple connections, and
-also avoids loading the entire file into memory before sending it. Note that
-Google App Engine has a 5MB limit on request size, so you should never set
-your chunksize larger than 5MB, or to -1.
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
__init__(*args, - **kwargs)
- Constructor.
- source code - -
- -
-   - - - - - - -
chunksize(self)
- Chunk size for resumable uploads.
- source code - -
- -
-   - - - - - - -
mimetype(self)
- Mime type of the body.
- source code - -
- -
-   - - - - - - -
size(self)
- Size of upload.
- source code - -
- -
-   - - - - - - -
resumable(self)
- Whether this upload is resumable.
- source code - -
- -
-   - - - - - - -
getbytes(self, - begin, - length)
- Get bytes from the media.
- source code - -
- -
-   - - - - - - -
has_stream(self)
- Does the underlying upload support a streaming interface.
- source code - -
- -
-   - - - - - - -
stream(self)
- A stream interface to the data being uploaded.
- source code - -
- -
-   - - - - - - -
to_json(self)
- This upload type is not serializable.
- source code - -
- -
-

Inherited from MediaUpload (private): - _to_json -

-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Class Methods[hide private]
-
-

Inherited from MediaUpload: - new_from_json -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

__init__(*args, - **kwargs) -
(Constructor) -

-
source code  -
- -
-Constructor.
-
-Args:
-  fd: io.Base or file object, The source of the bytes to upload. MUST be
-    opened in blocking mode, do not use streams opened in non-blocking mode.
-    The given stream must be seekable, that is, it must be able to call
-    seek() on fd.
-  mimetype: string, Mime-type of the file.
-  chunksize: int, File will be uploaded in chunks of this many bytes. Only
-    used if resumable=True. Pass in a value of -1 if the file is to be
-    uploaded as a single chunk. Note that Google App Engine has a 5MB limit
-    on request size, so you should never set your chunksize larger than 5MB,
-    or to -1.
-  resumable: bool, True if this is a resumable upload. False means upload
-    in a single request.
-
-
-
-
Decorators:
-
    -
  • @util.positional(3)
  • -
-
Overrides: - object.__init__ -
-
-
-
- -
- -
- - -
-

chunksize(self) -

-
source code  -
- -
-Chunk size for resumable uploads.
-
-Returns:
-  Chunk size in bytes.
-
-
-
-
Overrides: - MediaUpload.chunksize -
-
-
-
- -
- -
- - -
-

mimetype(self) -

-
source code  -
- -
-Mime type of the body.
-
-Returns:
-  Mime type.
-
-
-
-
Overrides: - MediaUpload.mimetype -
-
-
-
- -
- -
- - -
-

size(self) -

-
source code  -
- -
-Size of upload.
-
-Returns:
-  Size of the body, or None of the size is unknown.
-
-
-
-
Overrides: - MediaUpload.size -
-
-
-
- -
- -
- - -
-

resumable(self) -

-
source code  -
- -
-Whether this upload is resumable.
-
-Returns:
-  True if resumable upload or False.
-
-
-
-
Overrides: - MediaUpload.resumable -
-
-
-
- -
- -
- - -
-

getbytes(self, - begin, - length) -

-
source code  -
- -
-Get bytes from the media.
-
-Args:
-  begin: int, offset from beginning of file.
-  length: int, number of bytes to read, starting at begin.
-
-Returns:
-  A string of bytes read. May be shorted than length if EOF was reached
-  first.
-
-
-
-
Overrides: - MediaUpload.getbytes -
-
-
-
- -
- -
- - -
-

has_stream(self) -

-
source code  -
- -
-Does the underlying upload support a streaming interface.
-
-Streaming means it is an io.IOBase subclass that supports seek, i.e.
-seekable() returns True.
-
-Returns:
-  True if the call to stream() will return an instance of a seekable io.Base
-  subclass.
-
-
-
-
Overrides: - MediaUpload.has_stream -
-
-
-
- -
- -
- - -
-

stream(self) -

-
source code  -
- -
-A stream interface to the data being uploaded.
-
-Returns:
-  The returned value is an io.IOBase subclass that supports seek, i.e.
-  seekable() returns True.
-
-
-
-
Overrides: - MediaUpload.stream -
-
-
-
- -
- -
- - -
-

to_json(self) -

-
source code  -
- -

This upload type is not serializable.

-
-
Overrides: - MediaUpload.to_json -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.http.MediaUpload-class.html b/docs/epy/googleapiclient.http.MediaUpload-class.html deleted file mode 100644 index bb0ca394f2c..00000000000 --- a/docs/epy/googleapiclient.http.MediaUpload-class.html +++ /dev/null @@ -1,694 +0,0 @@ - - - - - googleapiclient.http.MediaUpload - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module http :: - Class MediaUpload - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class MediaUpload

source code

-
-object --+
-         |
-        MediaUpload
-
- -
Known Subclasses:
-
- -
- -
-

Describes a media object to upload.

-

Base class that defines the interface of MediaUpload subclasses.

-

Note that subclasses of MediaUpload may allow you to control the - chunksize when uploading a media object. It is important to keep the size - of the chunk as large as possible to keep the upload efficient. Other - factors may influence the size of the chunk you use, particularly if you - are working in an environment where individual HTTP requests may have a - hardcoded time limit, such as under certain classes of requests under - Google App Engine.

-

Streams are io.Base compatible objects that support seek(). Some - MediaUpload subclasses support using streams directly to upload data. - Support for streaming may be indicated by a MediaUpload sub-class and if - appropriate for a platform that stream will be used for uploading the - media object. The support for streaming is indicated by has_stream() - returning True. The stream() method should return an io.Base object that - supports seek(). On platforms where the underlying httplib module - supports streaming, for example Python 2.6 and later, the stream will be - passed into the http library which will result in less memory being used - and possibly faster uploads.

-

If you need to upload media that can't be uploaded using any of the - existing MediaUpload sub-class then you can sub-class MediaUpload for - your particular needs.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
chunksize(self)
- Chunk size for resumable uploads.
- source code - -
- -
-   - - - - - - -
mimetype(self)
- Mime type of the body.
- source code - -
- -
-   - - - - - - -
size(self)
- Size of upload.
- source code - -
- -
-   - - - - - - -
resumable(self)
- Whether this upload is resumable.
- source code - -
- -
-   - - - - - - -
getbytes(self, - begin, - end)
- Get bytes from the media.
- source code - -
- -
-   - - - - - - -
has_stream(self)
- Does the underlying upload support a streaming interface.
- source code - -
- -
-   - - - - - - -
stream(self)
- A stream interface to the data being uploaded.
- source code - -
- -
-   - - - - - - -
_to_json(*args, - **kwargs)
- Utility function for creating a JSON representation of a MediaUpload.
- source code - -
- -
-   - - - - - - -
to_json(self)
- Create a JSON representation of an instance of MediaUpload.
- source code - -
- -
-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __init__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Class Methods[hide private]
-
-   - - - - - - -
new_from_json(cls, - s)
- Utility class method to instantiate a MediaUpload subclass from a JSON -representation produced by to_json().
- source code - -
- -
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

chunksize(self) -

-
source code  -
- -
-Chunk size for resumable uploads.
-
-Returns:
-  Chunk size in bytes.
-
-
-
-
-
-
- -
- -
- - -
-

mimetype(self) -

-
source code  -
- -
-Mime type of the body.
-
-Returns:
-  Mime type.
-
-
-
-
-
-
- -
- -
- - -
-

size(self) -

-
source code  -
- -
-Size of upload.
-
-Returns:
-  Size of the body, or None of the size is unknown.
-
-
-
-
-
-
- -
- -
- - -
-

resumable(self) -

-
source code  -
- -
-Whether this upload is resumable.
-
-Returns:
-  True if resumable upload or False.
-
-
-
-
-
-
- -
- -
- - -
-

getbytes(self, - begin, - end) -

-
source code  -
- -
-Get bytes from the media.
-
-Args:
-  begin: int, offset from beginning of file.
-  length: int, number of bytes to read, starting at begin.
-
-Returns:
-  A string of bytes read. May be shorter than length if EOF was reached
-  first.
-
-
-
-
-
-
- -
- -
- - -
-

has_stream(self) -

-
source code  -
- -
-Does the underlying upload support a streaming interface.
-
-Streaming means it is an io.IOBase subclass that supports seek, i.e.
-seekable() returns True.
-
-Returns:
-  True if the call to stream() will return an instance of a seekable io.Base
-  subclass.
-
-
-
-
-
-
- -
- -
- - -
-

stream(self) -

-
source code  -
- -
-A stream interface to the data being uploaded.
-
-Returns:
-  The returned value is an io.IOBase subclass that supports seek, i.e.
-  seekable() returns True.
-
-
-
-
-
-
- -
- -
- - -
-

_to_json(*args, - **kwargs) -

-
source code  -
- -
-Utility function for creating a JSON representation of a MediaUpload.
-
-Args:
-  strip: array, An array of names of members to not include in the JSON.
-
-Returns:
-   string, a JSON representation of this instance, suitable to pass to
-   from_json().
-
-
-
-
Decorators:
-
    -
  • @util.positional(1)
  • -
-
-
-
- -
- -
- - -
-

to_json(self) -

-
source code  -
- -
-Create a JSON representation of an instance of MediaUpload.
-
-Returns:
-   string, a JSON representation of this instance, suitable to pass to
-   from_json().
-
-
-
-
-
-
- -
- -
- - -
-

new_from_json(cls, - s) -
Class Method -

-
source code  -
- -
-Utility class method to instantiate a MediaUpload subclass from a JSON
-representation produced by to_json().
-
-Args:
-  s: string, JSON from to_json().
-
-Returns:
-  An instance of the subclass of MediaUpload that was serialized with
-  to_json().
-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.http.MediaUploadProgress-class.html b/docs/epy/googleapiclient.http.MediaUploadProgress-class.html deleted file mode 100644 index d9111e82f15..00000000000 --- a/docs/epy/googleapiclient.http.MediaUploadProgress-class.html +++ /dev/null @@ -1,289 +0,0 @@ - - - - - googleapiclient.http.MediaUploadProgress - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module http :: - Class MediaUploadProgress - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class MediaUploadProgress

source code

-
-object --+
-         |
-        MediaUploadProgress
-
- -
-

Status of a resumable upload.

- - - - - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
__init__(self, - resumable_progress, - total_size)
- Constructor.
- source code - -
- -
-   - - - - - - -
progress(self)
- Percent of upload completed, as a float.
- source code - -
- -
-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

__init__(self, - resumable_progress, - total_size) -
(Constructor) -

-
source code  -
- -
-Constructor.
-
-Args:
-  resumable_progress: int, bytes sent so far.
-  total_size: int, total bytes in complete upload, or None if the total
-    upload size isn't known ahead of time.
-
-
-
-
Overrides: - object.__init__ -
-
-
-
- -
- -
- - -
-

progress(self) -

-
source code  -
- -
-Percent of upload completed, as a float.
-
-Returns:
-  the percentage complete as a float, returning 0.0 if the total size of
-  the upload is unknown.
-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.http.RequestMockBuilder-class.html b/docs/epy/googleapiclient.http.RequestMockBuilder-class.html deleted file mode 100644 index 001c33cb526..00000000000 --- a/docs/epy/googleapiclient.http.RequestMockBuilder-class.html +++ /dev/null @@ -1,335 +0,0 @@ - - - - - googleapiclient.http.RequestMockBuilder - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module http :: - Class RequestMockBuilder - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class RequestMockBuilder

source code

-
-object --+
-         |
-        RequestMockBuilder
-
- -
-
-A simple mock of HttpRequest
-
-Pass in a dictionary to the constructor that maps request methodIds to
-tuples of (httplib2.Response, content, opt_expected_body) that should be
-returned when that method is called. None may also be passed in for the
-httplib2.Response, in which case a 200 OK response will be generated.
-If an opt_expected_body (str or dict) is provided, it will be compared to
-the body and UnexpectedBodyError will be raised on inequality.
-
-Example:
-  response = '{"data": {"id": "tag:google.c...'
-  requestBuilder = RequestMockBuilder(
-    {
-      'plus.activities.get': (None, response),
-    }
-  )
-  googleapiclient.discovery.build("plus", "v1", requestBuilder=requestBuilder)
-
-Methods that you do not supply a response for will return a
-200 OK with an empty string as the response content or raise an excpetion
-if check_unexpected is set to True. The methodId is taken from the rpcName
-in the discovery document.
-
-For more details see the project wiki.
-
-
- - - - - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
__init__(self, - responses, - check_unexpected=False)
- Constructor for RequestMockBuilder
- source code - -
- -
-   - - - - - - -
__call__(self, - http, - postproc, - uri, - method='GET', - body=None, - headers=None, - methodId=None, - resumable=None)
- Implements the callable interface that discovery.build() expects of - requestBuilder, which is to build an object compatible with - HttpRequest.execute().
- source code - -
- -
-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

__init__(self, - responses, - check_unexpected=False) -
(Constructor) -

-
source code  -
- -
-Constructor for RequestMockBuilder
-
-The constructed object should be a callable object
-that can replace the class HttpResponse.
-
-responses - A dictionary that maps methodIds into tuples
-            of (httplib2.Response, content). The methodId
-            comes from the 'rpcName' field in the discovery
-            document.
-check_unexpected - A boolean setting whether or not UnexpectedMethodError
-                   should be raised on unsupplied method.
-
-
-
-
Overrides: - object.__init__ -
-
-
-
- -
- -
- - -
-

__call__(self, - http, - postproc, - uri, - method='GET', - body=None, - headers=None, - methodId=None, - resumable=None) -
(Call operator) -

-
source code  -
- -

Implements the callable interface that discovery.build() expects of - requestBuilder, which is to build an object compatible with - HttpRequest.execute(). See that method for the description of the - parameters and the expected response.

-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.http._StreamSlice-class.html b/docs/epy/googleapiclient.http._StreamSlice-class.html deleted file mode 100644 index bef1a37383e..00000000000 --- a/docs/epy/googleapiclient.http._StreamSlice-class.html +++ /dev/null @@ -1,301 +0,0 @@ - - - - - googleapiclient.http._StreamSlice - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module http :: - Class _StreamSlice - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class _StreamSlice

source code

-
-object --+
-         |
-        _StreamSlice
-
- -
-

Truncated stream.

-

Takes a stream and presents a stream that is a slice of the original - stream. This is used when uploading media in chunks. In later versions of - Python a stream can be passed to httplib in place of the string of data - to send. The problem is that httplib just blindly reads to the end of the - stream. This wrapper presents a virtual stream that only reads to the end - of the chunk.

- - - - - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
__init__(self, - stream, - begin, - chunksize)
- Constructor.
- source code - -
- -
-   - - - - - - -
read(self, - n=-1)
- Read n bytes.
- source code - -
- -
-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

__init__(self, - stream, - begin, - chunksize) -
(Constructor) -

-
source code  -
- -
-Constructor.
-
-Args:
-  stream: (io.Base, file object), the stream to wrap.
-  begin: int, the seek position the chunk begins at.
-  chunksize: int, the size of the chunk.
-
-
-
-
Overrides: - object.__init__ -
-
-
-
- -
- -
- - -
-

read(self, - n=-1) -

-
source code  -
- -
-Read n bytes.
-
-Args:
-  n, int, the number of bytes to read.
-
-Returns:
-  A string of length 'n', or less if EOF is reached.
-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.mimeparse-module.html b/docs/epy/googleapiclient.mimeparse-module.html deleted file mode 100644 index a4b675177c9..00000000000 --- a/docs/epy/googleapiclient.mimeparse-module.html +++ /dev/null @@ -1,508 +0,0 @@ - - - - - googleapiclient.mimeparse - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module mimeparse - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Module mimeparse

source code

-
-MIME-Type Parser
-
-This module provides basic functions for handling mime-types. It can handle
-matching mime-types against a list of media-ranges. See section 14.1 of the
-HTTP specification [RFC 2616] for a complete explanation.
-
-   http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1
-
-Contents:
- - parse_mime_type():   Parses a mime-type into its component parts.
- - parse_media_range(): Media-ranges are mime-types with wild-cards and a 'q'
-                          quality parameter.
- - quality():           Determines the quality ('q') of a mime-type when
-                          compared against a list of media-ranges.
- - quality_parsed():    Just like quality() except the second parameter must be
-                          pre-parsed.
- - best_match():        Choose the mime-type with the highest quality ('q')
-                          from a list of candidates.
-
-
- -
-

Version: - 0.1.3 -

-

Author: - Joe Gregorio -

-

License: - MIT License -

-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Functions[hide private]
-
-   - - - - - - -
parse_mime_type(mime_type)
- Parses a mime-type into its component parts.
- source code - -
- -
-   - - - - - - -
parse_media_range(range)
- Parse a media-range into its component parts.
- source code - -
- -
-   - - - - - - -
fitness_and_quality_parsed(mime_type, - parsed_ranges)
- Find the best match for a mime-type amongst parsed media-ranges.
- source code - -
- -
-   - - - - - - -
quality_parsed(mime_type, - parsed_ranges)
- Find the best match for a mime-type amongst parsed media-ranges.
- source code - -
- -
-   - - - - - - -
quality(mime_type, - ranges)
- Return the quality ('q') of a mime-type against a list of - media-ranges.
- source code - -
- -
-   - - - - - - -
best_match(supported, - header)
- Return mime-type with the highest quality ('q') from list of - candidates.
- source code - -
- -
-   - - - - - - -
_filter_blank(i) - source code - -
- -
- - - - - - - - - - - - - - - -
- - - - - -
Variables[hide private]
-
-   - - __email__ = 'joe@bitworking.org' -
-   - - __credits__ = '' -
-   - - __package__ = None -
- - - - - - -
- - - - - -
Function Details[hide private]
-
- -
- -
- - -
-

parse_mime_type(mime_type) -

-
source code  -
- -
-Parses a mime-type into its component parts.
-
-Carves up a mime-type and returns a tuple of the (type, subtype, params)
-where 'params' is a dictionary of all the parameters for the media range.
-For example, the media range 'application/xhtml;q=0.5' would get parsed
-into:
-
-   ('application', 'xhtml', {'q', '0.5'})
-   
-
-
-
-
-
-
- -
- -
- - -
-

parse_media_range(range) -

-
source code  -
- -
-Parse a media-range into its component parts.
-
-Carves up a media range and returns a tuple of the (type, subtype,
-params) where 'params' is a dictionary of all the parameters for the media
-range.  For example, the media range 'application/*;q=0.5' would get parsed
-into:
-
-   ('application', '*', {'q', '0.5'})
-
-In addition this function also guarantees that there is a value for 'q'
-in the params dictionary, filling it in with a proper default if
-necessary.
-
-
-
-
-
-
- -
- -
- - -
-

fitness_and_quality_parsed(mime_type, - parsed_ranges) -

-
source code  -
- -

Find the best match for a mime-type amongst parsed media-ranges.

-

Find the best match for a given mime-type against a list of - media_ranges that have already been parsed by parse_media_range(). - Returns a tuple of the fitness value and the value of the 'q' quality - parameter of the best match, or (-1, 0) if no match was found. Just as - for quality_parsed(), 'parsed_ranges' must be a list of parsed media - ranges.

-
-
-
-
- -
- -
- - -
-

quality_parsed(mime_type, - parsed_ranges) -

-
source code  -
- -

Find the best match for a mime-type amongst parsed media-ranges.

-

Find the best match for a given mime-type against a list of - media_ranges that have already been parsed by parse_media_range(). - Returns the 'q' quality parameter of the best match, 0 if no match was - found. This function bahaves the same as quality() except that - 'parsed_ranges' must be a list of parsed media ranges.

-
-
-
-
- -
- -
- - -
-

quality(mime_type, - ranges) -

-
source code  -
- -

Return the quality ('q') of a mime-type against a list of - media-ranges.

-

Returns the quality 'q' of a mime-type when compared against the - media-ranges in ranges. For example:

-
->>> quality('text/html','text/*;q=0.3, text/html;q=0.7,
-              text/html;level=1, text/html;level=2;q=0.4, */*;q=0.5')
-0.7
-
-
-
-
- -
- -
- - -
-

best_match(supported, - header) -

-
source code  -
- -

Return mime-type with the highest quality ('q') from list of - candidates.

-

Takes a list of supported mime-types and finds the best match for all - the media-ranges listed in header. The value of header must be a string - that conforms to the format of the HTTP Accept: header. The value of - 'supported' is a list of mime-types. The list of supported mime-types - should be sorted in order of increasing desirability, in case of a - situation where there is a tie.

-
->>> best_match(['application/xbel+xml', 'text/xml'],
-               'text/*;q=0.5,*/*; q=0.1')
-'text/xml'
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.mimeparse-pysrc.html b/docs/epy/googleapiclient.mimeparse-pysrc.html deleted file mode 100644 index 15e66eb266f..00000000000 --- a/docs/epy/googleapiclient.mimeparse-pysrc.html +++ /dev/null @@ -1,294 +0,0 @@ - - - - - googleapiclient.mimeparse - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module mimeparse - - - - - - -
[hide private]
[frames] | no frames]
-
-

Source Code for Module googleapiclient.mimeparse

-
-  1  # Copyright 2014 Joe Gregorio 
-  2  # 
-  3  # Licensed under the MIT License 
-  4   
-  5  """MIME-Type Parser 
-  6   
-  7  This module provides basic functions for handling mime-types. It can handle 
-  8  matching mime-types against a list of media-ranges. See section 14.1 of the 
-  9  HTTP specification [RFC 2616] for a complete explanation. 
- 10   
- 11     http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1 
- 12   
- 13  Contents: 
- 14   - parse_mime_type():   Parses a mime-type into its component parts. 
- 15   - parse_media_range(): Media-ranges are mime-types with wild-cards and a 'q' 
- 16                            quality parameter. 
- 17   - quality():           Determines the quality ('q') of a mime-type when 
- 18                            compared against a list of media-ranges. 
- 19   - quality_parsed():    Just like quality() except the second parameter must be 
- 20                            pre-parsed. 
- 21   - best_match():        Choose the mime-type with the highest quality ('q') 
- 22                            from a list of candidates. 
- 23  """ 
- 24  from __future__ import absolute_import 
- 25  from functools import reduce 
- 26  import six 
- 27   
- 28  __version__ = "0.1.3" 
- 29  __author__ = "Joe Gregorio" 
- 30  __email__ = "joe@bitworking.org" 
- 31  __license__ = "MIT License" 
- 32  __credits__ = "" 
- 33   
- 34   
-
35 -def parse_mime_type(mime_type): -
36 """Parses a mime-type into its component parts. - 37 - 38 Carves up a mime-type and returns a tuple of the (type, subtype, params) - 39 where 'params' is a dictionary of all the parameters for the media range. - 40 For example, the media range 'application/xhtml;q=0.5' would get parsed - 41 into: - 42 - 43 ('application', 'xhtml', {'q', '0.5'}) - 44 """ - 45 parts = mime_type.split(";") - 46 params = dict( - 47 [tuple([s.strip() for s in param.split("=", 1)]) for param in parts[1:]] - 48 ) - 49 full_type = parts[0].strip() - 50 # Java URLConnection class sends an Accept header that includes a - 51 # single '*'. Turn it into a legal wildcard. - 52 if full_type == "*": - 53 full_type = "*/*" - 54 (type, subtype) = full_type.split("/") - 55 - 56 return (type.strip(), subtype.strip(), params) -
57 - 58 -
59 -def parse_media_range(range): -
60 """Parse a media-range into its component parts. - 61 - 62 Carves up a media range and returns a tuple of the (type, subtype, - 63 params) where 'params' is a dictionary of all the parameters for the media - 64 range. For example, the media range 'application/*;q=0.5' would get parsed - 65 into: - 66 - 67 ('application', '*', {'q', '0.5'}) - 68 - 69 In addition this function also guarantees that there is a value for 'q' - 70 in the params dictionary, filling it in with a proper default if - 71 necessary. - 72 """ - 73 (type, subtype, params) = parse_mime_type(range) - 74 if ( - 75 "q" not in params - 76 or not params["q"] - 77 or not float(params["q"]) - 78 or float(params["q"]) > 1 - 79 or float(params["q"]) < 0 - 80 ): - 81 params["q"] = "1" - 82 - 83 return (type, subtype, params) -
84 - 85 -
86 -def fitness_and_quality_parsed(mime_type, parsed_ranges): -
87 """Find the best match for a mime-type amongst parsed media-ranges. - 88 - 89 Find the best match for a given mime-type against a list of media_ranges - 90 that have already been parsed by parse_media_range(). Returns a tuple of - 91 the fitness value and the value of the 'q' quality parameter of the best - 92 match, or (-1, 0) if no match was found. Just as for quality_parsed(), - 93 'parsed_ranges' must be a list of parsed media ranges. - 94 """ - 95 best_fitness = -1 - 96 best_fit_q = 0 - 97 (target_type, target_subtype, target_params) = parse_media_range(mime_type) - 98 for (type, subtype, params) in parsed_ranges: - 99 type_match = type == target_type or type == "*" or target_type == "*" -100 subtype_match = ( -101 subtype == target_subtype or subtype == "*" or target_subtype == "*" -102 ) -103 if type_match and subtype_match: -104 param_matches = reduce( -105 lambda x, y: x + y, -106 [ -107 1 -108 for (key, value) in six.iteritems(target_params) -109 if key != "q" and key in params and value == params[key] -110 ], -111 0, -112 ) -113 fitness = (type == target_type) and 100 or 0 -114 fitness += (subtype == target_subtype) and 10 or 0 -115 fitness += param_matches -116 if fitness > best_fitness: -117 best_fitness = fitness -118 best_fit_q = params["q"] -119 -120 return best_fitness, float(best_fit_q) -
121 -122 -
123 -def quality_parsed(mime_type, parsed_ranges): -
124 """Find the best match for a mime-type amongst parsed media-ranges. -125 -126 Find the best match for a given mime-type against a list of media_ranges -127 that have already been parsed by parse_media_range(). Returns the 'q' -128 quality parameter of the best match, 0 if no match was found. This function -129 bahaves the same as quality() except that 'parsed_ranges' must be a list of -130 parsed media ranges. -131 """ -132 -133 return fitness_and_quality_parsed(mime_type, parsed_ranges)[1] -
134 -135 -
136 -def quality(mime_type, ranges): -
137 """Return the quality ('q') of a mime-type against a list of media-ranges. -138 -139 Returns the quality 'q' of a mime-type when compared against the -140 media-ranges in ranges. For example: -141 -142 >>> quality('text/html','text/*;q=0.3, text/html;q=0.7, -143 text/html;level=1, text/html;level=2;q=0.4, */*;q=0.5') -144 0.7 -145 -146 """ -147 parsed_ranges = [parse_media_range(r) for r in ranges.split(",")] -148 -149 return quality_parsed(mime_type, parsed_ranges) -
150 -151 -
152 -def best_match(supported, header): -
153 """Return mime-type with the highest quality ('q') from list of candidates. -154 -155 Takes a list of supported mime-types and finds the best match for all the -156 media-ranges listed in header. The value of header must be a string that -157 conforms to the format of the HTTP Accept: header. The value of 'supported' -158 is a list of mime-types. The list of supported mime-types should be sorted -159 in order of increasing desirability, in case of a situation where there is -160 a tie. -161 -162 >>> best_match(['application/xbel+xml', 'text/xml'], -163 'text/*;q=0.5,*/*; q=0.1') -164 'text/xml' -165 """ -166 split_header = _filter_blank(header.split(",")) -167 parsed_header = [parse_media_range(r) for r in split_header] -168 weighted_matches = [] -169 pos = 0 -170 for mime_type in supported: -171 weighted_matches.append( -172 (fitness_and_quality_parsed(mime_type, parsed_header), pos, mime_type) -173 ) -174 pos += 1 -175 weighted_matches.sort() -176 -177 return weighted_matches[-1][0][1] and weighted_matches[-1][2] or "" -
178 -179 -
180 -def _filter_blank(i): -
181 for s in i: -182 if s.strip(): -183 yield s -
184 -
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.model-module.html b/docs/epy/googleapiclient.model-module.html deleted file mode 100644 index c1ab3850f73..00000000000 --- a/docs/epy/googleapiclient.model-module.html +++ /dev/null @@ -1,344 +0,0 @@ - - - - - googleapiclient.model - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module model - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Module model

source code

-

Model objects for requests and responses.

-

Each API may support one or more serializations, such as JSON, Atom, - etc. The model classes are responsible for converting between the wire - format and the Python object representation.

- -
-

Author: - jcgregorio@google.com (Joe Gregorio) -

-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Classes[hide private]
-
-   - - Model
- Model base class. -
-   - - BaseModel
- Base model class. -
-   - - JsonModel
- Model class for JSON. -
-   - - RawModel
- Model class for requests that don't return JSON. -
-   - - MediaModel
- Model class for requests that return Media. -
-   - - ProtocolBufferModel
- Model class for protocol buffers. -
- - - - - - - - - - - - -
- - - - - -
Functions[hide private]
-
-   - - - - - - -
_abstract() - source code - -
- -
-   - - - - - - -
makepatch(original, - modified)
- Create a patch object.
- source code - -
- -
- - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Variables[hide private]
-
-   - - _LIBRARY_VERSION = '1.10.0' -
-   - - _PY_VERSION = '2.7.18' -
-   - - LOGGER = logging.getLogger(__name__) -
-   - - dump_request_response = False -
-   - - __package__ = None -
- - - - - - -
- - - - - -
Function Details[hide private]
-
- -
- -
- - -
-

makepatch(original, - modified) -

-
source code  -
- -
-Create a patch object.
-
-Some methods support PATCH, an efficient way to send updates to a resource.
-This method allows the easy construction of patch bodies by looking at the
-differences between a resource before and after it was modified.
-
-Args:
-  original: object, the original deserialized resource
-  modified: object, the modified deserialized resource
-Returns:
-  An object that contains only the changes from original to modified, in a
-  form suitable to pass to a PATCH method.
-
-Example usage:
-  item = service.activities().get(postid=postid, userid=userid).execute()
-  original = copy.deepcopy(item)
-  item['object']['content'] = 'This is updated.'
-  service.activities.patch(postid=postid, userid=userid,
-    body=makepatch(original, item)).execute()
-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.model-pysrc.html b/docs/epy/googleapiclient.model-pysrc.html deleted file mode 100644 index e6ca29efdc9..00000000000 --- a/docs/epy/googleapiclient.model-pysrc.html +++ /dev/null @@ -1,675 +0,0 @@ - - - - - googleapiclient.model - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module model - - - - - - -
[hide private]
[frames] | no frames]
-
-

Source Code for Module googleapiclient.model

-
-  1  # Copyright 2014 Google Inc. All Rights Reserved. 
-  2  # 
-  3  # Licensed under the Apache License, Version 2.0 (the "License"); 
-  4  # you may not use this file except in compliance with the License. 
-  5  # You may obtain a copy of the License at 
-  6  # 
-  7  #      http://www.apache.org/licenses/LICENSE-2.0 
-  8  # 
-  9  # Unless required by applicable law or agreed to in writing, software 
- 10  # distributed under the License is distributed on an "AS IS" BASIS, 
- 11  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
- 12  # See the License for the specific language governing permissions and 
- 13  # limitations under the License. 
- 14   
- 15  """Model objects for requests and responses. 
- 16   
- 17  Each API may support one or more serializations, such 
- 18  as JSON, Atom, etc. The model classes are responsible 
- 19  for converting between the wire format and the Python 
- 20  object representation. 
- 21  """ 
- 22  from __future__ import absolute_import 
- 23  import six 
- 24   
- 25  __author__ = "jcgregorio@google.com (Joe Gregorio)" 
- 26   
- 27  import json 
- 28  import logging 
- 29  import platform 
- 30  import pkg_resources 
- 31   
- 32  from six.moves.urllib.parse import urlencode 
- 33   
- 34  from googleapiclient.errors import HttpError 
- 35   
- 36  _LIBRARY_VERSION = pkg_resources.get_distribution("google-api-python-client").version 
- 37  _PY_VERSION = platform.python_version() 
- 38   
- 39  LOGGER = logging.getLogger(__name__) 
- 40   
- 41  dump_request_response = False 
-
42 - 43 - 44 -def _abstract(): -
45 raise NotImplementedError("You need to override this function") -
46 -
47 - 48 -class Model(object): -
49 """Model base class. - 50 - 51 All Model classes should implement this interface. - 52 The Model serializes and de-serializes between a wire - 53 format such as JSON and a Python object representation. - 54 """ - 55 -
56 - def request(self, headers, path_params, query_params, body_value): -
57 """Updates outgoing requests with a serialized body. - 58 - 59 Args: - 60 headers: dict, request headers - 61 path_params: dict, parameters that appear in the request path - 62 query_params: dict, parameters that appear in the query - 63 body_value: object, the request body as a Python object, which must be - 64 serializable. - 65 Returns: - 66 A tuple of (headers, path_params, query, body) - 67 - 68 headers: dict, request headers - 69 path_params: dict, parameters that appear in the request path - 70 query: string, query part of the request URI - 71 body: string, the body serialized in the desired wire format. - 72 """ - 73 _abstract() -
74 -
75 - def response(self, resp, content): -
76 """Convert the response wire format into a Python object. - 77 - 78 Args: - 79 resp: httplib2.Response, the HTTP response headers and status - 80 content: string, the body of the HTTP response - 81 - 82 Returns: - 83 The body de-serialized as a Python object. - 84 - 85 Raises: - 86 googleapiclient.errors.HttpError if a non 2xx response is received. - 87 """ - 88 _abstract() -
89 -
90 - 91 -class BaseModel(Model): -
92 """Base model class. - 93 - 94 Subclasses should provide implementations for the "serialize" and - 95 "deserialize" methods, as well as values for the following class attributes. - 96 - 97 Attributes: - 98 accept: The value to use for the HTTP Accept header. - 99 content_type: The value to use for the HTTP Content-type header. -100 no_content_response: The value to return when deserializing a 204 "No -101 Content" response. -102 alt_param: The value to supply as the "alt" query parameter for requests. -103 """ -104 -105 accept = None -106 content_type = None -107 no_content_response = None -108 alt_param = None -109 -
110 - def _log_request(self, headers, path_params, query, body): -
111 """Logs debugging information about the request if requested.""" -112 if dump_request_response: -113 LOGGER.info("--request-start--") -114 LOGGER.info("-headers-start-") -115 for h, v in six.iteritems(headers): -116 LOGGER.info("%s: %s", h, v) -117 LOGGER.info("-headers-end-") -118 LOGGER.info("-path-parameters-start-") -119 for h, v in six.iteritems(path_params): -120 LOGGER.info("%s: %s", h, v) -121 LOGGER.info("-path-parameters-end-") -122 LOGGER.info("body: %s", body) -123 LOGGER.info("query: %s", query) -124 LOGGER.info("--request-end--") -
125 -
126 - def request(self, headers, path_params, query_params, body_value): -
127 """Updates outgoing requests with a serialized body. -128 -129 Args: -130 headers: dict, request headers -131 path_params: dict, parameters that appear in the request path -132 query_params: dict, parameters that appear in the query -133 body_value: object, the request body as a Python object, which must be -134 serializable by json. -135 Returns: -136 A tuple of (headers, path_params, query, body) -137 -138 headers: dict, request headers -139 path_params: dict, parameters that appear in the request path -140 query: string, query part of the request URI -141 body: string, the body serialized as JSON -142 """ -143 query = self._build_query(query_params) -144 headers["accept"] = self.accept -145 headers["accept-encoding"] = "gzip, deflate" -146 if "user-agent" in headers: -147 headers["user-agent"] += " " -148 else: -149 headers["user-agent"] = "" -150 headers["user-agent"] += "(gzip)" -151 if "x-goog-api-client" in headers: -152 headers["x-goog-api-client"] += " " -153 else: -154 headers["x-goog-api-client"] = "" -155 headers["x-goog-api-client"] += "gdcl/%s gl-python/%s" % ( -156 _LIBRARY_VERSION, -157 _PY_VERSION, -158 ) -159 -160 if body_value is not None: -161 headers["content-type"] = self.content_type -162 body_value = self.serialize(body_value) -163 self._log_request(headers, path_params, query, body_value) -164 return (headers, path_params, query, body_value) -
165 -
166 - def _build_query(self, params): -
167 """Builds a query string. -168 -169 Args: -170 params: dict, the query parameters -171 -172 Returns: -173 The query parameters properly encoded into an HTTP URI query string. -174 """ -175 if self.alt_param is not None: -176 params.update({"alt": self.alt_param}) -177 astuples = [] -178 for key, value in six.iteritems(params): -179 if type(value) == type([]): -180 for x in value: -181 x = x.encode("utf-8") -182 astuples.append((key, x)) -183 else: -184 if isinstance(value, six.text_type) and callable(value.encode): -185 value = value.encode("utf-8") -186 astuples.append((key, value)) -187 return "?" + urlencode(astuples) -
188 -
189 - def _log_response(self, resp, content): -
190 """Logs debugging information about the response if requested.""" -191 if dump_request_response: -192 LOGGER.info("--response-start--") -193 for h, v in six.iteritems(resp): -194 LOGGER.info("%s: %s", h, v) -195 if content: -196 LOGGER.info(content) -197 LOGGER.info("--response-end--") -
198 -
199 - def response(self, resp, content): -
200 """Convert the response wire format into a Python object. -201 -202 Args: -203 resp: httplib2.Response, the HTTP response headers and status -204 content: string, the body of the HTTP response -205 -206 Returns: -207 The body de-serialized as a Python object. -208 -209 Raises: -210 googleapiclient.errors.HttpError if a non 2xx response is received. -211 """ -212 self._log_response(resp, content) -213 # Error handling is TBD, for example, do we retry -214 # for some operation/error combinations? -215 if resp.status < 300: -216 if resp.status == 204: -217 # A 204: No Content response should be treated differently -218 # to all the other success states -219 return self.no_content_response -220 return self.deserialize(content) -221 else: -222 LOGGER.debug("Content from bad request was: %r" % content) -223 raise HttpError(resp, content) -
224 -
225 - def serialize(self, body_value): -
226 """Perform the actual Python object serialization. -227 -228 Args: -229 body_value: object, the request body as a Python object. -230 -231 Returns: -232 string, the body in serialized form. -233 """ -234 _abstract() -
235 -
236 - def deserialize(self, content): -
237 """Perform the actual deserialization from response string to Python -238 object. -239 -240 Args: -241 content: string, the body of the HTTP response -242 -243 Returns: -244 The body de-serialized as a Python object. -245 """ -246 _abstract() -
247 -
248 -249 -class JsonModel(BaseModel): -
250 """Model class for JSON. -251 -252 Serializes and de-serializes between JSON and the Python -253 object representation of HTTP request and response bodies. -254 """ -255 -256 accept = "application/json" -257 content_type = "application/json" -258 alt_param = "json" -259 -
260 - def __init__(self, data_wrapper=False): -
261 """Construct a JsonModel. -262 -263 Args: -264 data_wrapper: boolean, wrap requests and responses in a data wrapper -265 """ -266 self._data_wrapper = data_wrapper -
267 -
268 - def serialize(self, body_value): -
269 if ( -270 isinstance(body_value, dict) -271 and "data" not in body_value -272 and self._data_wrapper -273 ): -274 body_value = {"data": body_value} -275 return json.dumps(body_value) -
276 -
277 - def deserialize(self, content): -
278 try: -279 content = content.decode("utf-8") -280 except AttributeError: -281 pass -282 body = json.loads(content) -283 if self._data_wrapper and isinstance(body, dict) and "data" in body: -284 body = body["data"] -285 return body -
286 -287 @property -
288 - def no_content_response(self): -
289 return {} -
290 -
291 -292 -class RawModel(JsonModel): -
293 """Model class for requests that don't return JSON. -294 -295 Serializes and de-serializes between JSON and the Python -296 object representation of HTTP request, and returns the raw bytes -297 of the response body. -298 """ -299 -300 accept = "*/*" -301 content_type = "application/json" -302 alt_param = None -303 -
304 - def deserialize(self, content): -
305 return content -
306 -307 @property -
308 - def no_content_response(self): -
309 return "" -
310 -
311 -312 -class MediaModel(JsonModel): -
313 """Model class for requests that return Media. -314 -315 Serializes and de-serializes between JSON and the Python -316 object representation of HTTP request, and returns the raw bytes -317 of the response body. -318 """ -319 -320 accept = "*/*" -321 content_type = "application/json" -322 alt_param = "media" -323 -
324 - def deserialize(self, content): -
325 return content -
326 -327 @property -
328 - def no_content_response(self): -
329 return "" -
330 -
331 -332 -class ProtocolBufferModel(BaseModel): -
333 """Model class for protocol buffers. -334 -335 Serializes and de-serializes the binary protocol buffer sent in the HTTP -336 request and response bodies. -337 """ -338 -339 accept = "application/x-protobuf" -340 content_type = "application/x-protobuf" -341 alt_param = "proto" -342 -
343 - def __init__(self, protocol_buffer): -
344 """Constructs a ProtocolBufferModel. -345 -346 The serialized protocol buffer returned in an HTTP response will be -347 de-serialized using the given protocol buffer class. -348 -349 Args: -350 protocol_buffer: The protocol buffer class used to de-serialize a -351 response from the API. -352 """ -353 self._protocol_buffer = protocol_buffer -
354 -
355 - def serialize(self, body_value): -
356 return body_value.SerializeToString() -
357 -
358 - def deserialize(self, content): -
359 return self._protocol_buffer.FromString(content) -
360 -361 @property -
362 - def no_content_response(self): -
363 return self._protocol_buffer() -
364 -
365 -366 -def makepatch(original, modified): -
367 """Create a patch object. -368 -369 Some methods support PATCH, an efficient way to send updates to a resource. -370 This method allows the easy construction of patch bodies by looking at the -371 differences between a resource before and after it was modified. -372 -373 Args: -374 original: object, the original deserialized resource -375 modified: object, the modified deserialized resource -376 Returns: -377 An object that contains only the changes from original to modified, in a -378 form suitable to pass to a PATCH method. -379 -380 Example usage: -381 item = service.activities().get(postid=postid, userid=userid).execute() -382 original = copy.deepcopy(item) -383 item['object']['content'] = 'This is updated.' -384 service.activities.patch(postid=postid, userid=userid, -385 body=makepatch(original, item)).execute() -386 """ -387 patch = {} -388 for key, original_value in six.iteritems(original): -389 modified_value = modified.get(key, None) -390 if modified_value is None: -391 # Use None to signal that the element is deleted -392 patch[key] = None -393 elif original_value != modified_value: -394 if type(original_value) == type({}): -395 # Recursively descend objects -396 patch[key] = makepatch(original_value, modified_value) -397 else: -398 # In the case of simple types or arrays we just replace -399 patch[key] = modified_value -400 else: -401 # Don't add anything to patch if there's no change -402 pass -403 for key in modified: -404 if key not in original: -405 patch[key] = modified[key] -406 -407 return patch -
408 -
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.model.BaseModel-class.html b/docs/epy/googleapiclient.model.BaseModel-class.html deleted file mode 100644 index e06fde60409..00000000000 --- a/docs/epy/googleapiclient.model.BaseModel-class.html +++ /dev/null @@ -1,565 +0,0 @@ - - - - - googleapiclient.model.BaseModel - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module model :: - Class BaseModel - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class BaseModel

source code

-
-object --+    
-         |    
-     Model --+
-             |
-            BaseModel
-
- -
Known Subclasses:
-
- -
- -
-
-Base model class.
-
-Subclasses should provide implementations for the "serialize" and
-"deserialize" methods, as well as values for the following class attributes.
-
-Attributes:
-  accept: The value to use for the HTTP Accept header.
-  content_type: The value to use for the HTTP Content-type header.
-  no_content_response: The value to return when deserializing a 204 "No
-      Content" response.
-  alt_param: The value to supply as the "alt" query parameter for requests.
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
_log_request(self, - headers, - path_params, - query, - body)
- Logs debugging information about the request if requested.
- source code - -
- -
-   - - - - - - -
request(self, - headers, - path_params, - query_params, - body_value)
- Updates outgoing requests with a serialized body.
- source code - -
- -
-   - - - - - - -
_build_query(self, - params)
- Builds a query string.
- source code - -
- -
-   - - - - - - -
_log_response(self, - resp, - content)
- Logs debugging information about the response if requested.
- source code - -
- -
-   - - - - - - -
response(self, - resp, - content)
- Convert the response wire format into a Python object.
- source code - -
- -
-   - - - - - - -
serialize(self, - body_value)
- Perform the actual Python object serialization.
- source code - -
- -
-   - - - - - - -
deserialize(self, - content)
- Perform the actual deserialization from response string to Python -object.
- source code - -
- -
-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __init__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - - - - - - - - - - -
- - - - - -
Class Variables[hide private]
-
-   - - accept = None -
-   - - content_type = None -
-   - - no_content_response = None -
-   - - alt_param = None -
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

request(self, - headers, - path_params, - query_params, - body_value) -

-
source code  -
- -
-Updates outgoing requests with a serialized body.
-
-Args:
-  headers: dict, request headers
-  path_params: dict, parameters that appear in the request path
-  query_params: dict, parameters that appear in the query
-  body_value: object, the request body as a Python object, which must be
-              serializable by json.
-Returns:
-  A tuple of (headers, path_params, query, body)
-
-  headers: dict, request headers
-  path_params: dict, parameters that appear in the request path
-  query: string, query part of the request URI
-  body: string, the body serialized as JSON
-
-
-
-
Overrides: - Model.request -
-
-
-
- -
- -
- - -
-

_build_query(self, - params) -

-
source code  -
- -
-Builds a query string.
-
-Args:
-  params: dict, the query parameters
-
-Returns:
-  The query parameters properly encoded into an HTTP URI query string.
-
-
-
-
-
-
- -
- -
- - -
-

response(self, - resp, - content) -

-
source code  -
- -
-Convert the response wire format into a Python object.
-
-Args:
-  resp: httplib2.Response, the HTTP response headers and status
-  content: string, the body of the HTTP response
-
-Returns:
-  The body de-serialized as a Python object.
-
-Raises:
-  googleapiclient.errors.HttpError if a non 2xx response is received.
-
-
-
-
Overrides: - Model.response -
-
-
-
- -
- -
- - -
-

serialize(self, - body_value) -

-
source code  -
- -
-Perform the actual Python object serialization.
-
-Args:
-  body_value: object, the request body as a Python object.
-
-Returns:
-  string, the body in serialized form.
-
-
-
-
-
-
- -
- -
- - -
-

deserialize(self, - content) -

-
source code  -
- -
-Perform the actual deserialization from response string to Python
-object.
-
-Args:
-  content: string, the body of the HTTP response
-
-Returns:
-  The body de-serialized as a Python object.
-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.model.JsonModel-class.html b/docs/epy/googleapiclient.model.JsonModel-class.html deleted file mode 100644 index 75688f74604..00000000000 --- a/docs/epy/googleapiclient.model.JsonModel-class.html +++ /dev/null @@ -1,446 +0,0 @@ - - - - - googleapiclient.model.JsonModel - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module model :: - Class JsonModel - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class JsonModel

source code

-
-object --+        
-         |        
-     Model --+    
-             |    
-     BaseModel --+
-                 |
-                JsonModel
-
- -
Known Subclasses:
-
- -
- -
-

Model class for JSON.

-

Serializes and de-serializes between JSON and the Python object - representation of HTTP request and response bodies.

- - - - - - - - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
__init__(self, - data_wrapper=False)
- Construct a JsonModel.
- source code - -
- -
-   - - - - - - -
serialize(self, - body_value)
- Perform the actual Python object serialization.
- source code - -
- -
-   - - - - - - -
deserialize(self, - content)
- Perform the actual deserialization from response string to Python -object.
- source code - -
- -
-

Inherited from BaseModel: - request, - response -

-

Inherited from BaseModel (private): - _build_query, - _log_request, - _log_response -

-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - - - - - - - -
- - - - - -
Class Variables[hide private]
-
-   - - accept = 'application/json' -
-   - - content_type = 'application/json' -
-   - - alt_param = 'json' -
- - - - - - - - - - - - -
- - - - - -
Properties[hide private]
-
-   - - no_content_response -
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

__init__(self, - data_wrapper=False) -
(Constructor) -

-
source code  -
- -
-Construct a JsonModel.
-
-Args:
-  data_wrapper: boolean, wrap requests and responses in a data wrapper
-
-
-
-
Overrides: - object.__init__ -
-
-
-
- -
- -
- - -
-

serialize(self, - body_value) -

-
source code  -
- -
-Perform the actual Python object serialization.
-
-Args:
-  body_value: object, the request body as a Python object.
-
-Returns:
-  string, the body in serialized form.
-
-
-
-
Overrides: - BaseModel.serialize -
(inherited documentation)
- -
-
-
- -
- -
- - -
-

deserialize(self, - content) -

-
source code  -
- -
-Perform the actual deserialization from response string to Python
-object.
-
-Args:
-  content: string, the body of the HTTP response
-
-Returns:
-  The body de-serialized as a Python object.
-
-
-
-
Overrides: - BaseModel.deserialize -
(inherited documentation)
- -
-
-
-
- - - - - - -
- - - - - -
Property Details[hide private]
-
- -
- -
-

no_content_response

- -
-
Get Method:
-
unreachable.no_content_response(self) -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.model.MediaModel-class.html b/docs/epy/googleapiclient.model.MediaModel-class.html deleted file mode 100644 index e31449b280a..00000000000 --- a/docs/epy/googleapiclient.model.MediaModel-class.html +++ /dev/null @@ -1,348 +0,0 @@ - - - - - googleapiclient.model.MediaModel - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module model :: - Class MediaModel - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class MediaModel

source code

-
-object --+            
-         |            
-     Model --+        
-             |        
-     BaseModel --+    
-                 |    
-         JsonModel --+
-                     |
-                    MediaModel
-
- -
-

Model class for requests that return Media.

-

Serializes and de-serializes between JSON and the Python object - representation of HTTP request, and returns the raw bytes of the response - body.

- - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
deserialize(self, - content)
- Perform the actual deserialization from response string to Python -object.
- source code - -
- -
-

Inherited from JsonModel: - __init__, - serialize -

-

Inherited from BaseModel: - request, - response -

-

Inherited from BaseModel (private): - _build_query, - _log_request, - _log_response -

-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - - - - - - - -
- - - - - -
Class Variables[hide private]
-
-   - - accept = '*/*' -
-   - - content_type = "application/json" -
-   - - alt_param = 'media' -
- - - - - - - - - - - - -
- - - - - -
Properties[hide private]
-
-   - - no_content_response -
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

deserialize(self, - content) -

-
source code  -
- -
-Perform the actual deserialization from response string to Python
-object.
-
-Args:
-  content: string, the body of the HTTP response
-
-Returns:
-  The body de-serialized as a Python object.
-
-
-
-
Overrides: - BaseModel.deserialize -
(inherited documentation)
- -
-
-
-
- - - - - - -
- - - - - -
Property Details[hide private]
-
- -
- -
-

no_content_response

- -
-
Get Method:
-
unreachable.no_content_response(self) -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.model.Model-class.html b/docs/epy/googleapiclient.model.Model-class.html deleted file mode 100644 index 26a8f3bffcb..00000000000 --- a/docs/epy/googleapiclient.model.Model-class.html +++ /dev/null @@ -1,318 +0,0 @@ - - - - - googleapiclient.model.Model - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module model :: - Class Model - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class Model

source code

-
-object --+
-         |
-        Model
-
- -
Known Subclasses:
-
- -
- -
-

Model base class.

-

All Model classes should implement this interface. The Model - serializes and de-serializes between a wire format such as JSON and a - Python object representation.

- - - - - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
request(self, - headers, - path_params, - query_params, - body_value)
- Updates outgoing requests with a serialized body.
- source code - -
- -
-   - - - - - - -
response(self, - resp, - content)
- Convert the response wire format into a Python object.
- source code - -
- -
-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __init__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

request(self, - headers, - path_params, - query_params, - body_value) -

-
source code  -
- -
-Updates outgoing requests with a serialized body.
-
-Args:
-  headers: dict, request headers
-  path_params: dict, parameters that appear in the request path
-  query_params: dict, parameters that appear in the query
-  body_value: object, the request body as a Python object, which must be
-              serializable.
-Returns:
-  A tuple of (headers, path_params, query, body)
-
-  headers: dict, request headers
-  path_params: dict, parameters that appear in the request path
-  query: string, query part of the request URI
-  body: string, the body serialized in the desired wire format.
-
-
-
-
-
-
- -
- -
- - -
-

response(self, - resp, - content) -

-
source code  -
- -
-Convert the response wire format into a Python object.
-
-Args:
-  resp: httplib2.Response, the HTTP response headers and status
-  content: string, the body of the HTTP response
-
-Returns:
-  The body de-serialized as a Python object.
-
-Raises:
-  googleapiclient.errors.HttpError if a non 2xx response is received.
-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.model.ProtocolBufferModel-class.html b/docs/epy/googleapiclient.model.ProtocolBufferModel-class.html deleted file mode 100644 index 85ce4d0b957..00000000000 --- a/docs/epy/googleapiclient.model.ProtocolBufferModel-class.html +++ /dev/null @@ -1,444 +0,0 @@ - - - - - googleapiclient.model.ProtocolBufferModel - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module model :: - Class ProtocolBufferModel - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class ProtocolBufferModel

source code

-
-object --+        
-         |        
-     Model --+    
-             |    
-     BaseModel --+
-                 |
-                ProtocolBufferModel
-
- -
-

Model class for protocol buffers.

-

Serializes and de-serializes the binary protocol buffer sent in the - HTTP request and response bodies.

- - - - - - - - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
__init__(self, - protocol_buffer)
- Constructs a ProtocolBufferModel.
- source code - -
- -
-   - - - - - - -
serialize(self, - body_value)
- Perform the actual Python object serialization.
- source code - -
- -
-   - - - - - - -
deserialize(self, - content)
- Perform the actual deserialization from response string to Python -object.
- source code - -
- -
-

Inherited from BaseModel: - request, - response -

-

Inherited from BaseModel (private): - _build_query, - _log_request, - _log_response -

-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - - - - - - - -
- - - - - -
Class Variables[hide private]
-
-   - - accept = 'application/x-protobuf' -
-   - - content_type = 'application/x-protobuf' -
-   - - alt_param = 'proto' -
- - - - - - - - - - - - -
- - - - - -
Properties[hide private]
-
-   - - no_content_response -
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

__init__(self, - protocol_buffer) -
(Constructor) -

-
source code  -
- -
-Constructs a ProtocolBufferModel.
-
-The serialized protocol buffer returned in an HTTP response will be
-de-serialized using the given protocol buffer class.
-
-Args:
-  protocol_buffer: The protocol buffer class used to de-serialize a
-  response from the API.
-
-
-
-
Overrides: - object.__init__ -
-
-
-
- -
- -
- - -
-

serialize(self, - body_value) -

-
source code  -
- -
-Perform the actual Python object serialization.
-
-Args:
-  body_value: object, the request body as a Python object.
-
-Returns:
-  string, the body in serialized form.
-
-
-
-
Overrides: - BaseModel.serialize -
(inherited documentation)
- -
-
-
- -
- -
- - -
-

deserialize(self, - content) -

-
source code  -
- -
-Perform the actual deserialization from response string to Python
-object.
-
-Args:
-  content: string, the body of the HTTP response
-
-Returns:
-  The body de-serialized as a Python object.
-
-
-
-
Overrides: - BaseModel.deserialize -
(inherited documentation)
- -
-
-
-
- - - - - - -
- - - - - -
Property Details[hide private]
-
- -
- -
-

no_content_response

- -
-
Get Method:
-
unreachable.no_content_response(self) -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.model.RawModel-class.html b/docs/epy/googleapiclient.model.RawModel-class.html deleted file mode 100644 index 7b662798cc0..00000000000 --- a/docs/epy/googleapiclient.model.RawModel-class.html +++ /dev/null @@ -1,348 +0,0 @@ - - - - - googleapiclient.model.RawModel - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module model :: - Class RawModel - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class RawModel

source code

-
-object --+            
-         |            
-     Model --+        
-             |        
-     BaseModel --+    
-                 |    
-         JsonModel --+
-                     |
-                    RawModel
-
- -
-

Model class for requests that don't return JSON.

-

Serializes and de-serializes between JSON and the Python object - representation of HTTP request, and returns the raw bytes of the response - body.

- - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
deserialize(self, - content)
- Perform the actual deserialization from response string to Python -object.
- source code - -
- -
-

Inherited from JsonModel: - __init__, - serialize -

-

Inherited from BaseModel: - request, - response -

-

Inherited from BaseModel (private): - _build_query, - _log_request, - _log_response -

-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - - - - - - - -
- - - - - -
Class Variables[hide private]
-
-   - - accept = '*/*' -
-   - - content_type = "application/json" -
-   - - alt_param = None -
- - - - - - - - - - - - -
- - - - - -
Properties[hide private]
-
-   - - no_content_response -
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

deserialize(self, - content) -

-
source code  -
- -
-Perform the actual deserialization from response string to Python
-object.
-
-Args:
-  content: string, the body of the HTTP response
-
-Returns:
-  The body de-serialized as a Python object.
-
-
-
-
Overrides: - BaseModel.deserialize -
(inherited documentation)
- -
-
-
-
- - - - - - -
- - - - - -
Property Details[hide private]
-
- -
- -
-

no_content_response

- -
-
Get Method:
-
unreachable.no_content_response(self) -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.sample_tools-module.html b/docs/epy/googleapiclient.sample_tools-module.html deleted file mode 100644 index 042bbb63293..00000000000 --- a/docs/epy/googleapiclient.sample_tools-module.html +++ /dev/null @@ -1,223 +0,0 @@ - - - - - googleapiclient.sample_tools - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module sample_tools - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Module sample_tools

source code

-

Utilities for making samples.

-

Consolidates a lot of code commonly repeated in sample - applications.

- -
-

Author: - jcgregorio@google.com (Joe Gregorio) -

-
- - - - - - - - -
- - - - - -
Functions[hide private]
-
-   - - - - - - -
init(argv, - name, - version, - doc, - filename, - scope=None, - parents=[], - discovery_filename=None)
- A common initialization routine for samples.
- source code - -
- -
- - - - - - -
- - - - - -
Function Details[hide private]
-
- -
- -
- - -
-

init(argv, - name, - version, - doc, - filename, - scope=None, - parents=[], - discovery_filename=None) -

-
source code  -
- -
-A common initialization routine for samples.
-
-Many of the sample applications do the same initialization, which has now
-been consolidated into this function. This function uses common idioms found
-in almost all the samples, i.e. for an API with name 'apiname', the
-credentials are stored in a file named apiname.dat, and the
-client_secrets.json file is stored in the same directory as the application
-main file.
-
-Args:
-  argv: list of string, the command-line parameters of the application.
-  name: string, name of the API.
-  version: string, version of the API.
-  doc: string, description of the application. Usually set to __doc__.
-  file: string, filename of the application. Usually set to __file__.
-  parents: list of argparse.ArgumentParser, additional command-line flags.
-  scope: string, The OAuth scope used.
-  discovery_filename: string, name of local discovery file (JSON). Use when discovery doc not available via URL.
-
-Returns:
-  A tuple of (service, flags), where service is the service object and flags
-  is the parsed command-line flags.
-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.sample_tools-pysrc.html b/docs/epy/googleapiclient.sample_tools-pysrc.html deleted file mode 100644 index dc722c2dace..00000000000 --- a/docs/epy/googleapiclient.sample_tools-pysrc.html +++ /dev/null @@ -1,224 +0,0 @@ - - - - - googleapiclient.sample_tools - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module sample_tools - - - - - - -
[hide private]
[frames] | no frames]
-
-

Source Code for Module googleapiclient.sample_tools

-
-  1  # Copyright 2014 Google Inc. All Rights Reserved. 
-  2  # 
-  3  # Licensed under the Apache License, Version 2.0 (the "License"); 
-  4  # you may not use this file except in compliance with the License. 
-  5  # You may obtain a copy of the License at 
-  6  # 
-  7  #      http://www.apache.org/licenses/LICENSE-2.0 
-  8  # 
-  9  # Unless required by applicable law or agreed to in writing, software 
- 10  # distributed under the License is distributed on an "AS IS" BASIS, 
- 11  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
- 12  # See the License for the specific language governing permissions and 
- 13  # limitations under the License. 
- 14   
- 15  """Utilities for making samples. 
- 16   
- 17  Consolidates a lot of code commonly repeated in sample applications. 
- 18  """ 
- 19  from __future__ import absolute_import 
- 20   
- 21  __author__ = "jcgregorio@google.com (Joe Gregorio)" 
- 22  __all__ = ["init"] 
- 23   
- 24   
- 25  import argparse 
- 26  import os 
- 27   
- 28  from googleapiclient import discovery 
- 29  from googleapiclient.http import build_http 
- 30   
- 31   
-
32 -def init( - 33 argv, name, version, doc, filename, scope=None, parents=[], discovery_filename=None - 34 ): -
35 """A common initialization routine for samples. - 36 - 37 Many of the sample applications do the same initialization, which has now - 38 been consolidated into this function. This function uses common idioms found - 39 in almost all the samples, i.e. for an API with name 'apiname', the - 40 credentials are stored in a file named apiname.dat, and the - 41 client_secrets.json file is stored in the same directory as the application - 42 main file. - 43 - 44 Args: - 45 argv: list of string, the command-line parameters of the application. - 46 name: string, name of the API. - 47 version: string, version of the API. - 48 doc: string, description of the application. Usually set to __doc__. - 49 file: string, filename of the application. Usually set to __file__. - 50 parents: list of argparse.ArgumentParser, additional command-line flags. - 51 scope: string, The OAuth scope used. - 52 discovery_filename: string, name of local discovery file (JSON). Use when discovery doc not available via URL. - 53 - 54 Returns: - 55 A tuple of (service, flags), where service is the service object and flags - 56 is the parsed command-line flags. - 57 """ - 58 try: - 59 from oauth2client import client - 60 from oauth2client import file - 61 from oauth2client import tools - 62 except ImportError: - 63 raise ImportError( - 64 "googleapiclient.sample_tools requires oauth2client. Please install oauth2client and try again." - 65 ) - 66 - 67 if scope is None: - 68 scope = "https://www.googleapis.com/auth/" + name - 69 - 70 # Parser command-line arguments. - 71 parent_parsers = [tools.argparser] - 72 parent_parsers.extend(parents) - 73 parser = argparse.ArgumentParser( - 74 description=doc, - 75 formatter_class=argparse.RawDescriptionHelpFormatter, - 76 parents=parent_parsers, - 77 ) - 78 flags = parser.parse_args(argv[1:]) - 79 - 80 # Name of a file containing the OAuth 2.0 information for this - 81 # application, including client_id and client_secret, which are found - 82 # on the API Access tab on the Google APIs - 83 # Console <http://code.google.com/apis/console>. - 84 client_secrets = os.path.join(os.path.dirname(filename), "client_secrets.json") - 85 - 86 # Set up a Flow object to be used if we need to authenticate. - 87 flow = client.flow_from_clientsecrets( - 88 client_secrets, scope=scope, message=tools.message_if_missing(client_secrets) - 89 ) - 90 - 91 # Prepare credentials, and authorize HTTP object with them. - 92 # If the credentials don't exist or are invalid run through the native client - 93 # flow. The Storage object will ensure that if successful the good - 94 # credentials will get written back to a file. - 95 storage = file.Storage(name + ".dat") - 96 credentials = storage.get() - 97 if credentials is None or credentials.invalid: - 98 credentials = tools.run_flow(flow, storage, flags) - 99 http = credentials.authorize(http=build_http()) -100 -101 if discovery_filename is None: -102 # Construct a service object via the discovery service. -103 service = discovery.build(name, version, http=http) -104 else: -105 # Construct a service object using a local discovery document file. -106 with open(discovery_filename) as discovery_file: -107 service = discovery.build_from_document( -108 discovery_file.read(), base="https://www.googleapis.com/", http=http -109 ) -110 return (service, flags) -
111 -
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.schema-module.html b/docs/epy/googleapiclient.schema-module.html deleted file mode 100644 index d80380b3987..00000000000 --- a/docs/epy/googleapiclient.schema-module.html +++ /dev/null @@ -1,214 +0,0 @@ - - - - - googleapiclient.schema - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module schema - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Module schema

source code

-
-Schema processing for discovery based APIs
-
-Schemas holds an APIs discovery schemas. It can return those schema as
-deserialized JSON objects, or pretty print them as prototype objects that
-conform to the schema.
-
-For example, given the schema:
-
- schema = """{
-   "Foo": {
-    "type": "object",
-    "properties": {
-     "etag": {
-      "type": "string",
-      "description": "ETag of the collection."
-     },
-     "kind": {
-      "type": "string",
-      "description": "Type of the collection ('calendar#acl').",
-      "default": "calendar#acl"
-     },
-     "nextPageToken": {
-      "type": "string",
-      "description": "Token used to access the next
-         page of this result. Omitted if no further results are available."
-     }
-    }
-   }
- }"""
-
- s = Schemas(schema)
- print s.prettyPrintByName('Foo')
-
- Produces the following output:
-
-  {
-   "nextPageToken": "A String", # Token used to access the
-       # next page of this result. Omitted if no further results are available.
-   "kind": "A String", # Type of the collection ('calendar#acl').
-   "etag": "A String", # ETag of the collection.
-  },
-
-The constructor takes a discovery document in which to look up named schema.
-
-
- -
-

Author: - jcgregorio@google.com (Joe Gregorio) -

-
- - - - - - - - - - - -
- - - - - -
Classes[hide private]
-
-   - - Schemas
- Schemas for an API. -
-   - - _SchemaToStruct
- Convert schema to a prototype object. -
- - - - - - - - - -
- - - - - -
Variables[hide private]
-
-   - - __package__ = None -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.schema-pysrc.html b/docs/epy/googleapiclient.schema-pysrc.html deleted file mode 100644 index c9c1c49c6bd..00000000000 --- a/docs/epy/googleapiclient.schema-pysrc.html +++ /dev/null @@ -1,477 +0,0 @@ - - - - - googleapiclient.schema - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module schema - - - - - - -
[hide private]
[frames] | no frames]
-
-

Source Code for Module googleapiclient.schema

-
-  1  # Copyright 2014 Google Inc. All Rights Reserved. 
-  2  # 
-  3  # Licensed under the Apache License, Version 2.0 (the "License"); 
-  4  # you may not use this file except in compliance with the License. 
-  5  # You may obtain a copy of the License at 
-  6  # 
-  7  #      http://www.apache.org/licenses/LICENSE-2.0 
-  8  # 
-  9  # Unless required by applicable law or agreed to in writing, software 
- 10  # distributed under the License is distributed on an "AS IS" BASIS, 
- 11  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
- 12  # See the License for the specific language governing permissions and 
- 13  # limitations under the License. 
- 14   
- 15  """Schema processing for discovery based APIs 
- 16   
- 17  Schemas holds an APIs discovery schemas. It can return those schema as 
- 18  deserialized JSON objects, or pretty print them as prototype objects that 
- 19  conform to the schema. 
- 20   
- 21  For example, given the schema: 
- 22   
- 23   schema = \"\"\"{ 
- 24     "Foo": { 
- 25      "type": "object", 
- 26      "properties": { 
- 27       "etag": { 
- 28        "type": "string", 
- 29        "description": "ETag of the collection." 
- 30       }, 
- 31       "kind": { 
- 32        "type": "string", 
- 33        "description": "Type of the collection ('calendar#acl').", 
- 34        "default": "calendar#acl" 
- 35       }, 
- 36       "nextPageToken": { 
- 37        "type": "string", 
- 38        "description": "Token used to access the next 
- 39           page of this result. Omitted if no further results are available." 
- 40       } 
- 41      } 
- 42     } 
- 43   }\"\"\" 
- 44   
- 45   s = Schemas(schema) 
- 46   print s.prettyPrintByName('Foo') 
- 47   
- 48   Produces the following output: 
- 49   
- 50    { 
- 51     "nextPageToken": "A String", # Token used to access the 
- 52         # next page of this result. Omitted if no further results are available. 
- 53     "kind": "A String", # Type of the collection ('calendar#acl'). 
- 54     "etag": "A String", # ETag of the collection. 
- 55    }, 
- 56   
- 57  The constructor takes a discovery document in which to look up named schema. 
- 58  """ 
- 59  from __future__ import absolute_import 
- 60  import six 
- 61   
- 62  # TODO(jcgregorio) support format, enum, minimum, maximum 
- 63   
- 64  __author__ = "jcgregorio@google.com (Joe Gregorio)" 
- 65   
- 66  import copy 
- 67   
- 68  from googleapiclient import _helpers as util 
-
69 - 70 - 71 -class Schemas(object): -
72 """Schemas for an API.""" - 73 -
74 - def __init__(self, discovery): -
75 """Constructor. - 76 - 77 Args: - 78 discovery: object, Deserialized discovery document from which we pull - 79 out the named schema. - 80 """ - 81 self.schemas = discovery.get("schemas", {}) - 82 - 83 # Cache of pretty printed schemas. - 84 self.pretty = {} -
85 - 86 @util.positional(2) -
87 - def _prettyPrintByName(self, name, seen=None, dent=0): -
88 """Get pretty printed object prototype from the schema name. - 89 - 90 Args: - 91 name: string, Name of schema in the discovery document. - 92 seen: list of string, Names of schema already seen. Used to handle - 93 recursive definitions. - 94 - 95 Returns: - 96 string, A string that contains a prototype object with - 97 comments that conforms to the given schema. - 98 """ - 99 if seen is None: -100 seen = [] -101 -102 if name in seen: -103 # Do not fall into an infinite loop over recursive definitions. -104 return "# Object with schema name: %s" % name -105 seen.append(name) -106 -107 if name not in self.pretty: -108 self.pretty[name] = _SchemaToStruct( -109 self.schemas[name], seen, dent=dent -110 ).to_str(self._prettyPrintByName) -111 -112 seen.pop() -113 -114 return self.pretty[name] -
115 -
116 - def prettyPrintByName(self, name): -
117 """Get pretty printed object prototype from the schema name. -118 -119 Args: -120 name: string, Name of schema in the discovery document. -121 -122 Returns: -123 string, A string that contains a prototype object with -124 comments that conforms to the given schema. -125 """ -126 # Return with trailing comma and newline removed. -127 return self._prettyPrintByName(name, seen=[], dent=1)[:-2] -
128 -129 @util.positional(2) -
130 - def _prettyPrintSchema(self, schema, seen=None, dent=0): -
131 """Get pretty printed object prototype of schema. -132 -133 Args: -134 schema: object, Parsed JSON schema. -135 seen: list of string, Names of schema already seen. Used to handle -136 recursive definitions. -137 -138 Returns: -139 string, A string that contains a prototype object with -140 comments that conforms to the given schema. -141 """ -142 if seen is None: -143 seen = [] -144 -145 return _SchemaToStruct(schema, seen, dent=dent).to_str(self._prettyPrintByName) -
146 -
147 - def prettyPrintSchema(self, schema): -
148 """Get pretty printed object prototype of schema. -149 -150 Args: -151 schema: object, Parsed JSON schema. -152 -153 Returns: -154 string, A string that contains a prototype object with -155 comments that conforms to the given schema. -156 """ -157 # Return with trailing comma and newline removed. -158 return self._prettyPrintSchema(schema, dent=1)[:-2] -
159 -
160 - def get(self, name, default=None): -
161 """Get deserialized JSON schema from the schema name. -162 -163 Args: -164 name: string, Schema name. -165 default: object, return value if name not found. -166 """ -167 return self.schemas.get(name, default) -
168 -
169 -170 -class _SchemaToStruct(object): -
171 """Convert schema to a prototype object.""" -172 -173 @util.positional(3) -
174 - def __init__(self, schema, seen, dent=0): -
175 """Constructor. -176 -177 Args: -178 schema: object, Parsed JSON schema. -179 seen: list, List of names of schema already seen while parsing. Used to -180 handle recursive definitions. -181 dent: int, Initial indentation depth. -182 """ -183 # The result of this parsing kept as list of strings. -184 self.value = [] -185 -186 # The final value of the parsing. -187 self.string = None -188 -189 # The parsed JSON schema. -190 self.schema = schema -191 -192 # Indentation level. -193 self.dent = dent -194 -195 # Method that when called returns a prototype object for the schema with -196 # the given name. -197 self.from_cache = None -198 -199 # List of names of schema already seen while parsing. -200 self.seen = seen -
201 -
202 - def emit(self, text): -
203 """Add text as a line to the output. -204 -205 Args: -206 text: string, Text to output. -207 """ -208 self.value.extend([" " * self.dent, text, "\n"]) -
209 -
210 - def emitBegin(self, text): -
211 """Add text to the output, but with no line terminator. -212 -213 Args: -214 text: string, Text to output. -215 """ -216 self.value.extend([" " * self.dent, text]) -
217 -
218 - def emitEnd(self, text, comment): -
219 """Add text and comment to the output with line terminator. -220 -221 Args: -222 text: string, Text to output. -223 comment: string, Python comment. -224 """ -225 if comment: -226 divider = "\n" + " " * (self.dent + 2) + "# " -227 lines = comment.splitlines() -228 lines = [x.rstrip() for x in lines] -229 comment = divider.join(lines) -230 self.value.extend([text, " # ", comment, "\n"]) -231 else: -232 self.value.extend([text, "\n"]) -
233 -
234 - def indent(self): -
235 """Increase indentation level.""" -236 self.dent += 1 -
237 -
238 - def undent(self): -
239 """Decrease indentation level.""" -240 self.dent -= 1 -
241 -
242 - def _to_str_impl(self, schema): -
243 """Prototype object based on the schema, in Python code with comments. -244 -245 Args: -246 schema: object, Parsed JSON schema file. -247 -248 Returns: -249 Prototype object based on the schema, in Python code with comments. -250 """ -251 stype = schema.get("type") -252 if stype == "object": -253 self.emitEnd("{", schema.get("description", "")) -254 self.indent() -255 if "properties" in schema: -256 for pname, pschema in six.iteritems(schema.get("properties", {})): -257 self.emitBegin('"%s": ' % pname) -258 self._to_str_impl(pschema) -259 elif "additionalProperties" in schema: -260 self.emitBegin('"a_key": ') -261 self._to_str_impl(schema["additionalProperties"]) -262 self.undent() -263 self.emit("},") -264 elif "$ref" in schema: -265 schemaName = schema["$ref"] -266 description = schema.get("description", "") -267 s = self.from_cache(schemaName, seen=self.seen) -268 parts = s.splitlines() -269 self.emitEnd(parts[0], description) -270 for line in parts[1:]: -271 self.emit(line.rstrip()) -272 elif stype == "boolean": -273 value = schema.get("default", "True or False") -274 self.emitEnd("%s," % str(value), schema.get("description", "")) -275 elif stype == "string": -276 value = schema.get("default", "A String") -277 self.emitEnd('"%s",' % str(value), schema.get("description", "")) -278 elif stype == "integer": -279 value = schema.get("default", "42") -280 self.emitEnd("%s," % str(value), schema.get("description", "")) -281 elif stype == "number": -282 value = schema.get("default", "3.14") -283 self.emitEnd("%s," % str(value), schema.get("description", "")) -284 elif stype == "null": -285 self.emitEnd("None,", schema.get("description", "")) -286 elif stype == "any": -287 self.emitEnd('"",', schema.get("description", "")) -288 elif stype == "array": -289 self.emitEnd("[", schema.get("description")) -290 self.indent() -291 self.emitBegin("") -292 self._to_str_impl(schema["items"]) -293 self.undent() -294 self.emit("],") -295 else: -296 self.emit("Unknown type! %s" % stype) -297 self.emitEnd("", "") -298 -299 self.string = "".join(self.value) -300 return self.string -
301 -
302 - def to_str(self, from_cache): -
303 """Prototype object based on the schema, in Python code with comments. -304 -305 Args: -306 from_cache: callable(name, seen), Callable that retrieves an object -307 prototype for a schema with the given name. Seen is a list of schema -308 names already seen as we recursively descend the schema definition. -309 -310 Returns: -311 Prototype object based on the schema, in Python code with comments. -312 The lines of the code will all be properly indented. -313 """ -314 self.from_cache = from_cache -315 return self._to_str_impl(self.schema) -
316 -
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.schema.Schemas-class.html b/docs/epy/googleapiclient.schema.Schemas-class.html deleted file mode 100644 index 544fe9e1205..00000000000 --- a/docs/epy/googleapiclient.schema.Schemas-class.html +++ /dev/null @@ -1,494 +0,0 @@ - - - - - googleapiclient.schema.Schemas - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module schema :: - Class Schemas - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class Schemas

source code

-
-object --+
-         |
-        Schemas
-
- -
-

Schemas for an API.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
__init__(self, - discovery)
- Constructor.
- source code - -
- -
-   - - - - - - -
_prettyPrintByName(*args, - **kwargs)
- Get pretty printed object prototype from the schema name.
- source code - -
- -
-   - - - - - - -
prettyPrintByName(self, - name)
- Get pretty printed object prototype from the schema name.
- source code - -
- -
-   - - - - - - -
_prettyPrintSchema(*args, - **kwargs)
- Get pretty printed object prototype of schema.
- source code - -
- -
-   - - - - - - -
prettyPrintSchema(self, - schema)
- Get pretty printed object prototype of schema.
- source code - -
- -
-   - - - - - - -
get(self, - name, - default=None)
- Get deserialized JSON schema from the schema name.
- source code - -
- -
-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

__init__(self, - discovery) -
(Constructor) -

-
source code  -
- -
-Constructor.
-
-Args:
-  discovery: object, Deserialized discovery document from which we pull
-    out the named schema.
-
-
-
-
Overrides: - object.__init__ -
-
-
-
- -
- -
- - -
-

_prettyPrintByName(*args, - **kwargs) -

-
source code  -
- -
-Get pretty printed object prototype from the schema name.
-
-Args:
-  name: string, Name of schema in the discovery document.
-  seen: list of string, Names of schema already seen. Used to handle
-    recursive definitions.
-
-Returns:
-  string, A string that contains a prototype object with
-    comments that conforms to the given schema.
-
-
-
-
Decorators:
-
    -
  • @util.positional(2)
  • -
-
-
-
- -
- -
- - -
-

prettyPrintByName(self, - name) -

-
source code  -
- -
-Get pretty printed object prototype from the schema name.
-
-Args:
-  name: string, Name of schema in the discovery document.
-
-Returns:
-  string, A string that contains a prototype object with
-    comments that conforms to the given schema.
-
-
-
-
-
-
- -
- -
- - -
-

_prettyPrintSchema(*args, - **kwargs) -

-
source code  -
- -
-Get pretty printed object prototype of schema.
-
-Args:
-  schema: object, Parsed JSON schema.
-  seen: list of string, Names of schema already seen. Used to handle
-    recursive definitions.
-
-Returns:
-  string, A string that contains a prototype object with
-    comments that conforms to the given schema.
-
-
-
-
Decorators:
-
    -
  • @util.positional(2)
  • -
-
-
-
- -
- -
- - -
-

prettyPrintSchema(self, - schema) -

-
source code  -
- -
-Get pretty printed object prototype of schema.
-
-Args:
-  schema: object, Parsed JSON schema.
-
-Returns:
-  string, A string that contains a prototype object with
-    comments that conforms to the given schema.
-
-
-
-
-
-
- -
- -
- - -
-

get(self, - name, - default=None) -

-
source code  -
- -
-Get deserialized JSON schema from the schema name.
-
-Args:
-  name: string, Schema name.
-  default: object, return value if name not found.
-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/googleapiclient.schema._SchemaToStruct-class.html b/docs/epy/googleapiclient.schema._SchemaToStruct-class.html deleted file mode 100644 index 973fb50c22e..00000000000 --- a/docs/epy/googleapiclient.schema._SchemaToStruct-class.html +++ /dev/null @@ -1,516 +0,0 @@ - - - - - googleapiclient.schema._SchemaToStruct - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Package googleapiclient :: - Module schema :: - Class _SchemaToStruct - - - - - - -
[hide private]
[frames] | no frames]
-
- -

Class _SchemaToStruct

source code

-
-object --+
-         |
-        _SchemaToStruct
-
- -
-

Convert schema to a prototype object.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
Instance Methods[hide private]
-
-   - - - - - - -
__init__(*args, - **kwargs)
- Constructor.
- source code - -
- -
-   - - - - - - -
emit(self, - text)
- Add text as a line to the output.
- source code - -
- -
-   - - - - - - -
emitBegin(self, - text)
- Add text to the output, but with no line terminator.
- source code - -
- -
-   - - - - - - -
emitEnd(self, - text, - comment)
- Add text and comment to the output with line terminator.
- source code - -
- -
-   - - - - - - -
indent(self)
- Increase indentation level.
- source code - -
- -
-   - - - - - - -
undent(self)
- Decrease indentation level.
- source code - -
- -
-   - - - - - - -
_to_str_impl(self, - schema)
- Prototype object based on the schema, in Python code with comments.
- source code - -
- -
-   - - - - - - -
to_str(self, - from_cache)
- Prototype object based on the schema, in Python code with comments.
- source code - -
- -
-

Inherited from object: - __delattr__, - __format__, - __getattribute__, - __hash__, - __new__, - __reduce__, - __reduce_ex__, - __repr__, - __setattr__, - __sizeof__, - __str__, - __subclasshook__ -

-
- - - - - - - - - -
- - - - - -
Properties[hide private]
-
-

Inherited from object: - __class__ -

-
- - - - - - -
- - - - - -
Method Details[hide private]
-
- -
- -
- - -
-

__init__(*args, - **kwargs) -
(Constructor) -

-
source code  -
- -
-Constructor.
-
-Args:
-  schema: object, Parsed JSON schema.
-  seen: list, List of names of schema already seen while parsing. Used to
-    handle recursive definitions.
-  dent: int, Initial indentation depth.
-
-
-
-
Decorators:
-
    -
  • @util.positional(3)
  • -
-
Overrides: - object.__init__ -
-
-
-
- -
- -
- - -
-

emit(self, - text) -

-
source code  -
- -
-Add text as a line to the output.
-
-Args:
-  text: string, Text to output.
-
-
-
-
-
-
- -
- -
- - -
-

emitBegin(self, - text) -

-
source code  -
- -
-Add text to the output, but with no line terminator.
-
-Args:
-  text: string, Text to output.
-  
-
-
-
-
-
-
- -
- -
- - -
-

emitEnd(self, - text, - comment) -

-
source code  -
- -
-Add text and comment to the output with line terminator.
-
-Args:
-  text: string, Text to output.
-  comment: string, Python comment.
-
-
-
-
-
-
- -
- -
- - -
-

_to_str_impl(self, - schema) -

-
source code  -
- -
-Prototype object based on the schema, in Python code with comments.
-
-Args:
-  schema: object, Parsed JSON schema file.
-
-Returns:
-  Prototype object based on the schema, in Python code with comments.
-
-
-
-
-
-
- -
- -
- - -
-

to_str(self, - from_cache) -

-
source code  -
- -
-Prototype object based on the schema, in Python code with comments.
-
-Args:
-  from_cache: callable(name, seen), Callable that retrieves an object
-     prototype for a schema with the given name. Seen is a list of schema
-     names already seen as we recursively descend the schema definition.
-
-Returns:
-  Prototype object based on the schema, in Python code with comments.
-  The lines of the code will all be properly indented.
-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/help.html b/docs/epy/help.html deleted file mode 100644 index 97c6d2a0485..00000000000 --- a/docs/epy/help.html +++ /dev/null @@ -1,268 +0,0 @@ - - - - - Help - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  - - - - -
[hide private]
[frames] | no frames]
-
- -

API Documentation

- -

This document contains the API (Application Programming Interface) -documentation for this project. Documentation for the Python -objects defined by the project is divided into separate pages for each -package, module, and class. The API documentation also includes two -pages containing information about the project as a whole: a trees -page, and an index page.

- -

Object Documentation

- -

Each Package Documentation page contains:

-
    -
  • A description of the package.
  • -
  • A list of the modules and sub-packages contained by the - package.
  • -
  • A summary of the classes defined by the package.
  • -
  • A summary of the functions defined by the package.
  • -
  • A summary of the variables defined by the package.
  • -
  • A detailed description of each function defined by the - package.
  • -
  • A detailed description of each variable defined by the - package.
  • -
- -

Each Module Documentation page contains:

-
    -
  • A description of the module.
  • -
  • A summary of the classes defined by the module.
  • -
  • A summary of the functions defined by the module.
  • -
  • A summary of the variables defined by the module.
  • -
  • A detailed description of each function defined by the - module.
  • -
  • A detailed description of each variable defined by the - module.
  • -
- -

Each Class Documentation page contains:

-
    -
  • A class inheritance diagram.
  • -
  • A list of known subclasses.
  • -
  • A description of the class.
  • -
  • A summary of the methods defined by the class.
  • -
  • A summary of the instance variables defined by the class.
  • -
  • A summary of the class (static) variables defined by the - class.
  • -
  • A detailed description of each method defined by the - class.
  • -
  • A detailed description of each instance variable defined by the - class.
  • -
  • A detailed description of each class (static) variable defined - by the class.
  • -
- -

Project Documentation

- -

The Trees page contains the module and class hierarchies:

-
    -
  • The module hierarchy lists every package and module, with - modules grouped into packages. At the top level, and within each - package, modules and sub-packages are listed alphabetically.
  • -
  • The class hierarchy lists every class, grouped by base - class. If a class has more than one base class, then it will be - listed under each base class. At the top level, and under each base - class, classes are listed alphabetically.
  • -
- -

The Index page contains indices of terms and - identifiers:

-
    -
  • The term index lists every term indexed by any object's - documentation. For each term, the index provides links to each - place where the term is indexed.
  • -
  • The identifier index lists the (short) name of every package, - module, class, method, function, variable, and parameter. For each - identifier, the index provides a short description, and a link to - its documentation.
  • -
- -

The Table of Contents

- -

The table of contents occupies the two frames on the left side of -the window. The upper-left frame displays the project -contents, and the lower-left frame displays the module -contents:

- - - - - - - - - -
- Project
Contents
...
- API
Documentation
Frame


-
- Module
Contents
 
...
  -

- -

The project contents frame contains a list of all packages -and modules that are defined by the project. Clicking on an entry -will display its contents in the module contents frame. Clicking on a -special entry, labeled "Everything," will display the contents of -the entire project.

- -

The module contents frame contains a list of every -submodule, class, type, exception, function, and variable defined by a -module or package. Clicking on an entry will display its -documentation in the API documentation frame. Clicking on the name of -the module, at the top of the frame, will display the documentation -for the module itself.

- -

The "frames" and "no frames" buttons below the top -navigation bar can be used to control whether the table of contents is -displayed or not.

- -

The Navigation Bar

- -

A navigation bar is located at the top and bottom of every page. -It indicates what type of page you are currently viewing, and allows -you to go to related pages. The following table describes the labels -on the navigation bar. Note that not some labels (such as -[Parent]) are not displayed on all pages.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
LabelHighlighted when...Links to...
[Parent](never highlighted) the parent of the current package
[Package]viewing a packagethe package containing the current object -
[Module]viewing a modulethe module containing the current object -
[Class]viewing a class the class containing the current object
[Trees]viewing the trees page the trees page
[Index]viewing the index page the index page
[Help]viewing the help page the help page
- -

The "show private" and "hide private" buttons below -the top navigation bar can be used to control whether documentation -for private objects is displayed. Private objects are usually defined -as objects whose (short) names begin with a single underscore, but do -not end with an underscore. For example, "_x", -"__pprint", and "epydoc.epytext._tokenize" -are private objects; but "re.sub", -"__init__", and "type_" are not. However, -if a module defines the "__all__" variable, then its -contents are used to decide which objects are private.

- -

A timestamp below the bottom navigation bar indicates when each -page was last updated.

- - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/identifier-index.html b/docs/epy/identifier-index.html deleted file mode 100644 index 1434e534f14..00000000000 --- a/docs/epy/identifier-index.html +++ /dev/null @@ -1,1187 +0,0 @@ - - - - - Identifier Index - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  - - - - -
[hide private]
[frames] | no frames]
-
- -
-

Identifier Index

-
-[ - A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z - _ -] -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

B

- - - - - - - - - - - - - - - - - - - - - - -

C

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

D

- - - - - - - - - - - - - - - - - - - - - - - - - - - -

E

- - - - - - - - - - - - - - - - - - - - - - -

F

- - - - - - - - - - - - -

G

- - - - - - - - - - - - - - - - - - - - - - -

H

- - - - - - - - - - - - - - - - - - - - - - -

I

- - - - - - - - - - - - -

J

- - - - - - - - -

K

- - - - - - - - -

L

- - - - - - - - - - - - - - - - - -

M

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

N

- - - - - - - - - - - - - - - - - - - - - - - - - - - -

P

- - - - - - - - - - - - - - - - - - - - - - - - - - - -

Q

- - - - - - - - -

R

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

S

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

T

- - - - - - - - - - - - -

U

- - - - - - - - - - - - - - - - - - - - - - -

V

- - - - - - - - -

W

- - - - - - - - -

X

- - - - - - - - - - - - -

_

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/index.html b/docs/epy/index.html deleted file mode 100644 index 042cb61ab1f..00000000000 --- a/docs/epy/index.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - API Documentation - - - - - - - - - diff --git a/docs/epy/module-tree.html b/docs/epy/module-tree.html deleted file mode 100644 index 1c8da08dc5d..00000000000 --- a/docs/epy/module-tree.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - Module Hierarchy - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  - - - - -
[hide private]
[frames] | no frames]
-
-
- [ Module Hierarchy - | Class Hierarchy ] -

-

Module Hierarchy

- - - - - - - - - - - - - - - - - - - - - - - - -
- - - - diff --git a/docs/epy/redirect.html b/docs/epy/redirect.html deleted file mode 100644 index db937d05cf9..00000000000 --- a/docs/epy/redirect.html +++ /dev/null @@ -1,38 +0,0 @@ -Epydoc Redirect Page - - - - - - - - -

Epydoc Auto-redirect page

- -

When javascript is enabled, this page will redirect URLs of -the form redirect.html#dotted.name to the -documentation for the object with the given fully-qualified -dotted name.

-

 

- - - - - diff --git a/docs/epy/toc-everything.html b/docs/epy/toc-everything.html deleted file mode 100644 index 3eba82a7c20..00000000000 --- a/docs/epy/toc-everything.html +++ /dev/null @@ -1,346 +0,0 @@ - - - - - Everything - - - - - -

Everything

-
-

All Classes

- googleapiclient.channel.Channel
googleapiclient.channel.Notification
- - - googleapiclient.discovery_cache.appengine_memcache.Cache
googleapiclient.discovery_cache.base.Cache
googleapiclient.discovery_cache.file_cache.Cache
googleapiclient.errors.BatchError
googleapiclient.errors.Error
googleapiclient.errors.HttpError
googleapiclient.errors.InvalidChunkSizeError
googleapiclient.errors.InvalidJsonError
googleapiclient.errors.InvalidNotificationError
googleapiclient.errors.MediaUploadSizeError
googleapiclient.errors.ResumableUploadError
googleapiclient.errors.UnacceptableMimeTypeError
googleapiclient.errors.UnexpectedBodyError
googleapiclient.errors.UnexpectedMethodError
googleapiclient.errors.UnknownApiNameOrVersion
googleapiclient.errors.UnknownFileType
googleapiclient.errors.UnknownLinkType
googleapiclient.http.BatchHttpRequest
googleapiclient.http.HttpMock
googleapiclient.http.HttpMockSequence
googleapiclient.http.HttpRequest
googleapiclient.http.HttpRequestMock
googleapiclient.http.MediaDownloadProgress
googleapiclient.http.MediaFileUpload
googleapiclient.http.MediaInMemoryUpload
googleapiclient.http.MediaIoBaseDownload
googleapiclient.http.MediaIoBaseUpload
googleapiclient.http.MediaUpload
googleapiclient.http.MediaUploadProgress
googleapiclient.http.RequestMockBuilder
- googleapiclient.model.BaseModel
googleapiclient.model.JsonModel
googleapiclient.model.MediaModel
googleapiclient.model.Model
googleapiclient.model.ProtocolBufferModel
googleapiclient.model.RawModel
googleapiclient.schema.Schemas
-

All Functions

- - - - - - - - - - - - - - googleapiclient.channel.new_webhook_channel
googleapiclient.channel.notification_from_headers
- - - - - - - - - - - googleapiclient.discovery.build
googleapiclient.discovery.build_from_document
- - googleapiclient.discovery.fix_method_name
googleapiclient.discovery.key2param
googleapiclient.discovery_cache.autodetect
- - - - googleapiclient.http.build_http
googleapiclient.http.set_user_agent
googleapiclient.http.tunnel_patch
- googleapiclient.mimeparse.best_match
googleapiclient.mimeparse.fitness_and_quality_parsed
googleapiclient.mimeparse.parse_media_range
googleapiclient.mimeparse.parse_mime_type
googleapiclient.mimeparse.quality
googleapiclient.mimeparse.quality_parsed
- googleapiclient.model.makepatch
googleapiclient.sample_tools.init

All Variables

- googleapiclient.__package__
- - - - - - - - - - - - - - googleapiclient.channel.CHANNEL_PARAMS
googleapiclient.channel.EPOCH
googleapiclient.channel.X_GOOG_CHANNEL_ID
googleapiclient.channel.X_GOOG_MESSAGE_NUMBER
googleapiclient.channel.X_GOOG_RESOURCE_ID
googleapiclient.channel.X_GOOG_RESOURCE_STATE
googleapiclient.channel.X_GOOG_RESOURCE_URI
googleapiclient.channel.__package__
- - - - - - - - - - - - - - - - - - - googleapiclient.discovery_cache.DISCOVERY_DOC_MAX_AGE
googleapiclient.discovery_cache.LOGGER
googleapiclient.discovery_cache.__package__
googleapiclient.discovery_cache.appengine_memcache.LOGGER
googleapiclient.discovery_cache.appengine_memcache.NAMESPACE
googleapiclient.discovery_cache.appengine_memcache.cache
googleapiclient.discovery_cache.base.__package__
googleapiclient.discovery_cache.file_cache.EPOCH
googleapiclient.discovery_cache.file_cache.FILENAME
googleapiclient.discovery_cache.file_cache.LOGGER
googleapiclient.discovery_cache.file_cache.cache
googleapiclient.errors.__package__
googleapiclient.http.ConnectionError
googleapiclient.http.DEFAULT_CHUNK_SIZE
googleapiclient.http.DEFAULT_HTTP_TIMEOUT_SEC
googleapiclient.http.LOGGER
googleapiclient.http.MAX_BATCH_LIMIT
googleapiclient.http.MAX_URI_LENGTH
- - googleapiclient.http.__package__
googleapiclient.mimeparse.__credits__
googleapiclient.mimeparse.__email__
googleapiclient.mimeparse.__package__
googleapiclient.model.LOGGER
- - googleapiclient.model.__package__
googleapiclient.model.dump_request_response
googleapiclient.schema.__package__

-[hide private] - - - - diff --git a/docs/epy/toc-googleapiclient-module.html b/docs/epy/toc-googleapiclient-module.html deleted file mode 100644 index 864fc0c83a3..00000000000 --- a/docs/epy/toc-googleapiclient-module.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - googleapiclient - - - - - -

Module googleapiclient

-
-

Variables

- __package__

-[hide private] - - - - diff --git a/docs/epy/toc-googleapiclient._auth-module.html b/docs/epy/toc-googleapiclient._auth-module.html deleted file mode 100644 index 1329ca1884c..00000000000 --- a/docs/epy/toc-googleapiclient._auth-module.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - - _auth - - - - - -

Module _auth

-
-

Functions

- - - - - - - - -

Variables

- - - - -
-[hide private] - - - - diff --git a/docs/epy/toc-googleapiclient._helpers-module.html b/docs/epy/toc-googleapiclient._helpers-module.html deleted file mode 100644 index 6bacd8fbb34..00000000000 --- a/docs/epy/toc-googleapiclient._helpers-module.html +++ /dev/null @@ -1,73 +0,0 @@ - - - - - _helpers - - - - - -

Module _helpers

-
-

Functions

- - - - -

Variables

- - - - - - - - -
- logger
- -
-[hide private] - - - - diff --git a/docs/epy/toc-googleapiclient.channel-module.html b/docs/epy/toc-googleapiclient.channel-module.html deleted file mode 100644 index 7b78305d0ba..00000000000 --- a/docs/epy/toc-googleapiclient.channel-module.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - - channel - - - - - -

Module channel

-
-

Classes

- Channel
Notification

Functions

- - new_webhook_channel
notification_from_headers

Variables

- CHANNEL_PARAMS
EPOCH
X_GOOG_CHANNEL_ID
X_GOOG_MESSAGE_NUMBER
X_GOOG_RESOURCE_ID
X_GOOG_RESOURCE_STATE
X_GOOG_RESOURCE_URI
__package__

-[hide private] - - - - diff --git a/docs/epy/toc-googleapiclient.discovery-module.html b/docs/epy/toc-googleapiclient.discovery-module.html deleted file mode 100644 index e099063d78c..00000000000 --- a/docs/epy/toc-googleapiclient.discovery-module.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - discovery - - - - - -

Module discovery

-
-

Classes

- - - -

Functions

-
- _cast
- - - - - - - - - - - build
build_from_document
- - fix_method_name
key2param

Variables

- - - - - - - - - - - - - - - - - - -
- logger
-
-[hide private] - - - - diff --git a/docs/epy/toc-googleapiclient.discovery_cache-module.html b/docs/epy/toc-googleapiclient.discovery_cache-module.html deleted file mode 100644 index 37ee8f00080..00000000000 --- a/docs/epy/toc-googleapiclient.discovery_cache-module.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - discovery_cache - - - - - -

Module discovery_cache

-
-

Functions

- autodetect

Variables

- DISCOVERY_DOC_MAX_AGE
LOGGER
__package__

-[hide private] - - - - diff --git a/docs/epy/toc-googleapiclient.discovery_cache.appengine_memcache-module.html b/docs/epy/toc-googleapiclient.discovery_cache.appengine_memcache-module.html deleted file mode 100644 index f8a098d7e89..00000000000 --- a/docs/epy/toc-googleapiclient.discovery_cache.appengine_memcache-module.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - appengine_memcache - - - - - -

Module appengine_memcache

-
-

Classes

- Cache

Variables

- LOGGER
NAMESPACE
cache

-[hide private] - - - - diff --git a/docs/epy/toc-googleapiclient.discovery_cache.base-module.html b/docs/epy/toc-googleapiclient.discovery_cache.base-module.html deleted file mode 100644 index 80841a0ec12..00000000000 --- a/docs/epy/toc-googleapiclient.discovery_cache.base-module.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - - base - - - - - -

Module base

-
-

Classes

- Cache

Variables

- __package__

-[hide private] - - - - diff --git a/docs/epy/toc-googleapiclient.discovery_cache.file_cache-module.html b/docs/epy/toc-googleapiclient.discovery_cache.file_cache-module.html deleted file mode 100644 index 43bf6a2090e..00000000000 --- a/docs/epy/toc-googleapiclient.discovery_cache.file_cache-module.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - file_cache - - - - - -

Module file_cache

-
-

Classes

- Cache

Functions

- - -

Variables

- EPOCH
FILENAME
LOGGER
cache

-[hide private] - - - - diff --git a/docs/epy/toc-googleapiclient.errors-module.html b/docs/epy/toc-googleapiclient.errors-module.html deleted file mode 100644 index da2af5eb093..00000000000 --- a/docs/epy/toc-googleapiclient.errors-module.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - errors - - - - - -

Module errors

-
-

Classes

- BatchError
Error
HttpError
InvalidChunkSizeError
InvalidJsonError
InvalidNotificationError
MediaUploadSizeError
ResumableUploadError
UnacceptableMimeTypeError
UnexpectedBodyError
UnexpectedMethodError
UnknownApiNameOrVersion
UnknownFileType
UnknownLinkType

Variables

- __package__

-[hide private] - - - - diff --git a/docs/epy/toc-googleapiclient.http-module.html b/docs/epy/toc-googleapiclient.http-module.html deleted file mode 100644 index 2bb0f69fed0..00000000000 --- a/docs/epy/toc-googleapiclient.http-module.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - http - - - - - -

Module http

-
-

Classes

- BatchHttpRequest
HttpMock
HttpMockSequence
HttpRequest
HttpRequestMock
MediaDownloadProgress
MediaFileUpload
MediaInMemoryUpload
MediaIoBaseDownload
MediaIoBaseUpload
MediaUpload
MediaUploadProgress
RequestMockBuilder
-

Functions

- - - build_http
set_user_agent
tunnel_patch

Variables

- ConnectionError
DEFAULT_CHUNK_SIZE
DEFAULT_HTTP_TIMEOUT_SEC
LOGGER
MAX_BATCH_LIMIT
MAX_URI_LENGTH
- - __package__

-[hide private] - - - - diff --git a/docs/epy/toc-googleapiclient.mimeparse-module.html b/docs/epy/toc-googleapiclient.mimeparse-module.html deleted file mode 100644 index 020de8a2b50..00000000000 --- a/docs/epy/toc-googleapiclient.mimeparse-module.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - mimeparse - - - - - -

Module mimeparse

-
-

Functions

- - best_match
fitness_and_quality_parsed
parse_media_range
parse_mime_type
quality
quality_parsed

Variables

- __credits__
__email__
__package__

-[hide private] - - - - diff --git a/docs/epy/toc-googleapiclient.model-module.html b/docs/epy/toc-googleapiclient.model-module.html deleted file mode 100644 index dc1edcb5a33..00000000000 --- a/docs/epy/toc-googleapiclient.model-module.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - model - - - - - -

Module model

-
-

Classes

- BaseModel
JsonModel
MediaModel
Model
ProtocolBufferModel
RawModel

Functions

- - makepatch

Variables

- LOGGER
- - __package__
dump_request_response

-[hide private] - - - - diff --git a/docs/epy/toc-googleapiclient.sample_tools-module.html b/docs/epy/toc-googleapiclient.sample_tools-module.html deleted file mode 100644 index d45c2fa9e95..00000000000 --- a/docs/epy/toc-googleapiclient.sample_tools-module.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - sample_tools - - - - - -

Module sample_tools

-
-

Functions

- init

-[hide private] - - - - diff --git a/docs/epy/toc-googleapiclient.schema-module.html b/docs/epy/toc-googleapiclient.schema-module.html deleted file mode 100644 index 3762e30563e..00000000000 --- a/docs/epy/toc-googleapiclient.schema-module.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - schema - - - - - -

Module schema

-
-

Classes

- Schemas
-

Variables

- __package__

-[hide private] - - - - diff --git a/docs/epy/toc.html b/docs/epy/toc.html deleted file mode 100644 index ac8c6d61560..00000000000 --- a/docs/epy/toc.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - Table of Contents - - - - - -

Table of Contents

-
- Everything -
-

Modules

- googleapiclient
- - googleapiclient.channel
googleapiclient.discovery
googleapiclient.discovery_cache
googleapiclient.discovery_cache.appengine_memcache
googleapiclient.discovery_cache.base
googleapiclient.discovery_cache.file_cache
googleapiclient.errors
googleapiclient.http
googleapiclient.mimeparse
googleapiclient.model
googleapiclient.sample_tools
googleapiclient.schema

- [hide private] - - - - diff --git a/docs/epy/uml_class_diagram_for_googleap.gif b/docs/epy/uml_class_diagram_for_googleap.gif deleted file mode 100644 index 55249e0a862..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_10.gif b/docs/epy/uml_class_diagram_for_googleap_10.gif deleted file mode 100644 index c4307a7a7fb..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_10.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_11.gif b/docs/epy/uml_class_diagram_for_googleap_11.gif deleted file mode 100644 index 5c2e5617185..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_11.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_12.gif b/docs/epy/uml_class_diagram_for_googleap_12.gif deleted file mode 100644 index 55cb91f4b48..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_12.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_13.gif b/docs/epy/uml_class_diagram_for_googleap_13.gif deleted file mode 100644 index 80431329007..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_13.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_14.gif b/docs/epy/uml_class_diagram_for_googleap_14.gif deleted file mode 100644 index 01bd05e6365..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_14.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_15.gif b/docs/epy/uml_class_diagram_for_googleap_15.gif deleted file mode 100644 index 94f5ff9bbc6..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_15.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_16.gif b/docs/epy/uml_class_diagram_for_googleap_16.gif deleted file mode 100644 index 664bb004882..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_16.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_17.gif b/docs/epy/uml_class_diagram_for_googleap_17.gif deleted file mode 100644 index 9ba1adf2871..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_17.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_18.gif b/docs/epy/uml_class_diagram_for_googleap_18.gif deleted file mode 100644 index 79752c3c541..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_18.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_19.gif b/docs/epy/uml_class_diagram_for_googleap_19.gif deleted file mode 100644 index ba200264b4a..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_19.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_2.gif b/docs/epy/uml_class_diagram_for_googleap_2.gif deleted file mode 100644 index 6cf4fc5ced5..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_2.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_20.gif b/docs/epy/uml_class_diagram_for_googleap_20.gif deleted file mode 100644 index 27c90cde028..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_20.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_21.gif b/docs/epy/uml_class_diagram_for_googleap_21.gif deleted file mode 100644 index 036b141ddcf..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_21.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_22.gif b/docs/epy/uml_class_diagram_for_googleap_22.gif deleted file mode 100644 index 856cc4cdfbc..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_22.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_23.gif b/docs/epy/uml_class_diagram_for_googleap_23.gif deleted file mode 100644 index 7f7520bd92a..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_23.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_24.gif b/docs/epy/uml_class_diagram_for_googleap_24.gif deleted file mode 100644 index c9498b32806..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_24.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_25.gif b/docs/epy/uml_class_diagram_for_googleap_25.gif deleted file mode 100644 index 6c9f6803507..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_25.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_26.gif b/docs/epy/uml_class_diagram_for_googleap_26.gif deleted file mode 100644 index 99697273a8c..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_26.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_27.gif b/docs/epy/uml_class_diagram_for_googleap_27.gif deleted file mode 100644 index f0514e82db3..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_27.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_28.gif b/docs/epy/uml_class_diagram_for_googleap_28.gif deleted file mode 100644 index 762a0f06ee5..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_28.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_29.gif b/docs/epy/uml_class_diagram_for_googleap_29.gif deleted file mode 100644 index b351bb22fec..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_29.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_3.gif b/docs/epy/uml_class_diagram_for_googleap_3.gif deleted file mode 100644 index 686209d0e81..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_3.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_30.gif b/docs/epy/uml_class_diagram_for_googleap_30.gif deleted file mode 100644 index 0b481b9541d..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_30.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_31.gif b/docs/epy/uml_class_diagram_for_googleap_31.gif deleted file mode 100644 index 72dab0fe558..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_31.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_32.gif b/docs/epy/uml_class_diagram_for_googleap_32.gif deleted file mode 100644 index bdd115ab2b6..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_32.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_33.gif b/docs/epy/uml_class_diagram_for_googleap_33.gif deleted file mode 100644 index acf247619bb..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_33.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_34.gif b/docs/epy/uml_class_diagram_for_googleap_34.gif deleted file mode 100644 index 025056581cb..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_34.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_35.gif b/docs/epy/uml_class_diagram_for_googleap_35.gif deleted file mode 100644 index 63a1ca9647c..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_35.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_36.gif b/docs/epy/uml_class_diagram_for_googleap_36.gif deleted file mode 100644 index c0d7658d7c2..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_36.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_37.gif b/docs/epy/uml_class_diagram_for_googleap_37.gif deleted file mode 100644 index db5ff9863ce..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_37.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_38.gif b/docs/epy/uml_class_diagram_for_googleap_38.gif deleted file mode 100644 index 328e1b769d7..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_38.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_39.gif b/docs/epy/uml_class_diagram_for_googleap_39.gif deleted file mode 100644 index e5d7d3ad249..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_39.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_4.gif b/docs/epy/uml_class_diagram_for_googleap_4.gif deleted file mode 100644 index 093c5407cb9..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_4.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_40.gif b/docs/epy/uml_class_diagram_for_googleap_40.gif deleted file mode 100644 index 0ccd06a984f..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_40.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_41.gif b/docs/epy/uml_class_diagram_for_googleap_41.gif deleted file mode 100644 index 5706d8a2b4d..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_41.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_42.gif b/docs/epy/uml_class_diagram_for_googleap_42.gif deleted file mode 100644 index b72ccc7d575..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_42.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_43.gif b/docs/epy/uml_class_diagram_for_googleap_43.gif deleted file mode 100644 index 2f6cd6c0706..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_43.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_44.gif b/docs/epy/uml_class_diagram_for_googleap_44.gif deleted file mode 100644 index da90209c7a7..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_44.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_45.gif b/docs/epy/uml_class_diagram_for_googleap_45.gif deleted file mode 100644 index 191c43c0a30..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_45.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_5.gif b/docs/epy/uml_class_diagram_for_googleap_5.gif deleted file mode 100644 index 2510a57821f..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_5.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_6.gif b/docs/epy/uml_class_diagram_for_googleap_6.gif deleted file mode 100644 index 1d34dd9744a..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_6.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_7.gif b/docs/epy/uml_class_diagram_for_googleap_7.gif deleted file mode 100644 index 7e07423bfc0..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_7.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_8.gif b/docs/epy/uml_class_diagram_for_googleap_8.gif deleted file mode 100644 index 0285691ee08..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_8.gif and /dev/null differ diff --git a/docs/epy/uml_class_diagram_for_googleap_9.gif b/docs/epy/uml_class_diagram_for_googleap_9.gif deleted file mode 100644 index 7e07423bfc0..00000000000 Binary files a/docs/epy/uml_class_diagram_for_googleap_9.gif and /dev/null differ diff --git a/docs/media.md b/docs/media.md index 433c01b4823..c5094db7c6e 100644 --- a/docs/media.md +++ b/docs/media.md @@ -17,7 +17,7 @@ In the following example, the filename of an image is supplied: response = farm.animals().insert(media_body='pig.png', body={'name': 'Pig'}).execute() ``` -Alternatively, if you want to explicitly control the MIME type of the file sent, use the [googleapiclient.http.MediaFileUpload](https://googleapis.github.io/google-api-python-client/docs/epy/googleapiclient.http.MediaFileUpload-class.html) class for the media_body value: +Alternatively, if you want to explicitly control the MIME type of the file sent, use the [googleapiclient.http.MediaFileUpload](https://googleapis.github.io/google-api-python-client/docs/pydoc/googleapiclient.http.MediaFileUpload.html) class for the media_body value: ```python media = MediaFileUpload('pig.png', mimetype='image/png') @@ -49,7 +49,7 @@ media = MediaFileUpload('pig.png', mimetype='image/png', chunksize=1048576, resu > Note: Chunk size restriction: There are some chunk size restrictions based on the size of the file you are uploading. Files larger than 256 KB (256 * 1024 B) must have chunk sizes that are multiples of 256 KB. For files smaller than 256 KB, there are no restrictions. In either case, the final chunk has no limitations; you can simply transfer the remaining bytes. -If a request fails, an [`googleapiclient.errors.HttpError`](https://googleapis.github.io/google-api-python-client/docs/epy/googleapiclient.errors.HttpError-class.html) exception is thrown, which should be caught and handled. If the error is retryable, the upload can be resumed by continuing to call request.next_chunk(), but subsequent calls must use an exponential backoff strategy for retries. The retryable error status codes are: +If a request fails, an [`googleapiclient.errors.HttpError`](https://googleapis.github.io/google-api-python-client/docs/pydoc/googleapiclient.errors.HttpError.html) exception is thrown, which should be caught and handled. If the error is retryable, the upload can be resumed by continuing to call request.next_chunk(), but subsequent calls must use an exponential backoff strategy for retries. The retryable error status codes are: - 404 Not Found (must restart upload) - 500 Internal Server Error @@ -71,5 +71,5 @@ except apiclient.errors.HttpError, e: ## Extending MediaUpload -Your application may need to upload a media object that isn't a file. For example, you may create a large image on the fly from a data set. For such cases you can create a subclass of [MediaUpload](https://googleapis.github.io/google-api-python-client/docs/epy/googleapiclient.http.MediaUpload-class.html) which provides the data to be uploaded. You must fully implement the MediaUpload interface. See the source for the [MediaFileUpload](https://googleapis.github.io/google-api-python-client/docs/epy/googleapiclient.http.MediaFileUpload-class.html), [MediaIoBaseUpload](https://googleapis.github.io/google-api-python-client/docs/epy/googleapiclient.http.MediaIoBaseUpload-class.html), and [MediaInMemoryUpload](https://googleapis.github.io/google-api-python-client/docs/epy/googleapiclient.http.MediaInMemoryUpload-class.html) classes as examples. +Your application may need to upload a media object that isn't a file. For example, you may create a large image on the fly from a data set. For such cases you can create a subclass of [MediaUpload](https://googleapis.github.io/google-api-python-client/docs/pydoc/googleapiclient.http.MediaUpload.html) which provides the data to be uploaded. You must fully implement the MediaUpload interface. See the source for the [MediaFileUpload](https://googleapis.github.io/google-api-python-client/docs/pydoc/googleapiclient.http.MediaFileUpload.html), [MediaIoBaseUpload](https://googleapis.github.io/google-api-python-client/docs/pydoc/googleapiclient.http.MediaIoBaseUpload.html), and [MediaInMemoryUpload](https://googleapis.github.io/google-api-python-client/docs/pydoc/googleapiclient.http.MediaInMemoryUpload.html) classes as examples. diff --git a/docs/mocks.md b/docs/mocks.md index 8770f70e6e4..3b25c43f9f5 100644 --- a/docs/mocks.md +++ b/docs/mocks.md @@ -6,7 +6,7 @@ The use of [Mock objects](https://en.wikipedia.org/wiki/Mock_object) is a standa ## HttpMock -This class simulates the response to a single HTTP request. As arguments, the constructor for the [HttpMock](https://googleapis.github.io/google-api-python-client/docs/epy/googleapiclient.http.HttpMock-class.html) object takes a dictionary object representing the response header and the path to a file. When this resource built on this object is executed, it simply returns contents of the file. +This class simulates the response to a single HTTP request. As arguments, the constructor for the [HttpMock](https://googleapis.github.io/google-api-python-client/docs/pydoc/googleapiclient.http.HttpMock.html) object takes a dictionary object representing the response header and the path to a file. When this resource built on this object is executed, it simply returns contents of the file. ### Example @@ -34,7 +34,7 @@ pprint.pprint(response) ## HttpMockSequence -The [HttpMockSequence](https://googleapis.github.io/google-api-python-client/docs/epy/googleapiclient.http.HttpMockSequence-class.html) class simulates the sequence of HTTP responses. Each response consists of a header (a dictionary) and a content object (which can be a reference to a file, a JSON-like data structure defined inline, or one of the keywords listed below). When the resource built from this Mock object is executed, it returns the series of responses, one by one. +The [HttpMockSequence](https://googleapis.github.io/google-api-python-client/docs/pydoc/googleapiclient.http.HttpMockSequence.html) class simulates the sequence of HTTP responses. Each response consists of a header (a dictionary) and a content object (which can be a reference to a file, a JSON-like data structure defined inline, or one of the keywords listed below). When the resource built from this Mock object is executed, it returns the series of responses, one by one. ### Special Values for simulated HTTP responses diff --git a/docs/pydoc/ajax.js b/docs/pydoc/ajax.js new file mode 100644 index 00000000000..9a951eb136e --- /dev/null +++ b/docs/pydoc/ajax.js @@ -0,0 +1,50 @@ +// Implement simple cached AJAX functions. + +var _cache = {}; + +/* +* Get a promise for the HTTP get responseText. +*/ +function httpGetPromise(url) { + const promise = new Promise((_resolve, _reject) => { + httpGet(url, (responseText) => { + _resolve(responseText); + }, + (error) => { + _reject(error); + }); + }); + return promise +} + +function httpGet(url, onload, onerror) { + if (_cache[url]) { + _cachedHttpGet(url, onload, onerror); + } + else{ + _httpGet(url, onload, onerror); + } +} + +function _cachedHttpGet(url, onload, onerror) { + setTimeout(() => { onload(_cache[url]) }, 0); +} + +function _httpGet(url, onload, onerror) { + + var xobj = new XMLHttpRequest(); + xobj.open('GET', url, true); // Asynchronous + + xobj.onload = function () { + // add document to cache. + _cache[url] = xobj.responseText; + onload(xobj.responseText); + }; + + xobj.onerror = function (error) { + console.log(error) + onerror(error) + }; + + xobj.send(null); +} diff --git a/docs/pydoc/all-documents.html b/docs/pydoc/all-documents.html new file mode 100644 index 00000000000..8802ceb2c58 --- /dev/null +++ b/docs/pydoc/all-documents.html @@ -0,0 +1,3683 @@ + + + + + + + All Documents + + + + + + + + + + + + + + +
+ + + + + +
+ + + + +
+

All Documents

+ +
    +
  • + +
    googleapiclient
    +
    index.html
    +
    Package
    +
    Package
    +
    PUBLIC
    +
    No package docstring; 10/11 modules, 1/1 package documented
    +
  • + +
    googleapiclient._auth
    +
    googleapiclient._auth.html
    +
    Module
    +
    Module
    +
    PRIVATE
    +
    Helpers for authentication using oauth2client or google-auth.
    +
  • + +
    googleapiclient._helpers
    +
    googleapiclient._helpers.html
    +
    Module
    +
    Module
    +
    PRIVATE
    +
    Helper functions for commonly used utilities.
    +
  • + +
    googleapiclient.channel
    +
    googleapiclient.channel.html
    +
    Module
    +
    Module
    +
    PUBLIC
    +
    Channel notifications support.
    +
  • + +
    googleapiclient.discovery
    +
    googleapiclient.discovery.html
    +
    Module
    +
    Module
    +
    PUBLIC
    +
    Client for discovery based APIs.
    +
  • + +
    googleapiclient.discovery_cache
    +
    googleapiclient.discovery_cache.html
    +
    Package
    +
    Package
    +
    PUBLIC
    +
    Caching utility for the discovery document.
    +
  • + +
    googleapiclient.discovery_cache.appengine_memcache
    +
    googleapiclient.discovery_cache.appengine_memcache.html
    +
    Module
    +
    Module
    +
    PUBLIC
    +
    App Engine memcache based cache for the discovery document.
    +
  • + +
    googleapiclient.discovery_cache.base
    +
    googleapiclient.discovery_cache.base.html
    +
    Module
    +
    Module
    +
    PUBLIC
    +
    An abstract class for caching the discovery document.
    +
  • + +
    googleapiclient.discovery_cache.file_cache
    +
    googleapiclient.discovery_cache.file_cache.html
    +
    Module
    +
    Module
    +
    PUBLIC
    +
    File based cache for the discovery document.
    +
  • + +
    googleapiclient.errors
    +
    googleapiclient.errors.html
    +
    Module
    +
    Module
    +
    PUBLIC
    +
    Errors for the library.
    +
  • + +
    googleapiclient.http
    +
    googleapiclient.http.html
    +
    Module
    +
    Module
    +
    PUBLIC
    +
    Classes to encapsulate a single HTTP request.
    +
  • + +
    googleapiclient.mimeparse
    +
    googleapiclient.mimeparse.html
    +
    Module
    +
    Module
    +
    PUBLIC
    +
    MIME-Type Parser
    +
  • + +
    googleapiclient.model
    +
    googleapiclient.model.html
    +
    Module
    +
    Module
    +
    PUBLIC
    +
    Model objects for requests and responses.
    +
  • + +
    googleapiclient.sample_tools
    +
    googleapiclient.sample_tools.html
    +
    Module
    +
    Module
    +
    PUBLIC
    +
    Utilities for making samples.
    +
  • + +
    googleapiclient.schema
    +
    googleapiclient.schema.html
    +
    Module
    +
    Module
    +
    PUBLIC
    +
    Schema processing for discovery based APIs
    +
  • + +
    googleapiclient.version
    +
    googleapiclient.version.html
    +
    Module
    +
    Module
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient._auth.HAS_GOOGLE_AUTH
    +
    googleapiclient._auth.html#HAS_GOOGLE_AUTH
    +
    Attribute
    +
    Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient._auth.HAS_OAUTH2CLIENT
    +
    googleapiclient._auth.html#HAS_OAUTH2CLIENT
    +
    Attribute
    +
    Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient._auth.credentials_from_file
    +
    googleapiclient._auth.html#credentials_from_file
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Returns credentials loaded from a file.
    +
  • + +
    googleapiclient._auth.default_credentials
    +
    googleapiclient._auth.html#default_credentials
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Returns Application Default Credentials.
    +
  • + +
    googleapiclient._auth.with_scopes
    +
    googleapiclient._auth.html#with_scopes
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Scopes the credentials if necessary.
    +
  • + +
    googleapiclient._auth.authorized_http
    +
    googleapiclient._auth.html#authorized_http
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Returns an http client that is authorized with the given credentials.
    +
  • + +
    googleapiclient._auth.refresh_credentials
    +
    googleapiclient._auth.html#refresh_credentials
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient._auth.apply_credentials
    +
    googleapiclient._auth.html#apply_credentials
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient._auth.is_valid
    +
    googleapiclient._auth.html#is_valid
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient._auth.get_credentials_from_http
    +
    googleapiclient._auth.html#get_credentials_from_http
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient._helpers.logger
    +
    googleapiclient._helpers.html#logger
    +
    Attribute
    +
    Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient._helpers.POSITIONAL_WARNING
    +
    googleapiclient._helpers.html#POSITIONAL_WARNING
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient._helpers.POSITIONAL_EXCEPTION
    +
    googleapiclient._helpers.html#POSITIONAL_EXCEPTION
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient._helpers.POSITIONAL_IGNORE
    +
    googleapiclient._helpers.html#POSITIONAL_IGNORE
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient._helpers.POSITIONAL_SET
    +
    googleapiclient._helpers.html#POSITIONAL_SET
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient._helpers._IS_DIR_MESSAGE
    +
    googleapiclient._helpers.html#_IS_DIR_MESSAGE
    +
    Attribute
    +
    Constant
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient._helpers._MISSING_FILE_MESSAGE
    +
    googleapiclient._helpers.html#_MISSING_FILE_MESSAGE
    +
    Attribute
    +
    Constant
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient._helpers.positional
    +
    googleapiclient._helpers.html#positional
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    A decorator to declare that only the first N arguments may be positional.
    +
  • + +
    googleapiclient._helpers.parse_unique_urlencoded
    +
    googleapiclient._helpers.html#parse_unique_urlencoded
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Parses unique key-value parameters from urlencoded content.
    +
  • + +
    googleapiclient._helpers.update_query_params
    +
    googleapiclient._helpers.html#update_query_params
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Updates a URI with new query parameters.
    +
  • + +
    googleapiclient._helpers._add_query_parameter
    +
    googleapiclient._helpers.html#_add_query_parameter
    +
    Function
    +
    Function
    +
    PRIVATE
    +
    Adds a query parameter to a url.
    +
  • + +
    googleapiclient.errors.__author__
    +
    googleapiclient.errors.html#__author__
    +
    Attribute
    +
    Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.errors.Error
    +
    googleapiclient.errors.Error.html
    +
    Class
    +
    Exception
    +
    PUBLIC
    +
    Base error for this module.
    +
  • + +
    googleapiclient.errors.HttpError
    +
    googleapiclient.errors.HttpError.html
    +
    Class
    +
    Exception
    +
    PUBLIC
    +
    HTTP data was invalid or unexpected.
    +
  • + +
    googleapiclient.errors.HttpError.__init__
    +
    googleapiclient.errors.HttpError.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.errors.HttpError.resp
    +
    googleapiclient.errors.HttpError.html#resp
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.errors.HttpError.content
    +
    googleapiclient.errors.HttpError.html#content
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.errors.HttpError.uri
    +
    googleapiclient.errors.HttpError.html#uri
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.errors.HttpError.error_details
    +
    googleapiclient.errors.HttpError.html#error_details
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.errors.HttpError.reason
    +
    googleapiclient.errors.HttpError.html#reason
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.errors.HttpError.status_code
    +
    googleapiclient.errors.HttpError.html#status_code
    +
    Attribute
    +
    Property
    +
    PUBLIC
    +
    Return the HTTP status code from the response content.
    +
  • + +
    googleapiclient.errors.HttpError._get_reason
    +
    googleapiclient.errors.HttpError.html#_get_reason
    +
    Function
    +
    Method
    +
    PRIVATE
    +
    Calculate the reason for the error from the response content.
    +
  • + +
    googleapiclient.errors.HttpError.__repr__
    +
    googleapiclient.errors.HttpError.html#__repr__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.errors.InvalidJsonError
    +
    googleapiclient.errors.InvalidJsonError.html
    +
    Class
    +
    Exception
    +
    PUBLIC
    +
    The JSON returned could not be parsed.
    +
  • + +
    googleapiclient.errors.UnknownFileType
    +
    googleapiclient.errors.UnknownFileType.html
    +
    Class
    +
    Exception
    +
    PUBLIC
    +
    File type unknown or unexpected.
    +
  • + +
    googleapiclient.errors.UnknownLinkType
    +
    googleapiclient.errors.UnknownLinkType.html
    +
    Class
    +
    Exception
    +
    PUBLIC
    +
    Link type unknown or unexpected.
    +
  • + +
    googleapiclient.errors.UnknownApiNameOrVersion
    +
    googleapiclient.errors.UnknownApiNameOrVersion.html
    +
    Class
    +
    Exception
    +
    PUBLIC
    +
    No API with that name and version exists.
    +
  • + +
    googleapiclient.errors.UnacceptableMimeTypeError
    +
    googleapiclient.errors.UnacceptableMimeTypeError.html
    +
    Class
    +
    Exception
    +
    PUBLIC
    +
    That is an unacceptable mimetype for this operation.
    +
  • + +
    googleapiclient.errors.MediaUploadSizeError
    +
    googleapiclient.errors.MediaUploadSizeError.html
    +
    Class
    +
    Exception
    +
    PUBLIC
    +
    Media is larger than the method can accept.
    +
  • + +
    googleapiclient.errors.ResumableUploadError
    +
    googleapiclient.errors.ResumableUploadError.html
    +
    Class
    +
    Exception
    +
    PUBLIC
    +
    Error occurred during resumable upload.
    +
  • + +
    googleapiclient.errors.InvalidChunkSizeError
    +
    googleapiclient.errors.InvalidChunkSizeError.html
    +
    Class
    +
    Exception
    +
    PUBLIC
    +
    The given chunksize is not valid.
    +
  • + +
    googleapiclient.errors.InvalidNotificationError
    +
    googleapiclient.errors.InvalidNotificationError.html
    +
    Class
    +
    Exception
    +
    PUBLIC
    +
    The channel Notification is invalid.
    +
  • + +
    googleapiclient.errors.BatchError
    +
    googleapiclient.errors.BatchError.html
    +
    Class
    +
    Exception
    +
    PUBLIC
    +
    Error occurred during batch operations.
    +
  • + +
    googleapiclient.errors.BatchError.__init__
    +
    googleapiclient.errors.BatchError.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.errors.BatchError.resp
    +
    googleapiclient.errors.BatchError.html#resp
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.errors.BatchError.content
    +
    googleapiclient.errors.BatchError.html#content
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.errors.BatchError.reason
    +
    googleapiclient.errors.BatchError.html#reason
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.errors.BatchError.__repr__
    +
    googleapiclient.errors.BatchError.html#__repr__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.errors.UnexpectedMethodError
    +
    googleapiclient.errors.UnexpectedMethodError.html
    +
    Class
    +
    Exception
    +
    PUBLIC
    +
    Exception raised by RequestMockBuilder on unexpected calls.
    +
  • + +
    googleapiclient.errors.UnexpectedMethodError.__init__
    +
    googleapiclient.errors.UnexpectedMethodError.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Constructor for an UnexpectedMethodError.
    +
  • + +
    googleapiclient.errors.UnexpectedBodyError
    +
    googleapiclient.errors.UnexpectedBodyError.html
    +
    Class
    +
    Exception
    +
    PUBLIC
    +
    Exception raised by RequestMockBuilder on unexpected bodies.
    +
  • + +
    googleapiclient.errors.UnexpectedBodyError.__init__
    +
    googleapiclient.errors.UnexpectedBodyError.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Constructor for an UnexpectedMethodError.
    +
  • + +
    googleapiclient.channel.EPOCH
    +
    googleapiclient.channel.html#EPOCH
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.channel.CHANNEL_PARAMS
    +
    googleapiclient.channel.html#CHANNEL_PARAMS
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.channel.X_GOOG_CHANNEL_ID
    +
    googleapiclient.channel.html#X_GOOG_CHANNEL_ID
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.channel.X_GOOG_MESSAGE_NUMBER
    +
    googleapiclient.channel.html#X_GOOG_MESSAGE_NUMBER
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.channel.X_GOOG_RESOURCE_STATE
    +
    googleapiclient.channel.html#X_GOOG_RESOURCE_STATE
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.channel.X_GOOG_RESOURCE_URI
    +
    googleapiclient.channel.html#X_GOOG_RESOURCE_URI
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.channel.X_GOOG_RESOURCE_ID
    +
    googleapiclient.channel.html#X_GOOG_RESOURCE_ID
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.channel._upper_header_keys
    +
    googleapiclient.channel.html#_upper_header_keys
    +
    Function
    +
    Function
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.channel.Notification
    +
    googleapiclient.channel.Notification.html
    +
    Class
    +
    Class
    +
    PUBLIC
    +
    A Notification from a Channel.
    +
  • + +
    googleapiclient.channel.Notification.message_number
    +
    googleapiclient.channel.Notification.html#message_number
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    int, The unique id number of this notification.
    +
  • + +
    googleapiclient.channel.Notification.state
    +
    googleapiclient.channel.Notification.html#state
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    str, The state of the resource being monitored.
    +
  • + +
    googleapiclient.channel.Notification.uri
    +
    googleapiclient.channel.Notification.html#uri
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    str, The address of the resource being monitored.
    +
  • + +
    googleapiclient.channel.Notification.resource_id
    +
    googleapiclient.channel.Notification.html#resource_id
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    str, The unique identifier of the version of the resource at this event.
    +
  • + +
    googleapiclient.channel.Notification.__init__
    +
    googleapiclient.channel.Notification.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Notification constructor.
    +
  • + +
    googleapiclient.channel.Notification.resource_uri
    +
    googleapiclient.channel.Notification.html#resource_uri
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.channel.Channel
    +
    googleapiclient.channel.Channel.html
    +
    Class
    +
    Class
    +
    PUBLIC
    +
    A Channel for notifications.
    +
  • + +
    googleapiclient.channel.Channel.type
    +
    googleapiclient.channel.Channel.html#type
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    str, The type of delivery mechanism used by this channel. For example, 'web_hook'.
    +
  • + +
    googleapiclient.channel.Channel.id
    +
    googleapiclient.channel.Channel.html#id
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    str, A UUID for the channel.
    +
  • + +
    googleapiclient.channel.Channel.token
    +
    googleapiclient.channel.Channel.html#token
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    str, An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
    +
  • + +
    googleapiclient.channel.Channel.address
    +
    googleapiclient.channel.Channel.html#address
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    str, The address of the receiving entity where events are delivered. Specific to the channel type.
    +
  • + +
    googleapiclient.channel.Channel.expiration
    +
    googleapiclient.channel.Channel.html#expiration
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    int, The time, in milliseconds from the epoch, when this channel will expire.
    +
  • + +
    googleapiclient.channel.Channel.params
    +
    googleapiclient.channel.Channel.html#params
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    dict, A dictionary of string to string, with additional parameters controlling delivery channel behavior.
    +
  • + +
    googleapiclient.channel.Channel.resource_id
    +
    googleapiclient.channel.Channel.html#resource_id
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    str, An opaque id that identifies the resource that is being watched. Stable across different API versions.
    +
  • + +
    googleapiclient.channel.Channel.resource_uri
    +
    googleapiclient.channel.Channel.html#resource_uri
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    str, The canonicalized ID of the watched resource.
    +
  • + +
    googleapiclient.channel.Channel.__init__
    +
    googleapiclient.channel.Channel.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Create a new Channel.
    +
  • + +
    googleapiclient.channel.Channel.body
    +
    googleapiclient.channel.Channel.html#body
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Build a body from the Channel.
    +
  • + +
    googleapiclient.channel.Channel.update
    +
    googleapiclient.channel.Channel.html#update
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Update a channel with information from the response of watch().
    +
  • + +
    googleapiclient.channel.notification_from_headers
    +
    googleapiclient.channel.html#notification_from_headers
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    the notification, and return a Notification object.
    +
  • + +
    googleapiclient.channel.new_webhook_channel
    +
    googleapiclient.channel.html#new_webhook_channel
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Create a new webhook Channel.
    +
  • + +
    googleapiclient.discovery.__author__
    +
    googleapiclient.discovery.html#__author__
    +
    Attribute
    +
    Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.HAS_UNIVERSE
    +
    googleapiclient.discovery.html#HAS_UNIVERSE
    +
    Attribute
    +
    Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.mimeparse.__version__
    +
    googleapiclient.mimeparse.html#__version__
    +
    Attribute
    +
    Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.mimeparse.__author__
    +
    googleapiclient.mimeparse.html#__author__
    +
    Attribute
    +
    Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.mimeparse.__email__
    +
    googleapiclient.mimeparse.html#__email__
    +
    Attribute
    +
    Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.mimeparse.__license__
    +
    googleapiclient.mimeparse.html#__license__
    +
    Attribute
    +
    Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.mimeparse.__credits__
    +
    googleapiclient.mimeparse.html#__credits__
    +
    Attribute
    +
    Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.mimeparse.parse_mime_type
    +
    googleapiclient.mimeparse.html#parse_mime_type
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Parses a mime-type into its component parts.
    +
  • + +
    googleapiclient.mimeparse.parse_media_range
    +
    googleapiclient.mimeparse.html#parse_media_range
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Parse a media-range into its component parts.
    +
  • + +
    googleapiclient.mimeparse.fitness_and_quality_parsed
    +
    googleapiclient.mimeparse.html#fitness_and_quality_parsed
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Find the best match for a mime-type amongst parsed media-ranges.
    +
  • + +
    googleapiclient.mimeparse.quality_parsed
    +
    googleapiclient.mimeparse.html#quality_parsed
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Find the best match for a mime-type amongst parsed media-ranges.
    +
  • + +
    googleapiclient.mimeparse.quality
    +
    googleapiclient.mimeparse.html#quality
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Return the quality ('q') of a mime-type against a list of media-ranges.
    +
  • + +
    googleapiclient.mimeparse.best_match
    +
    googleapiclient.mimeparse.html#best_match
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Return mime-type with the highest quality ('q') from list of candidates.
    +
  • + +
    googleapiclient.mimeparse._filter_blank
    +
    googleapiclient.mimeparse.html#_filter_blank
    +
    Function
    +
    Function
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.__author__
    +
    googleapiclient.http.html#__author__
    +
    Attribute
    +
    Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.model.__author__
    +
    googleapiclient.model.html#__author__
    +
    Attribute
    +
    Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.version.__version__
    +
    googleapiclient.version.html#__version__
    +
    Attribute
    +
    Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.model._PY_VERSION
    +
    googleapiclient.model.html#_PY_VERSION
    +
    Attribute
    +
    Constant
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.model.LOGGER
    +
    googleapiclient.model.html#LOGGER
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.model.dump_request_response
    +
    googleapiclient.model.html#dump_request_response
    +
    Attribute
    +
    Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.model._abstract
    +
    googleapiclient.model.html#_abstract
    +
    Function
    +
    Function
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.model.Model
    +
    googleapiclient.model.Model.html
    +
    Class
    +
    Class
    +
    PUBLIC
    +
    Model base class.
    +
  • + +
    googleapiclient.model.Model.request
    +
    googleapiclient.model.Model.html#request
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Updates outgoing requests with a serialized body.
    +
  • + +
    googleapiclient.model.Model.response
    +
    googleapiclient.model.Model.html#response
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Convert the response wire format into a Python object.
    +
  • + +
    googleapiclient.model.BaseModel
    +
    googleapiclient.model.BaseModel.html
    +
    Class
    +
    Class
    +
    PUBLIC
    +
    Base model class.
    +
  • + +
    googleapiclient.model.BaseModel.accept
    +
    googleapiclient.model.BaseModel.html#accept
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    The value to use for the HTTP Accept header.
    +
  • + +
    googleapiclient.model.BaseModel.content_type
    +
    googleapiclient.model.BaseModel.html#content_type
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    The value to use for the HTTP Content-type header.
    +
  • + +
    googleapiclient.model.BaseModel.no_content_response
    +
    googleapiclient.model.BaseModel.html#no_content_response
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    The value to return when deserializing a 204 "No Content" response.
    +
  • + +
    googleapiclient.model.BaseModel.alt_param
    +
    googleapiclient.model.BaseModel.html#alt_param
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    The value to supply as the "alt" query parameter for requests.
    +
  • + +
    googleapiclient.model.BaseModel._log_request
    +
    googleapiclient.model.BaseModel.html#_log_request
    +
    Function
    +
    Method
    +
    PRIVATE
    +
    Logs debugging information about the request if requested.
    +
  • + +
    googleapiclient.model.BaseModel.request
    +
    googleapiclient.model.BaseModel.html#request
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Updates outgoing requests with a serialized body.
    +
  • + +
    googleapiclient.model.BaseModel._build_query
    +
    googleapiclient.model.BaseModel.html#_build_query
    +
    Function
    +
    Method
    +
    PRIVATE
    +
    Builds a query string.
    +
  • + +
    googleapiclient.model.BaseModel._log_response
    +
    googleapiclient.model.BaseModel.html#_log_response
    +
    Function
    +
    Method
    +
    PRIVATE
    +
    Logs debugging information about the response if requested.
    +
  • + +
    googleapiclient.model.BaseModel.response
    +
    googleapiclient.model.BaseModel.html#response
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Convert the response wire format into a Python object.
    +
  • + +
    googleapiclient.model.BaseModel.serialize
    +
    googleapiclient.model.BaseModel.html#serialize
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Perform the actual Python object serialization.
    +
  • + +
    googleapiclient.model.BaseModel.deserialize
    +
    googleapiclient.model.BaseModel.html#deserialize
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Perform the actual deserialization from response string to Python object.
    +
  • + +
    googleapiclient.model.JsonModel
    +
    googleapiclient.model.JsonModel.html
    +
    Class
    +
    Class
    +
    PUBLIC
    +
    Model class for JSON.
    +
  • + +
    googleapiclient.model.JsonModel.accept
    +
    googleapiclient.model.JsonModel.html#accept
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.model.JsonModel.content_type
    +
    googleapiclient.model.JsonModel.html#content_type
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.model.JsonModel.alt_param
    +
    googleapiclient.model.JsonModel.html#alt_param
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.model.JsonModel.__init__
    +
    googleapiclient.model.JsonModel.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Construct a JsonModel.
    +
  • + +
    googleapiclient.model.JsonModel._data_wrapper
    +
    googleapiclient.model.JsonModel.html#_data_wrapper
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.model.JsonModel.serialize
    +
    googleapiclient.model.JsonModel.html#serialize
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Perform the actual Python object serialization.
    +
  • + +
    googleapiclient.model.JsonModel.deserialize
    +
    googleapiclient.model.JsonModel.html#deserialize
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Perform the actual deserialization from response string to Python object.
    +
  • + +
    googleapiclient.model.JsonModel.no_content_response
    +
    googleapiclient.model.JsonModel.html#no_content_response
    +
    Attribute
    +
    Property
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.model.RawModel
    +
    googleapiclient.model.RawModel.html
    +
    Class
    +
    Class
    +
    PUBLIC
    +
    Model class for requests that don't return JSON.
    +
  • + +
    googleapiclient.model.RawModel.accept
    +
    googleapiclient.model.RawModel.html#accept
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.model.RawModel.content_type
    +
    googleapiclient.model.RawModel.html#content_type
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.model.RawModel.alt_param
    +
    googleapiclient.model.RawModel.html#alt_param
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.model.RawModel.deserialize
    +
    googleapiclient.model.RawModel.html#deserialize
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Perform the actual deserialization from response string to Python object.
    +
  • + +
    googleapiclient.model.RawModel.no_content_response
    +
    googleapiclient.model.RawModel.html#no_content_response
    +
    Attribute
    +
    Property
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.model.MediaModel
    +
    googleapiclient.model.MediaModel.html
    +
    Class
    +
    Class
    +
    PUBLIC
    +
    Model class for requests that return Media.
    +
  • + +
    googleapiclient.model.MediaModel.accept
    +
    googleapiclient.model.MediaModel.html#accept
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.model.MediaModel.content_type
    +
    googleapiclient.model.MediaModel.html#content_type
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.model.MediaModel.alt_param
    +
    googleapiclient.model.MediaModel.html#alt_param
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.model.MediaModel.deserialize
    +
    googleapiclient.model.MediaModel.html#deserialize
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Perform the actual deserialization from response string to Python object.
    +
  • + +
    googleapiclient.model.MediaModel.no_content_response
    +
    googleapiclient.model.MediaModel.html#no_content_response
    +
    Attribute
    +
    Property
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.model.ProtocolBufferModel
    +
    googleapiclient.model.ProtocolBufferModel.html
    +
    Class
    +
    Class
    +
    PUBLIC
    +
    Model class for protocol buffers.
    +
  • + +
    googleapiclient.model.ProtocolBufferModel.accept
    +
    googleapiclient.model.ProtocolBufferModel.html#accept
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.model.ProtocolBufferModel.content_type
    +
    googleapiclient.model.ProtocolBufferModel.html#content_type
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.model.ProtocolBufferModel.alt_param
    +
    googleapiclient.model.ProtocolBufferModel.html#alt_param
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.model.ProtocolBufferModel.__init__
    +
    googleapiclient.model.ProtocolBufferModel.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Constructs a ProtocolBufferModel.
    +
  • + +
    googleapiclient.model.ProtocolBufferModel._protocol_buffer
    +
    googleapiclient.model.ProtocolBufferModel.html#_protocol_buffer
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.model.ProtocolBufferModel.serialize
    +
    googleapiclient.model.ProtocolBufferModel.html#serialize
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Perform the actual Python object serialization.
    +
  • + +
    googleapiclient.model.ProtocolBufferModel.deserialize
    +
    googleapiclient.model.ProtocolBufferModel.html#deserialize
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Perform the actual deserialization from response string to Python object.
    +
  • + +
    googleapiclient.model.ProtocolBufferModel.no_content_response
    +
    googleapiclient.model.ProtocolBufferModel.html#no_content_response
    +
    Attribute
    +
    Property
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.model.makepatch
    +
    googleapiclient.model.html#makepatch
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Create a patch object.
    +
  • + +
    googleapiclient.http.LOGGER
    +
    googleapiclient.http.html#LOGGER
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.DEFAULT_CHUNK_SIZE
    +
    googleapiclient.http.html#DEFAULT_CHUNK_SIZE
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.MAX_URI_LENGTH
    +
    googleapiclient.http.html#MAX_URI_LENGTH
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.MAX_BATCH_LIMIT
    +
    googleapiclient.http.html#MAX_BATCH_LIMIT
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http._TOO_MANY_REQUESTS
    +
    googleapiclient.http.html#_TOO_MANY_REQUESTS
    +
    Attribute
    +
    Constant
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.DEFAULT_HTTP_TIMEOUT_SEC
    +
    googleapiclient.http.html#DEFAULT_HTTP_TIMEOUT_SEC
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http._LEGACY_BATCH_URI
    +
    googleapiclient.http.html#_LEGACY_BATCH_URI
    +
    Attribute
    +
    Constant
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http._should_retry_response
    +
    googleapiclient.http.html#_should_retry_response
    +
    Function
    +
    Function
    +
    PRIVATE
    +
    Determines whether a response should be retried.
    +
  • + +
    googleapiclient.http._retry_request
    +
    googleapiclient.http.html#_retry_request
    +
    Function
    +
    Function
    +
    PRIVATE
    +
    Retries an HTTP request multiple times while handling errors.
    +
  • + +
    googleapiclient.http.MediaUploadProgress
    +
    googleapiclient.http.MediaUploadProgress.html
    +
    Class
    +
    Class
    +
    PUBLIC
    +
    Status of a resumable upload.
    +
  • + +
    googleapiclient.http.MediaUploadProgress.__init__
    +
    googleapiclient.http.MediaUploadProgress.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Constructor.
    +
  • + +
    googleapiclient.http.MediaUploadProgress.resumable_progress
    +
    googleapiclient.http.MediaUploadProgress.html#resumable_progress
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.MediaUploadProgress.total_size
    +
    googleapiclient.http.MediaUploadProgress.html#total_size
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.MediaUploadProgress.progress
    +
    googleapiclient.http.MediaUploadProgress.html#progress
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Percent of upload completed, as a float.
    +
  • + +
    googleapiclient.http.MediaDownloadProgress
    +
    googleapiclient.http.MediaDownloadProgress.html
    +
    Class
    +
    Class
    +
    PUBLIC
    +
    Status of a resumable download.
    +
  • + +
    googleapiclient.http.MediaDownloadProgress.__init__
    +
    googleapiclient.http.MediaDownloadProgress.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Constructor.
    +
  • + +
    googleapiclient.http.MediaDownloadProgress.resumable_progress
    +
    googleapiclient.http.MediaDownloadProgress.html#resumable_progress
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.MediaDownloadProgress.total_size
    +
    googleapiclient.http.MediaDownloadProgress.html#total_size
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.MediaDownloadProgress.progress
    +
    googleapiclient.http.MediaDownloadProgress.html#progress
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Percent of download completed, as a float.
    +
  • + +
    googleapiclient.http.MediaUpload
    +
    googleapiclient.http.MediaUpload.html
    +
    Class
    +
    Class
    +
    PUBLIC
    +
    Describes a media object to upload.
    +
  • + +
    googleapiclient.http.MediaUpload.chunksize
    +
    googleapiclient.http.MediaUpload.html#chunksize
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Chunk size for resumable uploads.
    +
  • + +
    googleapiclient.http.MediaUpload.mimetype
    +
    googleapiclient.http.MediaUpload.html#mimetype
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Mime type of the body.
    +
  • + +
    googleapiclient.http.MediaUpload.size
    +
    googleapiclient.http.MediaUpload.html#size
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Size of upload.
    +
  • + +
    googleapiclient.http.MediaUpload.resumable
    +
    googleapiclient.http.MediaUpload.html#resumable
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Whether this upload is resumable.
    +
  • + +
    googleapiclient.http.MediaUpload.getbytes
    +
    googleapiclient.http.MediaUpload.html#getbytes
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Get bytes from the media.
    +
  • + +
    googleapiclient.http.MediaUpload.has_stream
    +
    googleapiclient.http.MediaUpload.html#has_stream
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Does the underlying upload support a streaming interface.
    +
  • + +
    googleapiclient.http.MediaUpload.stream
    +
    googleapiclient.http.MediaUpload.html#stream
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    A stream interface to the data being uploaded.
    +
  • + +
    googleapiclient.http.MediaUpload._to_json
    +
    googleapiclient.http.MediaUpload.html#_to_json
    +
    Function
    +
    Method
    +
    PRIVATE
    +
    Utility function for creating a JSON representation of a MediaUpload.
    +
  • + +
    googleapiclient.http.MediaUpload.to_json
    +
    googleapiclient.http.MediaUpload.html#to_json
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Create a JSON representation of an instance of MediaUpload.
    +
  • + +
    googleapiclient.http.MediaUpload.new_from_json
    +
    googleapiclient.http.MediaUpload.html#new_from_json
    +
    Function
    +
    Class Method
    +
    PUBLIC
    +
    Utility class method to instantiate a MediaUpload subclass from a JSON representation produced by to_json().
    +
  • + +
    googleapiclient.http.MediaIoBaseUpload
    +
    googleapiclient.http.MediaIoBaseUpload.html
    +
    Class
    +
    Class
    +
    PUBLIC
    +
    A MediaUpload for a io.Base objects.
    +
  • + +
    googleapiclient.http.MediaIoBaseUpload.__init__
    +
    googleapiclient.http.MediaIoBaseUpload.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Constructor.
    +
  • + +
    googleapiclient.http.MediaIoBaseUpload._fd
    +
    googleapiclient.http.MediaIoBaseUpload.html#_fd
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.MediaIoBaseUpload._mimetype
    +
    googleapiclient.http.MediaIoBaseUpload.html#_mimetype
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.MediaIoBaseUpload._chunksize
    +
    googleapiclient.http.MediaIoBaseUpload.html#_chunksize
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.MediaIoBaseUpload._resumable
    +
    googleapiclient.http.MediaIoBaseUpload.html#_resumable
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.MediaIoBaseUpload._size
    +
    googleapiclient.http.MediaIoBaseUpload.html#_size
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.MediaIoBaseUpload.chunksize
    +
    googleapiclient.http.MediaIoBaseUpload.html#chunksize
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Chunk size for resumable uploads.
    +
  • + +
    googleapiclient.http.MediaIoBaseUpload.mimetype
    +
    googleapiclient.http.MediaIoBaseUpload.html#mimetype
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Mime type of the body.
    +
  • + +
    googleapiclient.http.MediaIoBaseUpload.size
    +
    googleapiclient.http.MediaIoBaseUpload.html#size
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Size of upload.
    +
  • + +
    googleapiclient.http.MediaIoBaseUpload.resumable
    +
    googleapiclient.http.MediaIoBaseUpload.html#resumable
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Whether this upload is resumable.
    +
  • + +
    googleapiclient.http.MediaIoBaseUpload.getbytes
    +
    googleapiclient.http.MediaIoBaseUpload.html#getbytes
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Get bytes from the media.
    +
  • + +
    googleapiclient.http.MediaIoBaseUpload.has_stream
    +
    googleapiclient.http.MediaIoBaseUpload.html#has_stream
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Does the underlying upload support a streaming interface.
    +
  • + +
    googleapiclient.http.MediaIoBaseUpload.stream
    +
    googleapiclient.http.MediaIoBaseUpload.html#stream
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    A stream interface to the data being uploaded.
    +
  • + +
    googleapiclient.http.MediaIoBaseUpload.to_json
    +
    googleapiclient.http.MediaIoBaseUpload.html#to_json
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    This upload type is not serializable.
    +
  • + +
    googleapiclient.http.MediaFileUpload
    +
    googleapiclient.http.MediaFileUpload.html
    +
    Class
    +
    Class
    +
    PUBLIC
    +
    A MediaUpload for a file.
    +
  • + +
    googleapiclient.http.MediaFileUpload.__init__
    +
    googleapiclient.http.MediaFileUpload.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Constructor.
    +
  • + +
    googleapiclient.http.MediaFileUpload._fd
    +
    googleapiclient.http.MediaFileUpload.html#_fd
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.MediaFileUpload._filename
    +
    googleapiclient.http.MediaFileUpload.html#_filename
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.MediaFileUpload.__del__
    +
    googleapiclient.http.MediaFileUpload.html#__del__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.MediaFileUpload.to_json
    +
    googleapiclient.http.MediaFileUpload.html#to_json
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Creating a JSON representation of an instance of MediaFileUpload.
    +
  • + +
    googleapiclient.http.MediaFileUpload.from_json
    +
    googleapiclient.http.MediaFileUpload.html#from_json
    +
    Function
    +
    Static Method
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.MediaInMemoryUpload
    +
    googleapiclient.http.MediaInMemoryUpload.html
    +
    Class
    +
    Class
    +
    PUBLIC
    +
    MediaUpload for a chunk of bytes.
    +
  • + +
    googleapiclient.http.MediaInMemoryUpload.__init__
    +
    googleapiclient.http.MediaInMemoryUpload.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Create a new MediaInMemoryUpload.
    +
  • + +
    googleapiclient.http.MediaIoBaseDownload
    +
    googleapiclient.http.MediaIoBaseDownload.html
    +
    Class
    +
    Class
    +
    PUBLIC
    +
    "Download media resources.
    +
  • + +
    googleapiclient.http.MediaIoBaseDownload.__init__
    +
    googleapiclient.http.MediaIoBaseDownload.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Constructor.
    +
  • + +
    googleapiclient.http.MediaIoBaseDownload._fd
    +
    googleapiclient.http.MediaIoBaseDownload.html#_fd
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.MediaIoBaseDownload._request
    +
    googleapiclient.http.MediaIoBaseDownload.html#_request
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.MediaIoBaseDownload._uri
    +
    googleapiclient.http.MediaIoBaseDownload.html#_uri
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.MediaIoBaseDownload._chunksize
    +
    googleapiclient.http.MediaIoBaseDownload.html#_chunksize
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.MediaIoBaseDownload._progress
    +
    googleapiclient.http.MediaIoBaseDownload.html#_progress
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.MediaIoBaseDownload._total_size
    +
    googleapiclient.http.MediaIoBaseDownload.html#_total_size
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.MediaIoBaseDownload._done
    +
    googleapiclient.http.MediaIoBaseDownload.html#_done
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.MediaIoBaseDownload._sleep
    +
    googleapiclient.http.MediaIoBaseDownload.html#_sleep
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.MediaIoBaseDownload._rand
    +
    googleapiclient.http.MediaIoBaseDownload.html#_rand
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.MediaIoBaseDownload._headers
    +
    googleapiclient.http.MediaIoBaseDownload.html#_headers
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.MediaIoBaseDownload.next_chunk
    +
    googleapiclient.http.MediaIoBaseDownload.html#next_chunk
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Get the next chunk of the download.
    +
  • + +
    googleapiclient.http._StreamSlice
    +
    googleapiclient.http._StreamSlice.html
    +
    Class
    +
    Class
    +
    PRIVATE
    +
    Truncated stream.
    +
  • + +
    googleapiclient.http._StreamSlice.__init__
    +
    googleapiclient.http._StreamSlice.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Constructor.
    +
  • + +
    googleapiclient.http._StreamSlice._stream
    +
    googleapiclient.http._StreamSlice.html#_stream
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http._StreamSlice._begin
    +
    googleapiclient.http._StreamSlice.html#_begin
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http._StreamSlice._chunksize
    +
    googleapiclient.http._StreamSlice.html#_chunksize
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http._StreamSlice.read
    +
    googleapiclient.http._StreamSlice.html#read
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Read n bytes.
    +
  • + +
    googleapiclient.http.HttpRequest
    +
    googleapiclient.http.HttpRequest.html
    +
    Class
    +
    Class
    +
    PUBLIC
    +
    Encapsulates a single HTTP request.
    +
  • + +
    googleapiclient.http.HttpRequest.__init__
    +
    googleapiclient.http.HttpRequest.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Constructor for an HttpRequest.
    +
  • + +
    googleapiclient.http.HttpRequest.uri
    +
    googleapiclient.http.HttpRequest.html#uri
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpRequest.method
    +
    googleapiclient.http.HttpRequest.html#method
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpRequest.body
    +
    googleapiclient.http.HttpRequest.html#body
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpRequest.headers
    +
    googleapiclient.http.HttpRequest.html#headers
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpRequest.methodId
    +
    googleapiclient.http.HttpRequest.html#methodId
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpRequest.http
    +
    googleapiclient.http.HttpRequest.html#http
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpRequest.postproc
    +
    googleapiclient.http.HttpRequest.html#postproc
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpRequest.resumable
    +
    googleapiclient.http.HttpRequest.html#resumable
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpRequest.response_callbacks
    +
    googleapiclient.http.HttpRequest.html#response_callbacks
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpRequest._in_error_state
    +
    googleapiclient.http.HttpRequest.html#_in_error_state
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpRequest.body_size
    +
    googleapiclient.http.HttpRequest.html#body_size
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpRequest.resumable_uri
    +
    googleapiclient.http.HttpRequest.html#resumable_uri
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpRequest.resumable_progress
    +
    googleapiclient.http.HttpRequest.html#resumable_progress
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpRequest._rand
    +
    googleapiclient.http.HttpRequest.html#_rand
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpRequest._sleep
    +
    googleapiclient.http.HttpRequest.html#_sleep
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpRequest.execute
    +
    googleapiclient.http.HttpRequest.html#execute
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Execute the request.
    +
  • + +
    googleapiclient.http.HttpRequest.add_response_callback
    +
    googleapiclient.http.HttpRequest.html#add_response_callback
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    add_response_headers_callback
    +
  • + +
    googleapiclient.http.HttpRequest.next_chunk
    +
    googleapiclient.http.HttpRequest.html#next_chunk
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Execute the next step of a resumable upload.
    +
  • + +
    googleapiclient.http.HttpRequest._process_response
    +
    googleapiclient.http.HttpRequest.html#_process_response
    +
    Function
    +
    Method
    +
    PRIVATE
    +
    Process the response from a single chunk upload.
    +
  • + +
    googleapiclient.http.HttpRequest.to_json
    +
    googleapiclient.http.HttpRequest.html#to_json
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Returns a JSON representation of the HttpRequest.
    +
  • + +
    googleapiclient.http.HttpRequest.from_json
    +
    googleapiclient.http.HttpRequest.html#from_json
    +
    Function
    +
    Static Method
    +
    PUBLIC
    +
    Returns an HttpRequest populated with info from a JSON object.
    +
  • + +
    googleapiclient.http.HttpRequest.null_postproc
    +
    googleapiclient.http.HttpRequest.html#null_postproc
    +
    Function
    +
    Static Method
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.BatchHttpRequest
    +
    googleapiclient.http.BatchHttpRequest.html
    +
    Class
    +
    Class
    +
    PUBLIC
    +
    Batches multiple HttpRequest objects into a single HTTP request.
    +
  • + +
    googleapiclient.http.BatchHttpRequest.__init__
    +
    googleapiclient.http.BatchHttpRequest.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Constructor for a BatchHttpRequest.
    +
  • + +
    googleapiclient.http.BatchHttpRequest._batch_uri
    +
    googleapiclient.http.BatchHttpRequest.html#_batch_uri
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.BatchHttpRequest._callback
    +
    googleapiclient.http.BatchHttpRequest.html#_callback
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.BatchHttpRequest._requests
    +
    googleapiclient.http.BatchHttpRequest.html#_requests
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.BatchHttpRequest._callbacks
    +
    googleapiclient.http.BatchHttpRequest.html#_callbacks
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.BatchHttpRequest._order
    +
    googleapiclient.http.BatchHttpRequest.html#_order
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.BatchHttpRequest._last_auto_id
    +
    googleapiclient.http.BatchHttpRequest.html#_last_auto_id
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.BatchHttpRequest._base_id
    +
    googleapiclient.http.BatchHttpRequest.html#_base_id
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.BatchHttpRequest._responses
    +
    googleapiclient.http.BatchHttpRequest.html#_responses
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.BatchHttpRequest._refreshed_credentials
    +
    googleapiclient.http.BatchHttpRequest.html#_refreshed_credentials
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials
    +
    googleapiclient.http.BatchHttpRequest.html#_refresh_and_apply_credentials
    +
    Function
    +
    Method
    +
    PRIVATE
    +
    Refresh the credentials and apply to the request.
    +
  • + +
    googleapiclient.http.BatchHttpRequest._id_to_header
    +
    googleapiclient.http.BatchHttpRequest.html#_id_to_header
    +
    Function
    +
    Method
    +
    PRIVATE
    +
    Convert an id to a Content-ID header value.
    +
  • + +
    googleapiclient.http.BatchHttpRequest._header_to_id
    +
    googleapiclient.http.BatchHttpRequest.html#_header_to_id
    +
    Function
    +
    Method
    +
    PRIVATE
    +
    Convert a Content-ID header value to an id.
    +
  • + +
    googleapiclient.http.BatchHttpRequest._serialize_request
    +
    googleapiclient.http.BatchHttpRequest.html#_serialize_request
    +
    Function
    +
    Method
    +
    PRIVATE
    +
    Convert an HttpRequest object into a string.
    +
  • + +
    googleapiclient.http.BatchHttpRequest._deserialize_response
    +
    googleapiclient.http.BatchHttpRequest.html#_deserialize_response
    +
    Function
    +
    Method
    +
    PRIVATE
    +
    Convert string into httplib2 response and content.
    +
  • + +
    googleapiclient.http.BatchHttpRequest._new_id
    +
    googleapiclient.http.BatchHttpRequest.html#_new_id
    +
    Function
    +
    Method
    +
    PRIVATE
    +
    Create a new id.
    +
  • + +
    googleapiclient.http.BatchHttpRequest.add
    +
    googleapiclient.http.BatchHttpRequest.html#add
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Add a new request.
    +
  • + +
    googleapiclient.http.BatchHttpRequest._execute
    +
    googleapiclient.http.BatchHttpRequest.html#_execute
    +
    Function
    +
    Method
    +
    PRIVATE
    +
    Serialize batch request, send to server, process response.
    +
  • + +
    googleapiclient.http.BatchHttpRequest.execute
    +
    googleapiclient.http.BatchHttpRequest.html#execute
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Execute all the requests as a single batched HTTP request.
    +
  • + +
    googleapiclient.http.HttpRequestMock
    +
    googleapiclient.http.HttpRequestMock.html
    +
    Class
    +
    Class
    +
    PUBLIC
    +
    Mock of HttpRequest.
    +
  • + +
    googleapiclient.http.HttpRequestMock.__init__
    +
    googleapiclient.http.HttpRequestMock.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Constructor for HttpRequestMock
    +
  • + +
    googleapiclient.http.HttpRequestMock.resp
    +
    googleapiclient.http.HttpRequestMock.html#resp
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpRequestMock.content
    +
    googleapiclient.http.HttpRequestMock.html#content
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpRequestMock.postproc
    +
    googleapiclient.http.HttpRequestMock.html#postproc
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpRequestMock.execute
    +
    googleapiclient.http.HttpRequestMock.html#execute
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Execute the request.
    +
  • + +
    googleapiclient.http.RequestMockBuilder
    +
    googleapiclient.http.RequestMockBuilder.html
    +
    Class
    +
    Class
    +
    PUBLIC
    +
    A simple mock of HttpRequest
    +
  • + +
    googleapiclient.http.RequestMockBuilder.__init__
    +
    googleapiclient.http.RequestMockBuilder.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Constructor for RequestMockBuilder
    +
  • + +
    googleapiclient.http.RequestMockBuilder.responses
    +
    googleapiclient.http.RequestMockBuilder.html#responses
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.RequestMockBuilder.check_unexpected
    +
    googleapiclient.http.RequestMockBuilder.html#check_unexpected
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.RequestMockBuilder.__call__
    +
    googleapiclient.http.RequestMockBuilder.html#__call__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Implements the callable interface that discovery.build() expects of requestBuilder, which is to build an object compatible with HttpRequest.execute(). See that method for the description of the parameters and the expected response.
    +
  • + +
    googleapiclient.http.HttpMock
    +
    googleapiclient.http.HttpMock.html
    +
    Class
    +
    Class
    +
    PUBLIC
    +
    Mock of httplib2.Http
    +
  • + +
    googleapiclient.http.HttpMock.__init__
    +
    googleapiclient.http.HttpMock.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    No summary
    +
  • + +
    googleapiclient.http.HttpMock.data
    +
    googleapiclient.http.HttpMock.html#data
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpMock.response_headers
    +
    googleapiclient.http.HttpMock.html#response_headers
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpMock.headers
    +
    googleapiclient.http.HttpMock.html#headers
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpMock.uri
    +
    googleapiclient.http.HttpMock.html#uri
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpMock.method
    +
    googleapiclient.http.HttpMock.html#method
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpMock.body
    +
    googleapiclient.http.HttpMock.html#body
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpMock.request
    +
    googleapiclient.http.HttpMock.html#request
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpMock.close
    +
    googleapiclient.http.HttpMock.html#close
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpMockSequence
    +
    googleapiclient.http.HttpMockSequence.html
    +
    Class
    +
    Class
    +
    PUBLIC
    +
    Mock of httplib2.Http
    +
  • + +
    googleapiclient.http.HttpMockSequence.__init__
    +
    googleapiclient.http.HttpMockSequence.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    No summary
    +
  • + +
    googleapiclient.http.HttpMockSequence._iterable
    +
    googleapiclient.http.HttpMockSequence.html#_iterable
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpMockSequence.follow_redirects
    +
    googleapiclient.http.HttpMockSequence.html#follow_redirects
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpMockSequence.request_sequence
    +
    googleapiclient.http.HttpMockSequence.html#request_sequence
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.HttpMockSequence.request
    +
    googleapiclient.http.HttpMockSequence.html#request
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.http.set_user_agent
    +
    googleapiclient.http.html#set_user_agent
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Set the user-agent on every request.
    +
  • + +
    googleapiclient.http.tunnel_patch
    +
    googleapiclient.http.html#tunnel_patch
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Tunnel PATCH requests over POST.
    +
  • + +
    googleapiclient.http.build_http
    +
    googleapiclient.http.html#build_http
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Builds httplib2.Http object
    +
  • + +
    googleapiclient.schema.__author__
    +
    googleapiclient.schema.html#__author__
    +
    Attribute
    +
    Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.schema.Schemas
    +
    googleapiclient.schema.Schemas.html
    +
    Class
    +
    Class
    +
    PUBLIC
    +
    Schemas for an API.
    +
  • + +
    googleapiclient.schema.Schemas.__init__
    +
    googleapiclient.schema.Schemas.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Constructor.
    +
  • + +
    googleapiclient.schema.Schemas.schemas
    +
    googleapiclient.schema.Schemas.html#schemas
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.schema.Schemas.pretty
    +
    googleapiclient.schema.Schemas.html#pretty
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.schema.Schemas._prettyPrintByName
    +
    googleapiclient.schema.Schemas.html#_prettyPrintByName
    +
    Function
    +
    Method
    +
    PRIVATE
    +
    Get pretty printed object prototype from the schema name.
    +
  • + +
    googleapiclient.schema.Schemas.prettyPrintByName
    +
    googleapiclient.schema.Schemas.html#prettyPrintByName
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Get pretty printed object prototype from the schema name.
    +
  • + +
    googleapiclient.schema.Schemas._prettyPrintSchema
    +
    googleapiclient.schema.Schemas.html#_prettyPrintSchema
    +
    Function
    +
    Method
    +
    PRIVATE
    +
    Get pretty printed object prototype of schema.
    +
  • + +
    googleapiclient.schema.Schemas.prettyPrintSchema
    +
    googleapiclient.schema.Schemas.html#prettyPrintSchema
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Get pretty printed object prototype of schema.
    +
  • + +
    googleapiclient.schema.Schemas.get
    +
    googleapiclient.schema.Schemas.html#get
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Get deserialized JSON schema from the schema name.
    +
  • + +
    googleapiclient.schema._SchemaToStruct
    +
    googleapiclient.schema._SchemaToStruct.html
    +
    Class
    +
    Class
    +
    PRIVATE
    +
    Convert schema to a prototype object.
    +
  • + +
    googleapiclient.schema._SchemaToStruct.__init__
    +
    googleapiclient.schema._SchemaToStruct.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Constructor.
    +
  • + +
    googleapiclient.schema._SchemaToStruct.value
    +
    googleapiclient.schema._SchemaToStruct.html#value
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.schema._SchemaToStruct.string
    +
    googleapiclient.schema._SchemaToStruct.html#string
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.schema._SchemaToStruct.schema
    +
    googleapiclient.schema._SchemaToStruct.html#schema
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.schema._SchemaToStruct.dent
    +
    googleapiclient.schema._SchemaToStruct.html#dent
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.schema._SchemaToStruct.from_cache
    +
    googleapiclient.schema._SchemaToStruct.html#from_cache
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.schema._SchemaToStruct.seen
    +
    googleapiclient.schema._SchemaToStruct.html#seen
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.schema._SchemaToStruct.emit
    +
    googleapiclient.schema._SchemaToStruct.html#emit
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Add text as a line to the output.
    +
  • + +
    googleapiclient.schema._SchemaToStruct.emitBegin
    +
    googleapiclient.schema._SchemaToStruct.html#emitBegin
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Add text to the output, but with no line terminator.
    +
  • + +
    googleapiclient.schema._SchemaToStruct.emitEnd
    +
    googleapiclient.schema._SchemaToStruct.html#emitEnd
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Add text and comment to the output with line terminator.
    +
  • + +
    googleapiclient.schema._SchemaToStruct.indent
    +
    googleapiclient.schema._SchemaToStruct.html#indent
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Increase indentation level.
    +
  • + +
    googleapiclient.schema._SchemaToStruct.undent
    +
    googleapiclient.schema._SchemaToStruct.html#undent
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Decrease indentation level.
    +
  • + +
    googleapiclient.schema._SchemaToStruct._to_str_impl
    +
    googleapiclient.schema._SchemaToStruct.html#_to_str_impl
    +
    Function
    +
    Method
    +
    PRIVATE
    +
    Prototype object based on the schema, in Python code with comments.
    +
  • + +
    googleapiclient.schema._SchemaToStruct.to_str
    +
    googleapiclient.schema._SchemaToStruct.html#to_str
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Prototype object based on the schema, in Python code with comments.
    +
  • + +
    googleapiclient.discovery.logger
    +
    googleapiclient.discovery.html#logger
    +
    Attribute
    +
    Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.URITEMPLATE
    +
    googleapiclient.discovery.html#URITEMPLATE
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.VARNAME
    +
    googleapiclient.discovery.html#VARNAME
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.DISCOVERY_URI
    +
    googleapiclient.discovery.html#DISCOVERY_URI
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.V2_DISCOVERY_URI
    +
    googleapiclient.discovery.html#V2_DISCOVERY_URI
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.DEFAULT_METHOD_DOC
    +
    googleapiclient.discovery.html#DEFAULT_METHOD_DOC
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.HTTP_PAYLOAD_METHODS
    +
    googleapiclient.discovery.html#HTTP_PAYLOAD_METHODS
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS
    +
    googleapiclient.discovery.html#_MEDIA_SIZE_BIT_SHIFTS
    +
    Attribute
    +
    Constant
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE
    +
    googleapiclient.discovery.html#BODY_PARAMETER_DEFAULT_VALUE
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE
    +
    googleapiclient.discovery.html#MEDIA_BODY_PARAMETER_DEFAULT_VALUE
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE
    +
    googleapiclient.discovery.html#MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery._PAGE_TOKEN_NAMES
    +
    googleapiclient.discovery.html#_PAGE_TOKEN_NAMES
    +
    Attribute
    +
    Constant
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.GOOGLE_API_USE_CLIENT_CERTIFICATE
    +
    googleapiclient.discovery.html#GOOGLE_API_USE_CLIENT_CERTIFICATE
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.GOOGLE_API_USE_MTLS_ENDPOINT
    +
    googleapiclient.discovery.html#GOOGLE_API_USE_MTLS_ENDPOINT
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.GOOGLE_CLOUD_UNIVERSE_DOMAIN
    +
    googleapiclient.discovery.html#GOOGLE_CLOUD_UNIVERSE_DOMAIN
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.DEFAULT_UNIVERSE
    +
    googleapiclient.discovery.html#DEFAULT_UNIVERSE
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.STACK_QUERY_PARAMETERS
    +
    googleapiclient.discovery.html#STACK_QUERY_PARAMETERS
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE
    +
    googleapiclient.discovery.html#STACK_QUERY_PARAMETER_DEFAULT_VALUE
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.APICoreVersionError
    +
    googleapiclient.discovery.APICoreVersionError.html
    +
    Class
    +
    Exception
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.APICoreVersionError.__init__
    +
    googleapiclient.discovery.APICoreVersionError.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.RESERVED_WORDS
    +
    googleapiclient.discovery.html#RESERVED_WORDS
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery._BytesGenerator
    +
    googleapiclient.discovery._BytesGenerator.html
    +
    Class
    +
    Class
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.fix_method_name
    +
    googleapiclient.discovery.html#fix_method_name
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Fix method names to avoid '$' characters and reserved word conflicts.
    +
  • + +
    googleapiclient.discovery.key2param
    +
    googleapiclient.discovery.html#key2param
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Converts key names into parameter names.
    +
  • + +
    googleapiclient.discovery.build
    +
    googleapiclient.discovery.html#build
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Construct a Resource for interacting with an API.
    +
  • + +
    googleapiclient.discovery._discovery_service_uri_options
    +
    googleapiclient.discovery.html#_discovery_service_uri_options
    +
    Function
    +
    Function
    +
    PRIVATE
    +
    Returns Discovery URIs to be used for attempting to build the API Resource.
    +
  • + +
    googleapiclient.discovery._retrieve_discovery_doc
    +
    googleapiclient.discovery.html#_retrieve_discovery_doc
    +
    Function
    +
    Function
    +
    PRIVATE
    +
    Retrieves the discovery_doc from cache or the internet.
    +
  • + +
    googleapiclient.discovery._check_api_core_compatible_with_credentials_universe
    +
    googleapiclient.discovery.html#_check_api_core_compatible_with_credentials_universe
    +
    Function
    +
    Function
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.build_from_document
    +
    googleapiclient.discovery.html#build_from_document
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Create a Resource for interacting with an API.
    +
  • + +
    googleapiclient.discovery._cast
    +
    googleapiclient.discovery.html#_cast
    +
    Function
    +
    Function
    +
    PRIVATE
    +
    Convert value to a string based on JSON Schema type.
    +
  • + +
    googleapiclient.discovery._media_size_to_long
    +
    googleapiclient.discovery.html#_media_size_to_long
    +
    Function
    +
    Function
    +
    PRIVATE
    +
    Convert a string media size, such as 10GB or 3TB into an integer.
    +
  • + +
    googleapiclient.discovery._media_path_url_from_info
    +
    googleapiclient.discovery.html#_media_path_url_from_info
    +
    Function
    +
    Function
    +
    PRIVATE
    +
    Creates an absolute media path URL.
    +
  • + +
    googleapiclient.discovery._fix_up_parameters
    +
    googleapiclient.discovery.html#_fix_up_parameters
    +
    Function
    +
    Function
    +
    PRIVATE
    +
    Updates parameters of an API method with values specific to this library.
    +
  • + +
    googleapiclient.discovery._fix_up_media_upload
    +
    googleapiclient.discovery.html#_fix_up_media_upload
    +
    Function
    +
    Function
    +
    PRIVATE
    +
    Adds 'media_body' and 'media_mime_type' parameters if supported by method.
    +
  • + +
    googleapiclient.discovery._fix_up_method_description
    +
    googleapiclient.discovery.html#_fix_up_method_description
    +
    Function
    +
    Function
    +
    PRIVATE
    +
    Updates a method description in a discovery document.
    +
  • + +
    googleapiclient.discovery._fix_up_media_path_base_url
    +
    googleapiclient.discovery.html#_fix_up_media_path_base_url
    +
    Function
    +
    Function
    +
    PRIVATE
    +
    Update the media upload base url if its netloc doesn't match base url netloc.
    +
  • + +
    googleapiclient.discovery._urljoin
    +
    googleapiclient.discovery.html#_urljoin
    +
    Function
    +
    Function
    +
    PRIVATE
    +
    Custom urljoin replacement supporting : before / in url.
    +
  • + +
    googleapiclient.discovery.ResourceMethodParameters
    +
    googleapiclient.discovery.ResourceMethodParameters.html
    +
    Class
    +
    Class
    +
    PUBLIC
    +
    Represents the parameters associated with a method.
    +
  • + +
    googleapiclient.discovery.ResourceMethodParameters.argmap
    +
    googleapiclient.discovery.ResourceMethodParameters.html#argmap
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Map from method parameter name (string) to query parameter name (string).
    +
  • + +
    googleapiclient.discovery.ResourceMethodParameters.required_params
    +
    googleapiclient.discovery.ResourceMethodParameters.html#required_params
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    List of required parameters (represented by parameter name as string).
    +
  • + +
    googleapiclient.discovery.ResourceMethodParameters.repeated_params
    +
    googleapiclient.discovery.ResourceMethodParameters.html#repeated_params
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    List of repeated parameters (represented by parameter name as string).
    +
  • + +
    googleapiclient.discovery.ResourceMethodParameters.pattern_params
    +
    googleapiclient.discovery.ResourceMethodParameters.html#pattern_params
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Map from method parameter name (string) to regular expression (as a string). If the pattern is set for a parameter, the value for that parameter must match the regular expression.
    +
  • + +
    googleapiclient.discovery.ResourceMethodParameters.query_params
    +
    googleapiclient.discovery.ResourceMethodParameters.html#query_params
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    List of parameters (represented by parameter name as string) that will be used in the query string.
    +
  • + +
    googleapiclient.discovery.ResourceMethodParameters.path_params
    +
    googleapiclient.discovery.ResourceMethodParameters.html#path_params
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Set of parameters (represented by parameter name as string) that will be used in the base URL path.
    +
  • + +
    googleapiclient.discovery.ResourceMethodParameters.param_types
    +
    googleapiclient.discovery.ResourceMethodParameters.html#param_types
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Map from method parameter name (string) to parameter type. Type can be any valid JSON schema type; valid values are 'any', 'array', 'boolean', 'integer', 'number', 'object', or 'string'. Reference: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1...
    +
  • + +
    googleapiclient.discovery.ResourceMethodParameters.enum_params
    +
    googleapiclient.discovery.ResourceMethodParameters.html#enum_params
    +
    Attribute
    +
    Instance Variable
    +
    PUBLIC
    +
    Map from method parameter name (string) to list of strings, where each list of strings is the list of acceptable enum values.
    +
  • + +
    googleapiclient.discovery.ResourceMethodParameters.__init__
    +
    googleapiclient.discovery.ResourceMethodParameters.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Constructor for ResourceMethodParameters.
    +
  • + +
    googleapiclient.discovery.ResourceMethodParameters.set_parameters
    +
    googleapiclient.discovery.ResourceMethodParameters.html#set_parameters
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Populates maps and lists based on method description.
    +
  • + +
    googleapiclient.discovery.createMethod
    +
    googleapiclient.discovery.html#createMethod
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Creates a method for attaching to a Resource.
    +
  • + +
    googleapiclient.discovery.createNextMethod
    +
    googleapiclient.discovery.html#createNextMethod
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Creates any _next methods for attaching to a Resource.
    +
  • + +
    googleapiclient.discovery.Resource
    +
    googleapiclient.discovery.Resource.html
    +
    Class
    +
    Class
    +
    PUBLIC
    +
    A class for interacting with a resource.
    +
  • + +
    googleapiclient.discovery.Resource.__init__
    +
    googleapiclient.discovery.Resource.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Build a Resource from the API description.
    +
  • + +
    googleapiclient.discovery.Resource._dynamic_attrs
    +
    googleapiclient.discovery.Resource.html#_dynamic_attrs
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.Resource._http
    +
    googleapiclient.discovery.Resource.html#_http
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.Resource._baseUrl
    +
    googleapiclient.discovery.Resource.html#_baseUrl
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.Resource._model
    +
    googleapiclient.discovery.Resource.html#_model
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.Resource._developerKey
    +
    googleapiclient.discovery.Resource.html#_developerKey
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.Resource._requestBuilder
    +
    googleapiclient.discovery.Resource.html#_requestBuilder
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.Resource._resourceDesc
    +
    googleapiclient.discovery.Resource.html#_resourceDesc
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.Resource._rootDesc
    +
    googleapiclient.discovery.Resource.html#_rootDesc
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.Resource._schema
    +
    googleapiclient.discovery.Resource.html#_schema
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.Resource._universe_domain
    +
    googleapiclient.discovery.Resource.html#_universe_domain
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.Resource._credentials_validated
    +
    googleapiclient.discovery.Resource.html#_credentials_validated
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.Resource._set_dynamic_attr
    +
    googleapiclient.discovery.Resource.html#_set_dynamic_attr
    +
    Function
    +
    Method
    +
    PRIVATE
    +
    Sets an instance attribute and tracks it in a list of dynamic attributes.
    +
  • + +
    googleapiclient.discovery.Resource.__getstate__
    +
    googleapiclient.discovery.Resource.html#__getstate__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Trim the state down to something that can be pickled.
    +
  • + +
    googleapiclient.discovery.Resource.__setstate__
    +
    googleapiclient.discovery.Resource.html#__setstate__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Reconstitute the state of the object from being pickled.
    +
  • + +
    googleapiclient.discovery.Resource.__enter__
    +
    googleapiclient.discovery.Resource.html#__enter__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.Resource.__exit__
    +
    googleapiclient.discovery.Resource.html#__exit__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.Resource.close
    +
    googleapiclient.discovery.Resource.html#close
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Close httplib2 connections.
    +
  • + +
    googleapiclient.discovery.Resource._set_service_methods
    +
    googleapiclient.discovery.Resource.html#_set_service_methods
    +
    Function
    +
    Method
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.Resource._add_basic_methods
    +
    googleapiclient.discovery.Resource.html#_add_basic_methods
    +
    Function
    +
    Method
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.Resource._add_nested_resources
    +
    googleapiclient.discovery.Resource.html#_add_nested_resources
    +
    Function
    +
    Method
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.Resource._add_next_methods
    +
    googleapiclient.discovery.Resource.html#_add_next_methods
    +
    Function
    +
    Method
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery.Resource._validate_credentials
    +
    googleapiclient.discovery.Resource.html#_validate_credentials
    +
    Function
    +
    Method
    +
    PRIVATE
    +
    Validates client's and credentials' universe domains are consistent.
    +
  • + +
    googleapiclient.discovery._findPageTokenName
    +
    googleapiclient.discovery.html#_findPageTokenName
    +
    Function
    +
    Function
    +
    PRIVATE
    +
    Search field names for one like a page token.
    +
  • + +
    googleapiclient.discovery._methodProperties
    +
    googleapiclient.discovery.html#_methodProperties
    +
    Function
    +
    Function
    +
    PRIVATE
    +
    Get properties of a field in a method description.
    +
  • + +
    googleapiclient.discovery_cache.LOGGER
    +
    googleapiclient.discovery_cache.html#LOGGER
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery_cache.DISCOVERY_DOC_MAX_AGE
    +
    googleapiclient.discovery_cache.html#DISCOVERY_DOC_MAX_AGE
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery_cache.DISCOVERY_DOC_DIR
    +
    googleapiclient.discovery_cache.html#DISCOVERY_DOC_DIR
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery_cache.autodetect
    +
    googleapiclient.discovery_cache.html#autodetect
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Detects an appropriate cache module and returns it.
    +
  • + +
    googleapiclient.discovery_cache.get_static_doc
    +
    googleapiclient.discovery_cache.html#get_static_doc
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    Retrieves the discovery document from the directory defined in DISCOVERY_DOC_DIR corresponding to the serviceName and version provided.
    +
  • + +
    googleapiclient.discovery_cache.base.Cache
    +
    googleapiclient.discovery_cache.base.Cache.html
    +
    Class
    +
    Class
    +
    PUBLIC
    +
    A base abstract cache class.
    +
  • + +
    googleapiclient.discovery_cache.base.Cache.get
    +
    googleapiclient.discovery_cache.base.Cache.html#get
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Gets the content from the memcache with a given key.
    +
  • + +
    googleapiclient.discovery_cache.base.Cache.set
    +
    googleapiclient.discovery_cache.base.Cache.html#set
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Sets the given key and content in the cache.
    +
  • + +
    googleapiclient.discovery_cache.appengine_memcache.LOGGER
    +
    googleapiclient.discovery_cache.appengine_memcache.html#LOGGER
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery_cache.appengine_memcache.NAMESPACE
    +
    googleapiclient.discovery_cache.appengine_memcache.html#NAMESPACE
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery_cache.appengine_memcache.Cache
    +
    googleapiclient.discovery_cache.appengine_memcache.Cache.html
    +
    Class
    +
    Class
    +
    PUBLIC
    +
    A cache with app engine memcache API.
    +
  • + +
    googleapiclient.discovery_cache.appengine_memcache.Cache.__init__
    +
    googleapiclient.discovery_cache.appengine_memcache.Cache.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Constructor.
    +
  • + +
    googleapiclient.discovery_cache.appengine_memcache.Cache._max_age
    +
    googleapiclient.discovery_cache.appengine_memcache.Cache.html#_max_age
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery_cache.appengine_memcache.Cache.get
    +
    googleapiclient.discovery_cache.appengine_memcache.Cache.html#get
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Gets the content from the memcache with a given key.
    +
  • + +
    googleapiclient.discovery_cache.appengine_memcache.Cache.set
    +
    googleapiclient.discovery_cache.appengine_memcache.Cache.html#set
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Sets the given key and content in the cache.
    +
  • + +
    googleapiclient.discovery_cache.appengine_memcache.cache
    +
    googleapiclient.discovery_cache.appengine_memcache.html#cache
    +
    Attribute
    +
    Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery_cache.file_cache.LOGGER
    +
    googleapiclient.discovery_cache.file_cache.html#LOGGER
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery_cache.file_cache.FILENAME
    +
    googleapiclient.discovery_cache.file_cache.html#FILENAME
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery_cache.file_cache.EPOCH
    +
    googleapiclient.discovery_cache.file_cache.html#EPOCH
    +
    Attribute
    +
    Constant
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery_cache.file_cache._to_timestamp
    +
    googleapiclient.discovery_cache.file_cache.html#_to_timestamp
    +
    Function
    +
    Function
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery_cache.file_cache._read_or_initialize_cache
    +
    googleapiclient.discovery_cache.file_cache.html#_read_or_initialize_cache
    +
    Function
    +
    Function
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery_cache.file_cache.Cache
    +
    googleapiclient.discovery_cache.file_cache.Cache.html
    +
    Class
    +
    Class
    +
    PUBLIC
    +
    A file based cache for the discovery documents.
    +
  • + +
    googleapiclient.discovery_cache.file_cache.Cache.__init__
    +
    googleapiclient.discovery_cache.file_cache.Cache.html#__init__
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Constructor.
    +
  • + +
    googleapiclient.discovery_cache.file_cache.Cache._max_age
    +
    googleapiclient.discovery_cache.file_cache.Cache.html#_max_age
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery_cache.file_cache.Cache._file
    +
    googleapiclient.discovery_cache.file_cache.Cache.html#_file
    +
    Attribute
    +
    Instance Variable
    +
    PRIVATE
    +
    Undocumented
    +
  • + +
    googleapiclient.discovery_cache.file_cache.Cache.get
    +
    googleapiclient.discovery_cache.file_cache.Cache.html#get
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Gets the content from the memcache with a given key.
    +
  • + +
    googleapiclient.discovery_cache.file_cache.Cache.set
    +
    googleapiclient.discovery_cache.file_cache.Cache.html#set
    +
    Function
    +
    Method
    +
    PUBLIC
    +
    Sets the given key and content in the cache.
    +
  • + +
    googleapiclient.discovery_cache.file_cache.cache
    +
    googleapiclient.discovery_cache.file_cache.html#cache
    +
    Attribute
    +
    Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.sample_tools.__author__
    +
    googleapiclient.sample_tools.html#__author__
    +
    Attribute
    +
    Variable
    +
    PUBLIC
    +
    Undocumented
    +
  • + +
    googleapiclient.sample_tools.init
    +
    googleapiclient.sample_tools.html#init
    +
    Function
    +
    Function
    +
    PUBLIC
    +
    A common initialization routine for samples.
    +
  • +
+
+ + \ No newline at end of file diff --git a/docs/pydoc/apidocs.css b/docs/pydoc/apidocs.css new file mode 100644 index 00000000000..537c3ba5cc9 --- /dev/null +++ b/docs/pydoc/apidocs.css @@ -0,0 +1,1166 @@ +body { + display: flex; + flex-direction: column; + min-height: 100vh; + overflow-y: scroll; +} + +.container-fluid{ + max-width: 1380px; + width: 100%; + flex: auto; +} + +nav.navbar { + width:100%; + margin-bottom: 0; +} + +nav.mainnavbar > div.container-fluid { + display: flex; + flex-wrap: wrap; +} + +nav div.layoutOptions { + display: flex; + flex-wrap: wrap; + align-items: end; + margin-left: auto; + padding-top:11px; +} + +nav.navbar .navbar-header { + float: none; + width: 100%; + position: relative; +} + +.page-header { + margin-top: 22px; + top: 0; + display: flex; + flex-wrap: wrap; + justify-content: space-between; + align-items: baseline; + background-color: #fff; + margin-bottom: 3px; + border-bottom: 0; + box-shadow: 0 0 8px 8px #fff; + z-index: 99; +} + +.navbar-brand { + padding: 0; + margin: 0; + height: auto; +} + +.navbar-brand a, .navbar-brand span { + color:#777777; + padding: 15px; + display: inline-block; +} + +.navbar-brand *:first-child { + padding-right: 0; +} + +.navbar-brand *:last-child { + padding-left: 0; + padding-right: 0; +} + +.navbar-brand a:hover { + color: #444444; + text-decoration: none; +} + +a.projecthome:hover { + color: #23527c; +} + +.navlinks { + margin: 0; + display: flex; + flex-wrap: wrap; + align-items: baseline; +} + +.navlinks > a { + padding: 10px 0 10px 15px; +} + + +.navlinks > a:hover { + background-color: transparent; + text-decoration: none; +} + +.page-header h1 { + margin: 0; +} + +.categoryHeader { + font-size: 24px; + color: #777; + margin-bottom: 1.8em; +} + +/* Footer */ + +footer.navbar { + margin: auto 0 0 0; + padding-top: 15px; + padding-bottom: 15px; + background-color: #fff; + border-width: 1px 0 0 0; + border-radius: 0; + text-align: center; +} + +a[name] { + position: relative; + bottom: 10px; + font-size: 0; +} + +ul { + margin-top: 10px; + margin-left: 10px; + padding-left: 10px; +} + +li { + padding-top: 5px; + padding-bottom: 5px; +} + +#summaryTree .compact-modules { + list-style: none; + line-height: 1.8em; +} + +li a { + text-decoration: none; +} + +ul ul { + border-left-color: #e1f5fe; + border-left-width: 1px; + border-left-style: solid; +} + +ul ul ul { + border-left-color: #b3e5fc; +} + +ul ul ul ul { + border-left-color: #81d4fa; +} + +ul ul ul ul ul { + border-left-color: #4fc3f7; +} + +ul ul ul ul ul ul { + border-left-color: #29b6f6; +} + +ul ul ul ul ul ul ul { + border-left-color: #03a9f4; +} + +ul ul ul ul ul ul ul { + border-left-color: #039be5; +} + +.pre { + white-space: pre; +} + +.undocumented { + font-style: italic; + color: #9e9e9e; +} + +.functionBody p { + margin: 0; + padding: 8px 0 6px; +} + +#splitTables > p { + margin-bottom: 5px; +} + +#splitTables > table { + margin-bottom: 20px; + width: 100%; + border: 0; +} + +#splitTables > table tr { + border-bottom-color: #eee; + border-bottom-width: 1px; + border-bottom-style: solid; + width: 100%; +} + +#splitTables > table tr td { + padding: 5px; + border-left-color: #eee; + border-left-width: 1px; + border-left-style: solid; +} + +.fieldTable { + width: 100%; + border: 0; +} + +/* Arg name */ +.fieldArg { + margin-right: 7px; +} + +.fieldArg:before { + margin-right: 6px; + content: "\2022"; + font-size: 14px; +} + +.fieldTable tr:not(.fieldStart) td:first-child, +.valueTable tr:not(.fieldStart) td:first-child{ + padding: 3px 4px 3px 15px; +} + +.fieldTable tr td { + padding: 2px; +} + + +/* Argument name + type column table */ +.fieldTable tr td.fieldArgContainer { + width: 325px; + word-break: break-word; +} + +/* parameters names in parameters table */ +.fieldTable tr td.fieldArgContainer > .fieldArg { + float: left; + margin-left: -5px; +} + +/* parameters types (in parameters table) */ +.fieldTable tr td.fieldArgContainer > code { + /* we don't want word break for the types because we already add tags inside the type HTML, and that should suffice. */ + word-break: normal; + display: inline; + flex-wrap: wrap; +} + +/* Argument description column or return value desc, etc */ +.fieldTable tr td::nth-child(2) { + padding-left: 10px; +} + +/* Kind column table */ +#splitTables > table tr td:first-child { + /* border-left: none; */ + width: 150px; +} + +/* Attr name column table */ +#splitTables > table tr td:nth-child(2) { + width: 240px; + word-break: break-word; +} + +/* Fix proportion size of summary table columns */ +#splitTables > table { + table-layout: fixed; +} + +/* For smaller displays, i.e. half screen */ +@media only screen and (max-width: 1100px) { + + /* Attr name column table */ + #splitTables > table tr td:nth-child(2) { + width: 200px; + } + + /* Summary column table */ + #splitTables > table tr td:nth-child(3) { + width: auto; + } + +} + +@media only screen and (max-width: 820px) { + + /* Kind column table */ + #splitTables > table tr td:first-child { + border-left: none; + width: 20%; + } + + /* Attr name column table */ + #splitTables > table tr td:nth-child(2) { + width: 160px; + } + /* Argument name + type column table */ + .fieldTable tr td.fieldArgContainer { + width: 170px; + } + .fieldTable { + table-layout: fixed; + } +} + +@media only screen and (max-width: 450px) { + /* Attr name column table */ + #splitTables > table tr td:nth-child(2) { + width: 100px; + } + /* Argument name + type column table */ + .fieldTable tr td.fieldArgContainer { + width: 125px; + } +} + +table .package { + background-color: #fff3e0; +} + +table .module { + background-color: #fff8e1; +} + +table .class, table .classvariable, table .baseclassvariable, table .exception { + background-color: #fffde7; +} + +table .instancevariable, table .baseinstancevariable, table .variable, table .attribute, table .property { + background-color: #f3e5f5; +} + +table .interface { + background-color: #fbe9e7; +} + +table .method, table .function, table .basemethod, table .baseclassmethod, table .classmethod { + background-color: #f1f8e9; +} + +table .private { + background-color: #f1f1f1; +} + +.fieldName { + font-weight: bold; +} + + +#childList > div { + margin: 10px; + padding: 10px; + padding-bottom: 5px; + display: block; + border-left-color: #03a9f4; + border-left-width: 1px; + border-left-style: solid; + background: #fafafa; +} + +.functionBody { + margin-left: 5px; +} + +.functionBody > #part { + font-style: italic; +} + +.functionBody > #part > a { + text-decoration: none; +} + +.functionBody .interfaceinfo { + font-style: italic; + margin-bottom: 3px; + margin-top: 3px; +} + +.functionBody > .undocumented { + + margin-top: 6px; + margin-bottom: 6px; +} + +/* Use a slightly more compact presentation for signatures */ +.function-signature { + word-spacing: -5px; +} + +.function-signature code { + padding: 2px 1px; +} + +/* +- Links to class/function/etc names are nested like this: + label + +- 'functionHeader' is used for lines like `def func():` and `var =` +*/ +code, .rst-literal, .pre, #childList > div .functionHeader, +#splitTables > table tr td:nth-child(2), .fieldArg { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; +} +code, #childList > div .functionHeader, .fieldArg { + color: #222222; +} + +/* Intersphinx links are not red, but simply blue */ +a.intersphinx-link { + color: #03458a; + background-color: #f0ebe694; +} + +/* Links to objects within the system use this special css. +This applies to inline docstring content marked up as code, + for example L{foo} in epytext or `bar` in restructuredtext, + but also to links that are present in summary tables. +*/ +a.internal-link { + color:#c7254e; + background-color:#f9f2f4; +} + +/* top navagation bar */ +.page-header > h1 { + margin-top: 0; +} +.page-header > h1 > code { + color: #971c3a; +} + +/* Bootstart 3.x sets font-size to 17.5px which just + looks ridiculously large, so we unset it here. +*/ +blockquote { + font-size: unset; +} + +/* +This defines the code style, it's black on light gray. +It also overwrite the default values inherited from bootstrap min +*/ +code, .rst-literal { + padding:2px 4px; + background-color: #f4f4f4; + border-radius:4px +} + + +a.sourceLink { + color: #337ab7!important; + font-weight: normal; + background-color: transparent!important; +} + + + + +.moduleDocstring { + margin: 20px; +} + +#partOf { + margin-top: -13px; + margin-bottom: 19px; +} + +.fromInitPy { + font-style: italic; +} + +pre { + padding-left: 0; +} + +/* Private stuff */ + +body.private-hidden #splitTables .private, +body.private-hidden #childList .private, +body.private-hidden #summaryTree .private, +body.private-hidden nav.sidebar .private, +body.private-hidden #search-results .private, +body.private-hidden .container > .private { + display: none!important; +} + +/* Show private and other options */ + +#showPrivate:hover { + text-decoration: none; +} + +#showPrivate button { + padding: 5px; + padding-bottom: 15px; +} + +#showPrivate button:hover { + text-decoration: none; +} + +#current-docs-container { + font-style: italic; + padding-top: 11px; +} + +/* Deprecation stuff */ + +.deprecationNotice { + margin: 10px; +} + +/* Syntax highlighting for source code */ + +.py-string { + color: #337ab7; +} +.py-comment { + color: #309078; + font-style: italic; +} +.py-keyword { + font-weight: bold; +} +.py-defname { + color: #a947b8; + font-weight: bold; +} +.py-builtin { + color: #fc7844; + font-weight: bold; +} + +/* Doctest */ + +pre.py-doctest { + padding: .5em; +} +.py-prompt, .py-more { + color: #a8a8a8; +} +.py-output { + color: #c7254e; +} + +/* Admonitions */ + +div.rst-admonition p.rst-admonition-title:after { + content: ":"; +} + +div.rst-admonition p.rst-admonition-title { + margin: 0; + padding: 0.1em 0 0.35em 0em; + font-weight: bold; +} + +div.rst-admonition p.rst-admonition-title { + color: #333333; +} + +div.rst-admonition { + padding: 8px; + margin-bottom: 20px; + background-color: #EEE; + border: 1px solid #CCC; + border-radius: 4px; +} + +div.rst-warning, div.rst-attention, div.rst-danger, div.rst-error, div.rst-caution { + background-color: #ffcf9cb0; + border: 1px solid #ffbbaa; +} + +div.rst-danger p.rst-admonition-title, div.rst-error p.rst-admonition-title, div.rst-caution p.rst-admonition-title { + color: #b94a48; +} + +div.rst-tip p.rst-admonition-title, div.rst-hint p.rst-admonition-title, div.rst-important p.rst-admonition-title{ + color: #3a87ad; +} + +div.rst-tip, div.rst-hint, div.rst-important { + background-color: #d9edf7; + border-color: #bce8f1; +} + +.sidebarcontainer { + width: 297px; /* Set the width of the sidebar: 290px + 2px for the border + 5px for the padding */ + max-height: 100vh; /* Full-height: remove this if you want "auto" height */ + float: left; + padding: 10px 0px 10px 5px; + margin:24px 20px 20px 0; + border: 1px solid; + border-radius: 4px; + display: flex; + position: sticky; + top: 0; + overflow-wrap: break-word; + overflow-x: none; + overflow-y: scroll; + background-color: #fbfbfb; + border-color: #e7e7e7; + scrollbar-width: thin; + scrollbar-color: rgb(194,194,194) rgb(249,249,249); +} + +.sidebarcontainer::-webkit-scrollbar { + width: 10px; /* Scrollbar width on Chromium-based browsers */ + border: solid 1px rgb(229,229,229); + background-color: rgb(249,249,249); +} + +.sidebarcontainer::-webkit-scrollbar:horizontal { + display: none; +} + +.sidebarcontainer::-webkit-scrollbar-track { + box-shadow: inset 0 0 5px 5px transparent; + border: solid 1px transparent; +} + +.sidebarcontainer::-webkit-scrollbar-thumb { + box-shadow: inset 0 0 5px 5px rgb(194,194,194); + border: solid 2px transparent; + border-radius: 5px; +} + + +/* The sidebar menu */ + +.sidebar { + /*! padding-bottom: 10px; */ + width: 100%; +} + +.sidebar > div { + width: 100%; + padding-top: 7px; +} + +.sidebar > div:first-child { + padding-top: 0; + margin-top: -4px; +} + +.sidebar > div:last-child { + padding-bottom: 15px; +} + +.sidebar > div:nth-child(2) { + background-color: RGBA(0,10,10, 0.03); + box-shadow: -5px 5px 0px 10px RGBA(0,10,10, 0.03); + margin-top: 20px; +} + +.sidebar ul { + display: block; + margin: 0 0 5px 0; + padding: 0 0 0 10px; + width: 100%; +} + +.sidebar li { + width: 100%; + padding: 0; + display: flex; + overflow: hidden; + flex-wrap: wrap; + word-break: break-word; +} + +.sidebar li p { + margin: 0; + width: 100%; +} + +.sidebar li ul { + margin: 0 0 2px 0; + padding: 0 0 0 7px; + border: 0; +} + +/* Generated TOC */ +.sidebar ul.rst-simple, .sidebar ul.rst-simple ul { + margin: 0 0 5px 0; + padding: 0 0 0 15px; + margin: 0; + border-left: 1px solid #e7e7e7; +} + +.sidebar li a { + display: inline-block; + width: 100%; + padding-top: 3px; + padding-bottom: 3px; + color: #414141; +} + +.sidebar li a:hover { + color: #C7354E; +} + +.sidebar > div ul > li > .itemName > code, .sidebar > div ul > li > .itemName > code > a { + background-color: transparent; +} + +.sidebar ul > li > .itemName { + width: 100%; +} + +.sidebar > div ul > li > .itemName > code { + padding: 0; + width: 100%; +} + +.sidebar .thingTitle { + margin-bottom: 7px; + margin-top: 7px; + overflow: hidden; + color: #555; + font-size: 18px; + display: flex; + flex-wrap: wrap; + align-items: baseline; + word-break: break-word; + padding: 0 15px 3px 1px; + box-shadow: -10px 12px 0px -11px #888; +} + +.sidebar .thingTitle > span { + margin-right: 7px; +} + +.sidebar .thingTitle > code { + font-size: 16px; + color: #555; + background-color: transparent; + padding-left: 0; + padding-right: 0; + display: flex; +} + +.sidebar .thingTitle > code a { + background-color: transparent; +} + +.sidebar .childrenKindTitle { + color: #414141; + margin-left: 4px; + margin-bottom: 3px; + font-size: 15px; + /*! border-bottom: solid 1px #9d9d9d; */ + box-shadow: -11px 11px 0px -10px #aeaeaec4; + font-style: italic; +} + + +/* Style page content */ +#main { + + /* Same as the width of the sidebar + 20px*/ + display: flex; + flex-direction: column; +} + +/* Special case for the --nosidebar option */ +.nosidebar { + margin-left: 10px!important; +} + +/* For bigger displays, i.e. full screen */ +@media only screen and (min-width: 1330px) { + .sidebarcontainer { + width: 317px; /* Set the width of the sidebar: 310px + 2px for the border + 5px for the scrollbar */ + } +} + +/* For smaller displays, i.e. half screen */ +@media only screen and (max-width: 1100px) { + .sidebarcontainer { + width: 257px; /* Set the width of the sidebar: 250px + 2px for the border + 5px for the scrollbar */ + } +} + +/* For smaller displays mobile phone */ +@media only screen and (max-width: 900px) { + .sidebarcontainer { + width: 207px; /* Set the width of the sidebar: 200px + 2px for the border + 5px for the scrollbar */ + } +} + + +nav.foot { + margin-top: 20px; + background-color: #fff; + text-align: center; + border-width: 1px 0 0 0; + border-radius: 0; +} + +nav.foot address { + padding-top: 15px; + text-align: center; +} + +#collapseSideBar { + border-radius: 4px; + color: rgb(68, 68, 68); + font-size: 1.2em; + display: block; + float: left; + width: 0; + padding: 0; + margin: 0; + position: sticky; + top: 0; + right: 0; +} + +#collapseSideBar > a:hover{ + background-color: #e1e1e1; + text-decoration: none; +} + +#collapseSideBar > a { + height: 42px; + width: 15px; + font-size: 1.2em; + color: #333; + padding: 1px; + background-color: #e7e7e7; + border-radius: 0 4px 0 4px; + margin: -11px 0 0 -15px; + text-align: center; + display: flex; + align-items: center; + justify-content: center; + border: solid 1px #e7e7e7; +} + +/* collapsed */ + +body.sidebar-collapsed .sidebar { + display: none; +} + +body.sidebar-collapsed .sidebarcontainer { + border: none; + padding: 0; + width: 5px; + overflow: visible; + background-color: transparent; +} + +body.sidebar-collapsed #main { + margin: 0 0 0 25px!important; +} + +body.sidebar-collapsed #collapseSideBar { + left: 1px; +} + +body.sidebar-collapsed #collapseSideBar > a { + margin-top: -1px; + margin-left: 0; + border-radius: 4px; + background-color: #f8f8f8; +} + +body.sidebar-collapsed #collapseSideBar > a:hover { + background-color: #e7e7e7; +} + +/* On smaller screens, where width is less than 650px, simply hide sidebar */ +@media screen and (max-width: 650px) { + .sidebar { + display: none; + } + #main { + margin: 0; + } + .sidebarcontainer { + display: none!important; + } + #collapseSideBar { + display: none; + } +} + +/* Style for expandable content */ + +input.tocChildrenToggle { + display: none; + } + +.lbl-toggle { + display: block; + width: 18px; + font-weight: bold; + font-family: monospace; + font-size: 12px; + text-transform: uppercase; + text-align: center; + color: #333; + /* background: #0069ff; */ + cursor: pointer; + border-radius: 7px; + transition: all 0.1s ease-out; + margin: 0 0 0 0; + padding: 5px 2px 0 2px; + color: rgb(163, 163, 163); + position: absolute; +} + +.lbl-toggle::before { + content: " "; + display: inline-block; + border-top: 5px solid transparent; + border-bottom: 5px solid transparent; + border-left: 5px solid currentColor; + vertical-align: middle; + margin-right: 0.7rem; + transform: translateY(-2px); + } + +.lbl-toggle:hover { + color: #333; + } + +.tocChildrenToggle:checked + .lbl-toggle::before { + transform: rotate(90deg) translateX(-3px); + } + +.expandableContent { + height: 0px; + overflow: hidden; + flex-basis: 100%; + padding: 0 0 0 8px; + margin-left: 5px; + border-left: 1px solid #e7e7e7; +} + +.expandableContent > div { + margin-top: 5px; +} + +.tocChildrenToggle:checked ~ .expandableContent { + height: auto; +} + +.tocChildrenToggle:not(:checked) ~ .expandableContent .lbl-toggle { + position: relative; +} + +.tocChildrenToggle:checked + .lbl-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + color: #333; + } + +.expandableContent .childrenKindTitle { + font-size: 14px; + /* margin-left: 5px; */ +} + +.expandableItem { + display: flex; + flex-wrap: wrap; +} + +.expandableItem > code { + width: calc(100% - 20px)!important; + margin-left: 18px; +} + +/* Special cases to display the current object name in the sidebar */ +.thisobject a { + font-weight: bold; +} +.expandableItem label.notExpandable { + cursor: not-allowed; +} +/* Version modified style */ +.rst-versionmodified { + display: block; + font-weight: bold; +} + +/* Search */ + +/* clears the ‘X’ from search input for Chrome */ +input[type="search"]::-webkit-search-decoration, +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-results-button, +input[type="search"]::-webkit-search-results-decoration { display: none; } + +.navlinks > #search-box-container { + padding: 0 0 8px 15px; + align-self: flex-end; + margin-left: auto; + display: none; +} + +#search-results { + margin-top: 5px; +} + +#search-results tr{ + display:block; + border-bottom: 0.5px solid #CCC; +} + +#search-results tr { + border-bottom: 1px #ddd solid; + padding-bottom: 1px; +} + +#search-results tr td { + border-left: 1px #ddd solid; + padding: 2px; +} + +#search-results tr td:first-child { + width: 120px; +} + +#search-results tr:last-child{ + border-bottom: none; +} + +#search-results tr article, #search-results tr article *{ + display:inline; +} + +#search-results section { + padding: 5px 0 0 8px; +} + +.search-help-hidden #search-help-box{ + display: none!important; +} + +#search-help-button{ + background-color: #e6e6e6; +} + +.search-help-hidden #search-help-button{ + background-color: rgb(255, 255, 255); +} + +.search-help-hidden #search-help-button:hover { + background-color: #e6e6e6; +} + +#search-results-container { + padding: 10px; + width: 100%; + max-width: 850px; + max-height: calc(100vh - 70px); + right: 0; + position: absolute; + overflow-x: hidden; + overflow-y: scroll; + background-color: #fbfbfb; + border: 1px solid #CCC; + border-radius: 4px; + z-index: 500; + margin-top: -9px; + word-break: break-word; +} + +#search-status{ + padding-bottom:2px; +} + +#search-buttons{ + float: right; +} + +#search-buttons > span { + padding: 0.3em 0.4em 0.4em; +} + +#toggle-search-in-docstrings-checkbox{ + margin-top: -2.5px; + cursor: pointer; +} + +/* Constant values repr */ +pre.constant-value { padding: .5em; } +.rst-variable-linewrap { color: #604000; font-weight: bold; } +.rst-variable-ellipsis { color: #604000; font-weight: bold; } +.rst-variable-quote { color: #604000; font-weight: bold; } + +/* Those two are currently not used */ +.rst-variable-group { color: #000000; } +.rst-variable-op { color: #000000; } + +.rst-variable-string { color: #337ab7; } +.rst-variable-unknown { color: #a00000; font-weight: bold; } +.rst-re { color: #000000; } +.rst-re-char { color: #337ab7; } +.rst-re-op { color: #fc7844; } +.rst-re-group { color: #309078; } +.rst-re-ref { color: #890000; } + +/* highlight the targeted item with "#" */ +#childList a:target ~ .functionHeader, #childList a:target ~ .functionBody{ + background-color: rgb(253, 255, 223); +} +#childList a:target ~ .functionHeader{ + box-shadow: 0px 0px 0px 10px rgb(253, 255, 223); +} +#childList a:target ~ .functionBody{ + box-shadow: -2px -8px 0px 13px rgb(253 255 223); +} +/* in class hierarchy */ +#summaryTree a:target ~ div { + background-color: rgb(253, 255, 223); + box-shadow: 0px 0px 0px 7px rgb(253, 255, 223); +} +#summaryTree div { + display: inline-table; +} + +/* deprecations uses a orange text */ +.rst-deprecated > .rst-versionmodified{ + color:#aa6708; +} + +/* CSS for anchor links */ +.headerLink{ + display:none; + color:black; + float:right; + margin-left:5px; + padding-left:5px; + padding-right:5px; +} +@media (hover) { + /* See https://css-tricks.com/annoying-mobile-double-tap-link-issue/ */ + .headerLink:hover{ + text-decoration:none; + background-color: #ccc; + } + #childList > div:hover .headerLink{ + display:inline-block; + } +} +#childList a:target ~ .functionHeader .headerLink{ + display: inline-block +} diff --git a/docs/pydoc/bootstrap.min.css b/docs/pydoc/bootstrap.min.css new file mode 100644 index 00000000000..cd1c616ad86 --- /dev/null +++ b/docs/pydoc/bootstrap.min.css @@ -0,0 +1,5 @@ +/*! + * Bootstrap v3.3.4 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px \9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.form-group-sm .form-control{height:30px;line-height:30px}select[multiple].form-group-sm .form-control,textarea.form-group-sm .form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:5px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.form-group-lg .form-control{height:46px;line-height:46px}select[multiple].form-group-lg .form-control,textarea.form-group-lg .form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:10px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.33px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.active,.btn-default.focus,.btn-default:active,.btn-default:focus,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.active,.btn-primary.focus,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.active,.btn-success.focus,.btn-success:active,.btn-success:focus,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.active,.btn-info.focus,.btn-info:active,.btn-info:focus,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.active,.btn-warning.focus,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.active,.btn-danger.focus,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px)and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px 15px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding:48px 0}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.4;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.42857143;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;perspective:1000}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px)and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px)and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px)and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px)and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px)and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px)and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px)and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px)and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px)and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px)and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} \ No newline at end of file diff --git a/docs/pydoc/classIndex.html b/docs/pydoc/classIndex.html new file mode 100644 index 00000000000..eb582c909a9 --- /dev/null +++ b/docs/pydoc/classIndex.html @@ -0,0 +1,167 @@ + + + + + + + + Class Hierarchy + + + + + + + + + + + + + + + + +
+ + + + + +
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/extra.css b/docs/pydoc/extra.css new file mode 100644 index 00000000000..e69de29bb2d diff --git a/docs/pydoc/fonts/info.svg b/docs/pydoc/fonts/info.svg new file mode 100644 index 00000000000..8f48f86cbbb --- /dev/null +++ b/docs/pydoc/fonts/info.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/pydoc/fonts/x-circle.svg b/docs/pydoc/fonts/x-circle.svg new file mode 100644 index 00000000000..ce37cdc3658 --- /dev/null +++ b/docs/pydoc/fonts/x-circle.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/pydoc/fullsearchindex.json b/docs/pydoc/fullsearchindex.json new file mode 100644 index 00000000000..c6fdccac039 --- /dev/null +++ b/docs/pydoc/fullsearchindex.json @@ -0,0 +1 @@ +{"version": "2.3.9", "fields": ["name", "names", "qname", "docstring", "kind"], "fieldVectors": [["name/googleapiclient", [0, 58.117]], ["names/googleapiclient", [0, 11.946]], ["qname/googleapiclient", [0, 19.372]], ["docstring/googleapiclient", []], ["kind/googleapiclient", [1, -11.453]], ["name/googleapiclient._auth", [2, 68.284]], ["names/googleapiclient._auth", [3, 11.326]], ["qname/googleapiclient._auth", [4, 22.761]], ["docstring/googleapiclient._auth", [3, 9.657, 5, 10.186, 6, 11.968, 7, 5.775, 8, 10.893, 9, 9.657]], ["kind/googleapiclient._auth", [10, -7.566]], ["name/googleapiclient._helpers", [11, 68.284]], ["names/googleapiclient._helpers", [12, 14.036]], ["qname/googleapiclient._helpers", [13, 22.761]], ["docstring/googleapiclient._helpers", [5, 10.872, 7, 6.164, 14, 4.331, 15, 11.627, 16, 9.857]], ["kind/googleapiclient._helpers", [10, -7.566]], ["name/googleapiclient.channel", [17, 36.333]], ["names/googleapiclient.channel", [17, 7.468]], ["qname/googleapiclient.channel", [18, 22.761]], ["docstring/googleapiclient.channel", [7, 0.517, 14, 0.364, 17, 4.394, 19, 4.733, 20, 1.213, 21, 0.41, 22, 1.872, 23, 0.976, 24, 1.587, 25, 2.726, 26, 0.531, 27, 1.072, 28, 0.589, 29, 1.072, 30, 0.913, 31, 1.072, 32, 2.023, 33, 1.872, 34, 2.06, 35, 0.976, 36, 3.896, 37, 0.769, 38, 1.43, 39, 0.976, 40, 1.684, 41, 0.524, 42, 7.43, 43, 0.645, 44, 0.706, 45, 0.632, 46, 1.072, 47, 1.66, 48, 2.872, 49, 0.913, 50, 1.072, 51, 0.976, 52, 1.32, 53, 2.057, 54, 1.527, 55, 1.587, 56, 0.352, 57, 1.072, 58, 1.072, 59, 0.487, 60, 2.697, 61, 0.745, 62, 1.072, 63, 1.072, 64, 1.072, 65, 1.072, 66, 0.725, 67, 0.725, 68, 0.865, 69, 0.538, 70, 0.976, 71, 1.072, 72, 0.913, 73, 0.976, 74, 0.828, 75, 2.057, 76, 1.072, 77, 1.903, 78, 1.587, 79, 1.072, 80, 0.689, 81, 1.072, 82, 0.976, 83, 0.976, 84, 0.976, 85, 1.072, 86, 0.865, 87, 0.706, 88, 1.072, 89, 0.769, 90, 0.913, 91, 1.072, 92, 1.072, 93, 0.745, 94, 0.828, 95, 1.072, 96, 1.072, 97, 2.963, 98, 2.963, 99, 2.057, 100, 2.522, 101, 2.06, 102, 2.057, 103, 2.287, 104, 1.072, 105, 1.072, 106, 1.072]], ["kind/googleapiclient.channel", [10, -7.566]], ["name/googleapiclient.discovery", [107, 46.134]], ["names/googleapiclient.discovery", [107, 9.483]], ["qname/googleapiclient.discovery", [108, 22.761]], ["docstring/googleapiclient.discovery", [26, 6.852, 28, 7.597, 109, 11.773, 110, 8.003, 111, 7.374, 112, 9.556]], ["kind/googleapiclient.discovery", [10, -7.566]], ["name/googleapiclient.discovery_cache", [113, 68.284]], ["names/googleapiclient.discovery_cache", [107, 7.459, 114, 6.639]], ["qname/googleapiclient.discovery_cache", [115, 22.761]], ["docstring/googleapiclient.discovery_cache", [16, 10.569, 110, 7.925, 116, 8.593, 117, 8.236]], ["kind/googleapiclient.discovery_cache", [1, -11.453]], ["name/googleapiclient.discovery_cache.appengine_memcache", [118, 68.284]], ["names/googleapiclient.discovery_cache.appengine_memcache", [119, 11.041, 120, 11.041]], ["qname/googleapiclient.discovery_cache.appengine_memcache", [121, 22.761]], ["docstring/googleapiclient.discovery_cache.appengine_memcache", [26, 5.576, 93, 7.826, 110, 6.513, 116, 7.063, 117, 6.769, 122, 8.687, 123, 8.687]], ["kind/googleapiclient.discovery_cache.appengine_memcache", [10, -7.566]], ["name/googleapiclient.discovery_cache.base", [26, 33.824]], ["names/googleapiclient.discovery_cache.base", [26, 6.952]], ["qname/googleapiclient.discovery_cache.base", [124, 22.761]], ["docstring/googleapiclient.discovery_cache.base", [21, 4.88, 110, 7.391, 116, 8.014, 117, 7.681, 125, 10.872]], ["kind/googleapiclient.discovery_cache.base", [10, -7.566]], ["name/googleapiclient.discovery_cache.file_cache", [126, 68.284]], ["names/googleapiclient.discovery_cache.file_cache", [114, 6.639, 127, 6.51]], ["qname/googleapiclient.discovery_cache.file_cache", [128, 22.761]], ["docstring/googleapiclient.discovery_cache.file_cache", [26, 2.696, 36, 4.632, 110, 3.149, 116, 9.132, 117, 3.273, 127, 7.769, 129, 3.783, 130, 4.2, 131, 4.2, 132, 5.442, 133, 4.2, 134, 5.442, 135, 5.442, 136, 4.632, 137, 2.416, 138, 5.442, 139, 4.632, 140, 4.954]], ["kind/googleapiclient.discovery_cache.file_cache", [10, -7.566]], ["name/googleapiclient.errors", [141, 62.154]], ["names/googleapiclient.errors", [141, 12.776]], ["qname/googleapiclient.errors", [142, 22.761]], ["docstring/googleapiclient.errors", [111, 11.985, 127, 6.637, 143, 5.814, 144, 7.826, 145, 12.533]], ["kind/googleapiclient.errors", [10, -7.566]], ["name/googleapiclient.http", [146, 29.342]], ["names/googleapiclient.http", [146, 6.031]], ["qname/googleapiclient.http", [147, 20.718]], ["docstring/googleapiclient.http", [20, 4.326, 21, 4.336, 56, 1.257, 74, 5.662, 129, 5.101, 146, 4.877, 148, 6.679, 149, 4.296, 150, 7.337, 151, 6.245, 152, 3.056, 153, 5.662, 154, 4.957]], ["kind/googleapiclient.http", [10, -7.566]], ["name/googleapiclient.mimeparse", [155, 62.154]], ["names/googleapiclient.mimeparse", [155, 12.776]], ["qname/googleapiclient.mimeparse", [156, 22.761]], ["docstring/googleapiclient.mimeparse", [14, 0.776, 87, 2.76, 94, 1.766, 100, 3.57, 137, 1.016, 144, 1.591, 146, 0.984, 157, 6.644, 158, 4.811, 159, 2.289, 160, 1.847, 161, 1.766, 162, 2.084, 163, 1.642, 164, 3.385, 165, 3.491, 166, 2.522, 167, 4.164, 168, 1.847, 169, 2.289, 170, 2.289, 171, 2.289, 172, 2.289, 173, 1.766, 174, 2.289, 175, 2.289, 176, 2.289, 177, 2.289, 178, 1.948, 179, 1.948, 180, 1.948, 181, 2.289, 182, 2.289, 183, 4.164, 184, 6.467, 185, 2.051, 186, 2.084, 187, 1.948, 188, 2.084, 189, 2.289, 190, 2.289, 191, 2.084, 192, 2.289, 193, 2.084, 194, 2.084]], ["kind/googleapiclient.mimeparse", [10, -7.566]], ["name/googleapiclient.model", [195, 38.803]], ["names/googleapiclient.model", [195, 7.976]], ["qname/googleapiclient.model", [196, 22.761]], ["docstring/googleapiclient.model", [20, 3.304, 21, 2.141, 28, 3.078, 37, 4.018, 149, 2.121, 152, 3.814, 195, 5.204, 197, 4.258, 198, 3.895, 199, 4.769, 200, 4.521, 201, 3.242, 202, 3.895, 203, 2.775, 204, 5.603, 205, 5.603, 206, 3.597, 207, 4.521, 208, 4.159, 209, 2.894, 210, 3.687]], ["kind/googleapiclient.model", [10, -7.566]], ["name/googleapiclient.sample_tools", [211, 68.284]], ["names/googleapiclient.sample_tools", [212, 11.041, 213, 11.041]], ["qname/googleapiclient.sample_tools", [214, 22.761]], ["docstring/googleapiclient.sample_tools", [15, 8.698, 16, 7.374, 25, 6.853, 215, 8.133, 216, 12.59, 217, 8.698, 218, 9.556, 219, 8.133, 220, 7.374]], ["kind/googleapiclient.sample_tools", [10, -7.566]], ["name/googleapiclient.schema", [221, 36.905]], ["names/googleapiclient.schema", [221, 7.586]], ["qname/googleapiclient.schema", [222, 22.761]], ["docstring/googleapiclient.schema", [7, 1.382, 23, 1.383, 26, 0.752, 28, 1.573, 34, 1.056, 40, 0.863, 42, 4.148, 48, 1.797, 59, 0.69, 110, 2.351, 117, 0.913, 131, 1.172, 136, 2.438, 152, 1.693, 158, 3.252, 203, 0.752, 221, 4.61, 223, 1.293, 224, 1.026, 225, 1.172, 226, 1.839, 227, 1.056, 228, 1.293, 229, 0.913, 230, 1.519, 231, 1.519, 232, 6.365, 233, 1.383, 234, 5.141, 235, 3.464, 236, 2.825, 237, 5.141, 238, 4.064, 239, 2.864, 240, 1.519, 241, 0.879, 242, 1.519, 243, 2.864, 244, 2.126, 245, 2.054, 246, 2.311, 247, 4.148, 248, 2.864, 249, 2.864, 250, 2.607, 251, 3.699, 252, 1.519, 253, 1.519, 254, 1.519, 255, 1.519, 256, 1.383, 257, 1.293, 258, 1.226, 259, 1.519, 260, 0.808, 261, 1.293, 262, 1.383, 263, 0.773]], ["kind/googleapiclient.schema", [10, -7.566]], ["name/googleapiclient.version", [264, 41.918]], ["names/googleapiclient.version", [264, 8.616]], ["qname/googleapiclient.version", [265, 22.761]], ["docstring/googleapiclient.version", []], ["kind/googleapiclient.version", [10, -7.566]], ["name/googleapiclient._auth.HAS_GOOGLE_AUTH", [266, 34.142]], ["names/googleapiclient._auth.HAS_GOOGLE_AUTH", [3, 3.671, 267, 3.511, 268, 3.671]], ["qname/googleapiclient._auth.HAS_GOOGLE_AUTH", [269, 11.381]], ["docstring/googleapiclient._auth.HAS_GOOGLE_AUTH", []], ["kind/googleapiclient._auth.HAS_GOOGLE_AUTH", [270, -1.189]], ["name/googleapiclient._auth.HAS_OAUTH2CLIENT", [271, 34.142]], ["names/googleapiclient._auth.HAS_OAUTH2CLIENT", [8, 5.025, 267, 4.26]], ["qname/googleapiclient._auth.HAS_OAUTH2CLIENT", [272, 11.381]], ["docstring/googleapiclient._auth.HAS_OAUTH2CLIENT", []], ["kind/googleapiclient._auth.HAS_OAUTH2CLIENT", [270, -1.189]], ["name/googleapiclient._auth.credentials_from_file", [273, 34.142]], ["names/googleapiclient._auth.credentials_from_file", [127, 2.682, 274, 2.994, 275, 3.074]], ["qname/googleapiclient._auth.credentials_from_file", [276, 11.381]], ["docstring/googleapiclient._auth.credentials_from_file", [59, 3.11, 127, 4.038, 277, 4.911, 278, 5.828]], ["kind/googleapiclient._auth.credentials_from_file", [14, -2.133]], ["name/googleapiclient._auth.default_credentials", [279, 34.142]], ["names/googleapiclient._auth.default_credentials", [241, 3.194, 274, 3.633]], ["qname/googleapiclient._auth.default_credentials", [280, 11.381]], ["docstring/googleapiclient._auth.default_credentials", [59, 3.11, 220, 5.284, 241, 3.962, 277, 4.911]], ["kind/googleapiclient._auth.default_credentials", [14, -2.133]], ["name/googleapiclient._auth.with_scopes", [281, 34.142]], ["names/googleapiclient._auth.with_scopes", [282, 5.025, 283, 5.52]], ["qname/googleapiclient._auth.with_scopes", [284, 11.381]], ["docstring/googleapiclient._auth.with_scopes", [277, 5.293, 285, 7.381, 286, 6.718]], ["kind/googleapiclient._auth.with_scopes", [14, -2.133]], ["name/googleapiclient._auth.authorized_http", [287, 34.142]], ["names/googleapiclient._auth.authorized_http", [146, 2.372, 288, 5.52]], ["qname/googleapiclient._auth.authorized_http", [289, 11.381]], ["docstring/googleapiclient._auth.authorized_http", [59, 2.718, 109, 5.093, 146, 2.571, 229, 3.598, 277, 4.291, 290, 4.16]], ["kind/googleapiclient._auth.authorized_http", [14, -2.133]], ["name/googleapiclient._auth.refresh_credentials", [291, 34.142]], ["names/googleapiclient._auth.refresh_credentials", [274, 3.633, 292, 4.698]], ["qname/googleapiclient._auth.refresh_credentials", [293, 11.381]], ["docstring/googleapiclient._auth.refresh_credentials", []], ["kind/googleapiclient._auth.refresh_credentials", [14, -2.133]], ["name/googleapiclient._auth.apply_credentials", [294, 34.142]], ["names/googleapiclient._auth.apply_credentials", [274, 3.633, 295, 5.025]], ["qname/googleapiclient._auth.apply_credentials", [296, 11.381]], ["docstring/googleapiclient._auth.apply_credentials", []], ["kind/googleapiclient._auth.apply_credentials", [14, -2.133]], ["name/googleapiclient._auth.is_valid", [297, 34.142]], ["names/googleapiclient._auth.is_valid", [89, 3.959, 298, 5.025]], ["qname/googleapiclient._auth.is_valid", [299, 11.381]], ["docstring/googleapiclient._auth.is_valid", []], ["kind/googleapiclient._auth.is_valid", [14, -2.133]], ["name/googleapiclient._auth.get_credentials_from_http", [300, 34.142]], ["names/googleapiclient._auth.get_credentials_from_http", [45, 2.281, 146, 1.663, 274, 2.546, 275, 2.614]], ["qname/googleapiclient._auth.get_credentials_from_http", [301, 11.381]], ["docstring/googleapiclient._auth.get_credentials_from_http", []], ["kind/googleapiclient._auth.get_credentials_from_http", [14, -2.133]], ["name/googleapiclient._helpers.logger", [302, 20.53]], ["names/googleapiclient._helpers.logger", [302, 4.22]], ["qname/googleapiclient._helpers.logger", [303, 11.381]], ["docstring/googleapiclient._helpers.logger", []], ["kind/googleapiclient._helpers.logger", [270, -1.189]], ["name/googleapiclient._helpers.POSITIONAL_WARNING", [304, 34.142]], ["names/googleapiclient._helpers.POSITIONAL_WARNING", [305, 4.098, 306, 5.52]], ["qname/googleapiclient._helpers.POSITIONAL_WARNING", [307, 11.381]], ["docstring/googleapiclient._helpers.POSITIONAL_WARNING", []], ["kind/googleapiclient._helpers.POSITIONAL_WARNING", [308, -2.426]], ["name/googleapiclient._helpers.POSITIONAL_EXCEPTION", [309, 34.142]], ["names/googleapiclient._helpers.POSITIONAL_EXCEPTION", [305, 4.098, 310, 3.194]], ["qname/googleapiclient._helpers.POSITIONAL_EXCEPTION", [311, 11.381]], ["docstring/googleapiclient._helpers.POSITIONAL_EXCEPTION", []], ["kind/googleapiclient._helpers.POSITIONAL_EXCEPTION", [308, -2.426]], ["name/googleapiclient._helpers.POSITIONAL_IGNORE", [312, 34.142]], ["names/googleapiclient._helpers.POSITIONAL_IGNORE", [305, 4.098, 313, 5.52]], ["qname/googleapiclient._helpers.POSITIONAL_IGNORE", [314, 11.381]], ["docstring/googleapiclient._helpers.POSITIONAL_IGNORE", []], ["kind/googleapiclient._helpers.POSITIONAL_IGNORE", [308, -2.426]], ["name/googleapiclient._helpers.POSITIONAL_SET", [315, 34.142]], ["names/googleapiclient._helpers.POSITIONAL_SET", [41, 2.699, 305, 4.098]], ["qname/googleapiclient._helpers.POSITIONAL_SET", [316, 11.381]], ["docstring/googleapiclient._helpers.POSITIONAL_SET", []], ["kind/googleapiclient._helpers.POSITIONAL_SET", [308, -2.426]], ["name/googleapiclient._helpers._SYM_LINK_MESSAGE", [317, 34.142]], ["names/googleapiclient._helpers._SYM_LINK_MESSAGE", [318, 4.55, 319, 3.872, 320, 3.511]], ["qname/googleapiclient._helpers._SYM_LINK_MESSAGE", [321, 11.381]], ["docstring/googleapiclient._helpers._SYM_LINK_MESSAGE", []], ["kind/googleapiclient._helpers._SYM_LINK_MESSAGE", [308, -2.426]], ["name/googleapiclient._helpers._IS_DIR_MESSAGE", [322, 34.142]], ["names/googleapiclient._helpers._IS_DIR_MESSAGE", [298, 4.141, 320, 3.511, 323, 4.141]], ["qname/googleapiclient._helpers._IS_DIR_MESSAGE", [324, 11.381]], ["docstring/googleapiclient._helpers._IS_DIR_MESSAGE", []], ["kind/googleapiclient._helpers._IS_DIR_MESSAGE", [308, -2.426]], ["name/googleapiclient._helpers._MISSING_FILE_MESSAGE", [325, 34.142]], ["names/googleapiclient._helpers._MISSING_FILE_MESSAGE", [127, 2.682, 320, 3.511, 326, 4.55]], ["qname/googleapiclient._helpers._MISSING_FILE_MESSAGE", [327, 11.381]], ["docstring/googleapiclient._helpers._MISSING_FILE_MESSAGE", []], ["kind/googleapiclient._helpers._MISSING_FILE_MESSAGE", [308, -2.426]], ["name/googleapiclient._helpers.positional", [305, 25.344]], ["names/googleapiclient._helpers.positional", [305, 5.209]], ["qname/googleapiclient._helpers.positional", [328, 11.381]], ["docstring/googleapiclient._helpers.positional", [14, 0.246, 20, 0.427, 21, 0.523, 38, 0.504, 40, 0.779, 41, 0.354, 42, 2.374, 56, 0.124, 60, 2.678, 69, 0.364, 83, 0.66, 90, 0.617, 144, 1.717, 145, 1.106, 161, 0.559, 185, 0.952, 209, 0.708, 215, 0.617, 241, 0.419, 263, 0.369, 329, 1.949, 330, 1.37, 331, 0.725, 332, 1.658, 333, 1.37, 334, 0.617, 335, 1.37, 336, 0.725, 337, 2.942, 338, 0.66, 339, 0.725, 340, 2.678, 341, 1.37, 342, 0.725, 343, 1.37, 344, 1.37, 345, 0.585, 346, 1.37, 347, 0.725, 348, 0.725, 349, 1.833, 350, 0.725, 351, 1.247, 352, 0.725, 353, 0.725, 354, 0.725, 355, 0.66, 356, 0.725, 357, 0.725, 358, 0.725, 359, 0.725, 360, 0.725, 361, 0.52, 362, 0.725, 363, 0.725, 364, 0.725, 365, 0.725, 366, 0.66, 367, 0.725, 368, 1.37, 369, 0.725, 370, 1.37, 371, 1.37, 372, 0.725, 373, 0.725, 374, 0.585, 375, 0.617, 376, 0.725, 377, 1.166, 378, 0.725, 379, 0.725, 380, 0.725, 381, 0.559, 382, 0.725, 383, 0.725, 384, 0.725, 385, 0.725]], ["kind/googleapiclient._helpers.positional", [14, -2.133]], ["name/googleapiclient._helpers.parse_unique_urlencoded", [386, 34.142]], ["names/googleapiclient._helpers.parse_unique_urlencoded", [387, 3.872, 388, 4.55, 389, 4.55]], ["qname/googleapiclient._helpers.parse_unique_urlencoded", [390, 11.381]], ["docstring/googleapiclient._helpers.parse_unique_urlencoded", [52, 3.614, 69, 2.826, 87, 3.704, 137, 2.499, 185, 2.751, 391, 4.542, 392, 5.629]], ["kind/googleapiclient._helpers.parse_unique_urlencoded", [14, -2.133]], ["name/googleapiclient._helpers.update_query_params", [393, 34.142]], ["names/googleapiclient._helpers.update_query_params", [394, 3.872, 395, 3.377, 396, 2.994]], ["qname/googleapiclient._helpers.update_query_params", [397, 11.381]], ["docstring/googleapiclient._helpers.update_query_params", [44, 1.693, 52, 1.652, 67, 1.739, 69, 2.144, 89, 1.846, 103, 1.986, 143, 1.329, 185, 2.087, 198, 1.789, 219, 2.19, 229, 1.547, 377, 2.19, 398, 3.288, 399, 3.169, 400, 2.884, 401, 2.573, 402, 1.91, 403, 2.19, 404, 2.077, 405, 2.342]], ["kind/googleapiclient._helpers.update_query_params", [14, -2.133]], ["name/googleapiclient._helpers._add_query_parameter", [406, 34.142]], ["names/googleapiclient._helpers._add_query_parameter", [395, 3.377, 407, 2.736, 408, 3.511]], ["qname/googleapiclient._helpers._add_query_parameter", [409, 11.381]], ["docstring/googleapiclient._helpers._add_query_parameter", [69, 2.399, 103, 3.687, 185, 2.336, 399, 3.547, 404, 3.855, 407, 2.873, 410, 4.808, 411, 4.778, 412, 3.855]], ["kind/googleapiclient._helpers._add_query_parameter", [14, -2.133]], ["name/googleapiclient.errors.__author__", [413, 24.486]], ["names/googleapiclient.errors.__author__", [290, 4.879]], ["qname/googleapiclient.errors.__author__", [414, 11.381]], ["docstring/googleapiclient.errors.__author__", []], ["kind/googleapiclient.errors.__author__", [270, -1.189]], ["name/googleapiclient.errors.Error", [143, 35.266]], ["names/googleapiclient.errors.Error", [143, 7.249]], ["qname/googleapiclient.errors.Error", [415, 22.761]], ["docstring/googleapiclient.errors.Error", [26, 7.312, 143, 7.624, 160, 11.912]], ["kind/googleapiclient.errors.Error", [310, -7.281]], ["name/googleapiclient.errors.HttpError", [416, 68.284]], ["names/googleapiclient.errors.HttpError", [143, 5.702, 146, 4.744]], ["qname/googleapiclient.errors.HttpError", [417, 22.761]], ["docstring/googleapiclient.errors.HttpError", [146, 5.885, 402, 10.167, 418, 9.013, 419, 10.569]], ["kind/googleapiclient.errors.HttpError", [310, -7.281]], ["name/googleapiclient.errors.HttpError.__init__", [420, 16.476]], ["names/googleapiclient.errors.HttpError.__init__", [421, 3.303]], ["qname/googleapiclient.errors.HttpError.__init__", [422, 11.381]], ["docstring/googleapiclient.errors.HttpError.__init__", []], ["kind/googleapiclient.errors.HttpError.__init__", [56, -1.078]], ["name/googleapiclient.errors.HttpError.resp", [61, 23.735]], ["names/googleapiclient.errors.HttpError.resp", [61, 4.879]], ["qname/googleapiclient.errors.HttpError.resp", [423, 11.381]], ["docstring/googleapiclient.errors.HttpError.resp", []], ["kind/googleapiclient.errors.HttpError.resp", [270, -0.883, 424, -0.999]], ["name/googleapiclient.errors.HttpError.content", [137, 15.158]], ["names/googleapiclient.errors.HttpError.content", [137, 3.116]], ["qname/googleapiclient.errors.HttpError.content", [425, 11.381]], ["docstring/googleapiclient.errors.HttpError.content", []], ["kind/googleapiclient.errors.HttpError.content", [270, -0.883, 424, -0.999]], ["name/googleapiclient.errors.HttpError.uri", [398, 17.633]], ["names/googleapiclient.errors.HttpError.uri", [398, 3.624]], ["qname/googleapiclient.errors.HttpError.uri", [426, 11.381]], ["docstring/googleapiclient.errors.HttpError.uri", []], ["kind/googleapiclient.errors.HttpError.uri", [270, -0.883, 424, -0.999]], ["name/googleapiclient.errors.HttpError.error_details", [427, 34.142]], ["names/googleapiclient.errors.HttpError.error_details", [143, 2.851, 428, 5.52]], ["qname/googleapiclient.errors.HttpError.error_details", [429, 11.381]], ["docstring/googleapiclient.errors.HttpError.error_details", []], ["kind/googleapiclient.errors.HttpError.error_details", [270, -0.883, 424, -0.999]], ["name/googleapiclient.errors.HttpError.reason", [430, 25.344]], ["names/googleapiclient.errors.HttpError.reason", [430, 5.209]], ["qname/googleapiclient.errors.HttpError.reason", [431, 11.381]], ["docstring/googleapiclient.errors.HttpError.reason", []], ["kind/googleapiclient.errors.HttpError.reason", [270, -0.883, 424, -0.999]], ["name/googleapiclient.errors.HttpError.status_code", [432, 34.142]], ["names/googleapiclient.errors.HttpError.status_code", [25, 3.959, 433, 5.52]], ["qname/googleapiclient.errors.HttpError.status_code", [434, 11.381]], ["docstring/googleapiclient.errors.HttpError.status_code", [25, 4.291, 59, 2.718, 137, 2.657, 146, 2.571, 197, 2.782, 435, 4.442]], ["kind/googleapiclient.errors.HttpError.status_code", [436, -4.855]], ["name/googleapiclient.errors.HttpError._get_reason", [437, 34.142]], ["names/googleapiclient.errors.HttpError._get_reason", [45, 3.255, 430, 4.098]], ["qname/googleapiclient.errors.HttpError._get_reason", [438, 11.381]], ["docstring/googleapiclient.errors.HttpError._get_reason", [137, 2.835, 143, 3.299, 197, 2.97, 430, 4.741, 439, 6.387]], ["kind/googleapiclient.errors.HttpError._get_reason", [56, -1.078]], ["name/googleapiclient.errors.HttpError.__repr__", [440, 31.077]], ["names/googleapiclient.errors.HttpError.__repr__", [441, 6.388]], ["qname/googleapiclient.errors.HttpError.__repr__", [442, 11.381]], ["docstring/googleapiclient.errors.HttpError.__repr__", []], ["kind/googleapiclient.errors.HttpError.__repr__", [56, -1.078]], ["name/googleapiclient.errors.InvalidJsonError", [443, 68.284]], ["names/googleapiclient.errors.InvalidJsonError", [143, 4.699, 203, 4.507, 402, 6.755]], ["qname/googleapiclient.errors.InvalidJsonError", [444, 22.761]], ["docstring/googleapiclient.errors.InvalidJsonError", [59, 6.704, 87, 9.714, 203, 7.312]], ["kind/googleapiclient.errors.InvalidJsonError", [310, -7.281]], ["name/googleapiclient.errors.UnknownFileType", [445, 68.284]], ["names/googleapiclient.errors.UnknownFileType", [127, 5.365, 158, 4.231, 446, 7.022]], ["qname/googleapiclient.errors.UnknownFileType", [447, 22.761]], ["docstring/googleapiclient.errors.UnknownFileType", [127, 8.075, 158, 6.368, 419, 10.569, 446, 10.569]], ["kind/googleapiclient.errors.UnknownFileType", [310, -7.281]], ["name/googleapiclient.errors.UnknownLinkType", [448, 68.284]], ["names/googleapiclient.errors.UnknownLinkType", [158, 4.231, 319, 7.744, 446, 7.022]], ["qname/googleapiclient.errors.UnknownLinkType", [449, 22.761]], ["docstring/googleapiclient.errors.UnknownLinkType", [158, 6.368, 319, 11.657, 419, 10.569, 446, 10.569]], ["kind/googleapiclient.errors.UnknownLinkType", [310, -7.281]], ["name/googleapiclient.errors.UnknownApiNameOrVersion", [450, 68.284]], ["names/googleapiclient.errors.UnknownApiNameOrVersion", [28, 3.697, 263, 3.427, 264, 4.132, 446, 5.195, 451, 6.127]], ["qname/googleapiclient.errors.UnknownApiNameOrVersion", [452, 22.761]], ["docstring/googleapiclient.errors.UnknownApiNameOrVersion", [28, 7.523, 103, 10.569, 263, 6.973, 264, 8.408]], ["kind/googleapiclient.errors.UnknownApiNameOrVersion", [310, -7.281]], ["name/googleapiclient.errors.UnacceptableMimeTypeError", [453, 68.284]], ["names/googleapiclient.errors.UnacceptableMimeTypeError", [143, 3.997, 157, 4.969, 158, 3.598, 454, 7.739]], ["qname/googleapiclient.errors.UnacceptableMimeTypeError", [455, 22.761]], ["docstring/googleapiclient.errors.UnacceptableMimeTypeError", [456, 14.762, 457, 14.762, 458, 13.437]], ["kind/googleapiclient.errors.UnacceptableMimeTypeError", [310, -7.281]], ["name/googleapiclient.errors.MediaUploadSizeError", [459, 68.284]], ["names/googleapiclient.errors.MediaUploadSizeError", [143, 3.997, 166, 3.361, 460, 3.687, 461, 4.056]], ["qname/googleapiclient.errors.MediaUploadSizeError", [462, 22.761]], ["docstring/googleapiclient.errors.MediaUploadSizeError", [56, 2.346, 166, 5.949, 463, 11.657, 464, 8.236]], ["kind/googleapiclient.errors.MediaUploadSizeError", [310, -7.281]], ["name/googleapiclient.errors.ResumableUploadError", [465, 68.284]], ["names/googleapiclient.errors.ResumableUploadError", [143, 4.699, 460, 4.336, 466, 5.709]], ["qname/googleapiclient.errors.ResumableUploadError", [467, 22.761]], ["docstring/googleapiclient.errors.ResumableUploadError", [143, 6.597, 403, 10.872, 460, 6.087, 468, 11.627, 469, 8.88]], ["kind/googleapiclient.errors.ResumableUploadError", [310, -7.281]], ["name/googleapiclient.errors.InvalidChunkSizeError", [470, 68.284]], ["names/googleapiclient.errors.InvalidChunkSizeError", [143, 3.997, 402, 5.744, 461, 4.056, 471, 4.969]], ["qname/googleapiclient.errors.InvalidChunkSizeError", [472, 22.761]], ["docstring/googleapiclient.errors.InvalidChunkSizeError", [89, 10.587, 229, 8.877, 473, 11.912]], ["kind/googleapiclient.errors.InvalidChunkSizeError", [310, -7.281]], ["name/googleapiclient.errors.InvalidNotificationError", [474, 68.284]], ["names/googleapiclient.errors.InvalidNotificationError", [143, 4.699, 402, 6.755, 475, 7.343]], ["qname/googleapiclient.errors.InvalidNotificationError", [476, 22.761]], ["docstring/googleapiclient.errors.InvalidNotificationError", [17, 7.855, 19, 10.587, 402, 10.958]], ["kind/googleapiclient.errors.InvalidNotificationError", [310, -7.281]], ["name/googleapiclient.errors.BatchError", [477, 68.284]], ["names/googleapiclient.errors.BatchError", [143, 5.702, 478, 7.459]], ["qname/googleapiclient.errors.BatchError", [479, 22.761]], ["docstring/googleapiclient.errors.BatchError", [143, 6.597, 403, 10.872, 458, 11.627, 468, 11.627, 478, 8.63]], ["kind/googleapiclient.errors.BatchError", [310, -7.281]], ["name/googleapiclient.errors.BatchError.__init__", [420, 16.476]], ["names/googleapiclient.errors.BatchError.__init__", [421, 3.303]], ["qname/googleapiclient.errors.BatchError.__init__", [480, 11.381]], ["docstring/googleapiclient.errors.BatchError.__init__", []], ["kind/googleapiclient.errors.BatchError.__init__", [56, -1.078]], ["name/googleapiclient.errors.BatchError.resp", [61, 23.735]], ["names/googleapiclient.errors.BatchError.resp", [61, 4.879]], ["qname/googleapiclient.errors.BatchError.resp", [481, 11.381]], ["docstring/googleapiclient.errors.BatchError.resp", []], ["kind/googleapiclient.errors.BatchError.resp", [270, -0.883, 424, -0.999]], ["name/googleapiclient.errors.BatchError.content", [137, 15.158]], ["names/googleapiclient.errors.BatchError.content", [137, 3.116]], ["qname/googleapiclient.errors.BatchError.content", [482, 11.381]], ["docstring/googleapiclient.errors.BatchError.content", []], ["kind/googleapiclient.errors.BatchError.content", [270, -0.883, 424, -0.999]], ["name/googleapiclient.errors.BatchError.reason", [430, 25.344]], ["names/googleapiclient.errors.BatchError.reason", [430, 5.209]], ["qname/googleapiclient.errors.BatchError.reason", [483, 11.381]], ["docstring/googleapiclient.errors.BatchError.reason", []], ["kind/googleapiclient.errors.BatchError.reason", [270, -0.883, 424, -0.999]], ["name/googleapiclient.errors.BatchError.__repr__", [440, 31.077]], ["names/googleapiclient.errors.BatchError.__repr__", [441, 6.388]], ["qname/googleapiclient.errors.BatchError.__repr__", [484, 11.381]], ["docstring/googleapiclient.errors.BatchError.__repr__", []], ["kind/googleapiclient.errors.BatchError.__repr__", [56, -1.078]], ["name/googleapiclient.errors.UnexpectedMethodError", [485, 55.101]], ["names/googleapiclient.errors.UnexpectedMethodError", [56, 1.559, 143, 4.699, 486, 7.744]], ["qname/googleapiclient.errors.UnexpectedMethodError", [487, 22.761]], ["docstring/googleapiclient.errors.UnexpectedMethodError", [38, 8.88, 144, 8.88, 349, 9.482, 419, 9.857, 488, 9.857]], ["kind/googleapiclient.errors.UnexpectedMethodError", [310, -7.281]], ["name/googleapiclient.errors.UnexpectedMethodError.__init__", [420, 16.476]], ["names/googleapiclient.errors.UnexpectedMethodError.__init__", [421, 3.303]], ["qname/googleapiclient.errors.UnexpectedMethodError.__init__", [489, 11.381]], ["docstring/googleapiclient.errors.UnexpectedMethodError.__init__", [260, 4.259, 485, 6.459]], ["kind/googleapiclient.errors.UnexpectedMethodError.__init__", [56, -1.078]], ["name/googleapiclient.errors.UnexpectedBodyError", [490, 62.154]], ["names/googleapiclient.errors.UnexpectedBodyError", [143, 4.699, 486, 7.744, 491, 5.988]], ["qname/googleapiclient.errors.UnexpectedBodyError", [492, 22.761]], ["docstring/googleapiclient.errors.UnexpectedBodyError", [144, 8.88, 349, 9.482, 419, 9.857, 488, 9.857, 493, 7.841]], ["kind/googleapiclient.errors.UnexpectedBodyError", [310, -7.281]], ["name/googleapiclient.errors.UnexpectedBodyError.__init__", [420, 16.476]], ["names/googleapiclient.errors.UnexpectedBodyError.__init__", [421, 3.303]], ["qname/googleapiclient.errors.UnexpectedBodyError.__init__", [494, 11.381]], ["docstring/googleapiclient.errors.UnexpectedBodyError.__init__", [260, 4.259, 485, 6.459]], ["kind/googleapiclient.errors.UnexpectedBodyError.__init__", [56, -1.078]], ["name/googleapiclient.channel.EPOCH", [495, 26.346]], ["names/googleapiclient.channel.EPOCH", [495, 5.415]], ["qname/googleapiclient.channel.EPOCH", [496, 11.381]], ["docstring/googleapiclient.channel.EPOCH", []], ["kind/googleapiclient.channel.EPOCH", [308, -2.426]], ["name/googleapiclient.channel.CHANNEL_PARAMS", [497, 34.142]], ["names/googleapiclient.channel.CHANNEL_PARAMS", [17, 2.937, 396, 3.633]], ["qname/googleapiclient.channel.CHANNEL_PARAMS", [498, 11.381]], ["docstring/googleapiclient.channel.CHANNEL_PARAMS", []], ["kind/googleapiclient.channel.CHANNEL_PARAMS", [308, -2.426]], ["name/googleapiclient.channel.X_GOOG_CHANNEL_ID", [499, 34.142]], ["names/googleapiclient.channel.X_GOOG_CHANNEL_ID", [17, 2.059, 32, 2.059, 500, 2.986, 501, 2.986]], ["qname/googleapiclient.channel.X_GOOG_CHANNEL_ID", [502, 11.381]], ["docstring/googleapiclient.channel.X_GOOG_CHANNEL_ID", []], ["kind/googleapiclient.channel.X_GOOG_CHANNEL_ID", [308, -2.426]], ["name/googleapiclient.channel.X_GOOG_MESSAGE_NUMBER", [503, 34.142]], ["names/googleapiclient.channel.X_GOOG_MESSAGE_NUMBER", [320, 2.986, 500, 2.986, 501, 2.986, 504, 2.986]], ["qname/googleapiclient.channel.X_GOOG_MESSAGE_NUMBER", [505, 11.381]], ["docstring/googleapiclient.channel.X_GOOG_MESSAGE_NUMBER", []], ["kind/googleapiclient.channel.X_GOOG_MESSAGE_NUMBER", [308, -2.426]], ["name/googleapiclient.channel.X_GOOG_RESOURCE_STATE", [506, 34.142]], ["names/googleapiclient.channel.X_GOOG_RESOURCE_STATE", [101, 2.69, 500, 2.986, 501, 2.986, 507, 2.484]], ["qname/googleapiclient.channel.X_GOOG_RESOURCE_STATE", [508, 11.381]], ["docstring/googleapiclient.channel.X_GOOG_RESOURCE_STATE", []], ["kind/googleapiclient.channel.X_GOOG_RESOURCE_STATE", [308, -2.426]], ["name/googleapiclient.channel.X_GOOG_RESOURCE_URI", [509, 34.142]], ["names/googleapiclient.channel.X_GOOG_RESOURCE_URI", [398, 1.998, 500, 2.986, 501, 2.986, 507, 2.484]], ["qname/googleapiclient.channel.X_GOOG_RESOURCE_URI", [510, 11.381]], ["docstring/googleapiclient.channel.X_GOOG_RESOURCE_URI", []], ["kind/googleapiclient.channel.X_GOOG_RESOURCE_URI", [308, -2.426]], ["name/googleapiclient.channel.X_GOOG_RESOURCE_ID", [511, 34.142]], ["names/googleapiclient.channel.X_GOOG_RESOURCE_ID", [32, 2.059, 500, 2.986, 501, 2.986, 507, 2.484]], ["qname/googleapiclient.channel.X_GOOG_RESOURCE_ID", [512, 11.381]], ["docstring/googleapiclient.channel.X_GOOG_RESOURCE_ID", []], ["kind/googleapiclient.channel.X_GOOG_RESOURCE_ID", [308, -2.426]], ["name/googleapiclient.channel._upper_header_keys", [513, 34.142]], ["names/googleapiclient.channel._upper_header_keys", [77, 2.921, 84, 4.141, 514, 4.55]], ["qname/googleapiclient.channel._upper_header_keys", [515, 11.381]], ["docstring/googleapiclient.channel._upper_header_keys", []], ["kind/googleapiclient.channel._upper_header_keys", [14, -2.133]], ["name/googleapiclient.channel.Notification", [475, 55.101]], ["names/googleapiclient.channel.Notification", [475, 11.326]], ["qname/googleapiclient.channel.Notification", [516, 22.761]], ["docstring/googleapiclient.channel.Notification", [14, 3.411, 17, 5.354, 19, 10.295, 59, 4.57, 517, 9.159, 518, 6.313, 519, 8.12, 520, 10.063]], ["kind/googleapiclient.channel.Notification", [21, -4.807]], ["name/googleapiclient.channel.Notification.message_number", [521, 34.142]], ["names/googleapiclient.channel.Notification.message_number", [320, 4.26, 504, 4.26]], ["qname/googleapiclient.channel.Notification.message_number", [522, 11.381]], ["docstring/googleapiclient.channel.Notification.message_number", [19, 4.58, 32, 3.398, 391, 5.154, 504, 4.929, 523, 5.813]], ["kind/googleapiclient.channel.Notification.message_number", [270, -0.883, 424, -0.999]], ["name/googleapiclient.channel.Notification.state", [101, 23.735]], ["names/googleapiclient.channel.Notification.state", [101, 4.879]], ["qname/googleapiclient.channel.Notification.state", [524, 11.381]], ["docstring/googleapiclient.channel.Notification.state", [66, 4.315, 101, 4.44, 525, 4.007, 526, 3.766, 527, 5.813]], ["kind/googleapiclient.channel.Notification.state", [270, -0.883, 424, -0.999]], ["name/googleapiclient.channel.Notification.uri", [398, 17.633]], ["names/googleapiclient.channel.Notification.uri", [398, 3.624]], ["qname/googleapiclient.channel.Notification.uri", [528, 11.381]], ["docstring/googleapiclient.channel.Notification.uri", [66, 4.315, 525, 4.007, 526, 3.766, 527, 5.813, 529, 4.929]], ["kind/googleapiclient.channel.Notification.uri", [270, -0.883, 424, -0.999]], ["name/googleapiclient.channel.Notification.resource_id", [68, 27.55]], ["names/googleapiclient.channel.Notification.resource_id", [32, 2.937, 507, 3.544]], ["qname/googleapiclient.channel.Notification.resource_id", [530, 11.381]], ["docstring/googleapiclient.channel.Notification.resource_id", [264, 3.673, 391, 4.829, 525, 3.754, 526, 3.528, 531, 5.447, 532, 5.093]], ["kind/googleapiclient.channel.Notification.resource_id", [270, -0.883, 424, -0.999]], ["name/googleapiclient.channel.Notification.__init__", [420, 16.476]], ["names/googleapiclient.channel.Notification.__init__", [421, 3.303]], ["qname/googleapiclient.channel.Notification.__init__", [533, 11.381]], ["docstring/googleapiclient.channel.Notification.__init__", [19, 5.74, 260, 4.259]], ["kind/googleapiclient.channel.Notification.__init__", [56, -1.078]], ["name/googleapiclient.channel.Notification.resource_uri", [534, 31.077]], ["names/googleapiclient.channel.Notification.resource_uri", [398, 2.851, 507, 3.544]], ["qname/googleapiclient.channel.Notification.resource_uri", [535, 11.381]], ["docstring/googleapiclient.channel.Notification.resource_uri", []], ["kind/googleapiclient.channel.Notification.resource_uri", [270, -0.883, 424, -0.999]], ["name/googleapiclient.channel.Channel", [17, 36.333]], ["names/googleapiclient.channel.Channel", [17, 7.468]], ["qname/googleapiclient.channel.Channel", [536, 22.761]], ["docstring/googleapiclient.channel.Channel", [5, 8.133, 14, 3.24, 17, 5.084, 19, 6.853, 49, 8.133, 59, 4.34, 517, 8.698, 518, 5.995, 519, 7.711, 537, 8.698]], ["kind/googleapiclient.channel.Channel", [21, -4.807]], ["name/googleapiclient.channel.Channel.type", [158, 15.875]], ["names/googleapiclient.channel.Channel.type", [158, 3.263]], ["qname/googleapiclient.channel.Channel.type", [538, 11.381]], ["docstring/googleapiclient.channel.Channel.type", [7, 2.564, 17, 2.827, 40, 3.019, 158, 2.47, 525, 3.333, 539, 4.836, 540, 5.313, 541, 5.313]], ["kind/googleapiclient.channel.Channel.type", [270, -0.883, 424, -0.999]], ["name/googleapiclient.channel.Channel.id", [32, 18.167]], ["names/googleapiclient.channel.Channel.id", [32, 3.734]], ["qname/googleapiclient.channel.Channel.id", [542, 11.381]], ["docstring/googleapiclient.channel.Channel.id", [17, 3.927, 525, 4.631, 543, 7.381]], ["kind/googleapiclient.channel.Channel.id", [270, -0.883, 424, -0.999]], ["name/googleapiclient.channel.Channel.token", [244, 25.344]], ["names/googleapiclient.channel.Channel.token", [244, 5.209]], ["qname/googleapiclient.channel.Channel.token", [544, 11.381]], ["docstring/googleapiclient.channel.Channel.token", [17, 3.317, 198, 2.885, 235, 2.056, 525, 2.604, 529, 3.203, 532, 3.532, 545, 4.15, 546, 3.778, 547, 5.674, 548, 4.15, 549, 3.532]], ["kind/googleapiclient.channel.Channel.token", [270, -0.883, 424, -0.999]], ["name/googleapiclient.channel.Channel.address", [529, 26.346]], ["names/googleapiclient.channel.Channel.address", [529, 5.415]], ["qname/googleapiclient.channel.Channel.address", [550, 11.381]], ["docstring/googleapiclient.channel.Channel.address", [17, 2.677, 35, 4.58, 94, 3.883, 158, 2.339, 525, 3.157, 529, 3.883, 532, 4.282, 547, 4.58, 551, 5.031]], ["kind/googleapiclient.channel.Channel.address", [270, -0.883, 424, -0.999]], ["name/googleapiclient.channel.Channel.expiration", [552, 31.077]], ["names/googleapiclient.channel.Channel.expiration", [552, 6.388]], ["qname/googleapiclient.channel.Channel.expiration", [553, 11.381]], ["docstring/googleapiclient.channel.Channel.expiration", [17, 3.184, 495, 4.618, 523, 5.447, 554, 4.829, 555, 5.984, 556, 5.984]], ["kind/googleapiclient.channel.Channel.expiration", [270, -0.883, 424, -0.999]], ["name/googleapiclient.channel.Channel.params", [396, 22.467]], ["names/googleapiclient.channel.Channel.params", [396, 4.618]], ["qname/googleapiclient.channel.Channel.params", [557, 11.381]], ["docstring/googleapiclient.channel.Channel.params", [17, 2.542, 80, 3.068, 185, 2.336, 235, 3.426, 374, 3.855, 375, 4.066, 539, 4.349, 558, 4.349, 559, 4.349]], ["kind/googleapiclient.channel.Channel.params", [270, -0.883, 424, -0.999]], ["name/googleapiclient.channel.Channel.resource_id", [68, 27.55]], ["names/googleapiclient.channel.Channel.resource_id", [32, 2.937, 507, 3.544]], ["qname/googleapiclient.channel.Channel.resource_id", [560, 11.381]], ["docstring/googleapiclient.channel.Channel.resource_id", [28, 2.498, 32, 2.42, 55, 3.51, 66, 3.073, 264, 2.792, 525, 2.854, 526, 2.682, 531, 4.14, 561, 4.549, 562, 4.549, 563, 3.67]], ["kind/googleapiclient.channel.Channel.resource_id", [270, -0.883, 424, -0.999]], ["name/googleapiclient.channel.Channel.resource_uri", [534, 31.077]], ["names/googleapiclient.channel.Channel.resource_uri", [398, 2.851, 507, 3.544]], ["qname/googleapiclient.channel.Channel.resource_uri", [564, 11.381]], ["docstring/googleapiclient.channel.Channel.resource_uri", [32, 3.398, 55, 4.929, 525, 4.007, 526, 3.766, 565, 6.387]], ["kind/googleapiclient.channel.Channel.resource_uri", [270, -0.883, 424, -0.999]], ["name/googleapiclient.channel.Channel.__init__", [420, 16.476]], ["names/googleapiclient.channel.Channel.__init__", [421, 3.303]], ["qname/googleapiclient.channel.Channel.__init__", [566, 11.381]], ["docstring/googleapiclient.channel.Channel.__init__", [14, 1.042, 17, 3.291, 25, 2.205, 38, 2.137, 41, 1.503, 43, 2.968, 44, 2.023, 94, 2.372, 158, 1.429, 198, 2.137, 200, 2.481, 260, 1.636, 332, 2.616, 567, 2.616, 568, 3.074, 569, 3.074, 570, 2.798, 571, 1.974]], ["kind/googleapiclient.channel.Channel.__init__", [56, -1.078]], ["name/googleapiclient.channel.Channel.body", [491, 22.467]], ["names/googleapiclient.channel.Channel.body", [491, 4.618]], ["qname/googleapiclient.channel.Channel.body", [572, 11.381]], ["docstring/googleapiclient.channel.Channel.body", [17, 2.208, 33, 3.778, 55, 3.203, 56, 0.711, 69, 2.084, 80, 2.665, 332, 3.532, 493, 3.827, 518, 2.604, 571, 2.665, 573, 2.604, 574, 3.532]], ["kind/googleapiclient.channel.Channel.body", [56, -1.078]], ["name/googleapiclient.channel.Channel.update", [394, 29.058]], ["names/googleapiclient.channel.Channel.update", [394, 5.973]], ["qname/googleapiclient.channel.Channel.update", [575, 11.381]], ["docstring/googleapiclient.channel.Channel.update", [17, 2.56, 22, 2.71, 55, 4.671, 59, 1.352, 67, 3.25, 68, 2.403, 72, 2.534, 73, 2.71, 80, 1.912, 149, 1.821, 197, 2.237, 202, 2.07, 526, 1.756, 576, 4.094, 577, 2.71]], ["kind/googleapiclient.channel.Channel.update", [56, -1.078]], ["name/googleapiclient.channel.notification_from_headers", [578, 34.142]], ["names/googleapiclient.channel.notification_from_headers", [275, 3.074, 475, 3.671, 579, 3.263]], ["qname/googleapiclient.channel.notification_from_headers", [580, 11.381]], ["docstring/googleapiclient.channel.notification_from_headers", [19, 5.83, 47, 3.855, 59, 2.17, 77, 3.068, 87, 3.144, 89, 3.426, 149, 1.809, 152, 1.99]], ["kind/googleapiclient.channel.notification_from_headers", [14, -2.133]], ["name/googleapiclient.channel.new_webhook_channel", [49, 29.058]], ["names/googleapiclient.channel.new_webhook_channel", [17, 2.421, 44, 2.994, 47, 3.671]], ["qname/googleapiclient.channel.new_webhook_channel", [581, 11.381]], ["docstring/googleapiclient.channel.new_webhook_channel", [17, 3.644, 43, 4.118, 44, 4.506, 47, 5.526]], ["kind/googleapiclient.channel.new_webhook_channel", [14, -2.133]], ["name/googleapiclient.discovery.__author__", [413, 24.486]], ["names/googleapiclient.discovery.__author__", [290, 4.879]], ["qname/googleapiclient.discovery.__author__", [582, 11.381]], ["docstring/googleapiclient.discovery.__author__", []], ["kind/googleapiclient.discovery.__author__", [270, -1.189]], ["name/googleapiclient.discovery.HAS_UNIVERSE", [583, 34.142]], ["names/googleapiclient.discovery.HAS_UNIVERSE", [267, 4.26, 584, 4.26]], ["qname/googleapiclient.discovery.HAS_UNIVERSE", [585, 11.381]], ["docstring/googleapiclient.discovery.HAS_UNIVERSE", []], ["kind/googleapiclient.discovery.HAS_UNIVERSE", [270, -1.189]], ["name/googleapiclient.mimeparse.__version__", [586, 31.077]], ["names/googleapiclient.mimeparse.__version__", [264, 4.308]], ["qname/googleapiclient.mimeparse.__version__", [587, 11.381]], ["docstring/googleapiclient.mimeparse.__version__", []], ["kind/googleapiclient.mimeparse.__version__", [270, -1.189]], ["name/googleapiclient.mimeparse.__author__", [413, 24.486]], ["names/googleapiclient.mimeparse.__author__", [290, 4.879]], ["qname/googleapiclient.mimeparse.__author__", [588, 11.381]], ["docstring/googleapiclient.mimeparse.__author__", []], ["kind/googleapiclient.mimeparse.__author__", [270, -1.189]], ["name/googleapiclient.mimeparse.__email__", [589, 34.142]], ["names/googleapiclient.mimeparse.__email__", [590, 7.018]], ["qname/googleapiclient.mimeparse.__email__", [591, 11.381]], ["docstring/googleapiclient.mimeparse.__email__", []], ["kind/googleapiclient.mimeparse.__email__", [270, -1.189]], ["name/googleapiclient.mimeparse.__license__", [592, 34.142]], ["names/googleapiclient.mimeparse.__license__", [593, 7.018]], ["qname/googleapiclient.mimeparse.__license__", [594, 11.381]], ["docstring/googleapiclient.mimeparse.__license__", []], ["kind/googleapiclient.mimeparse.__license__", [270, -1.189]], ["name/googleapiclient.mimeparse.__credits__", [595, 34.142]], ["names/googleapiclient.mimeparse.__credits__", [596, 7.018]], ["qname/googleapiclient.mimeparse.__credits__", [597, 11.381]], ["docstring/googleapiclient.mimeparse.__credits__", []], ["kind/googleapiclient.mimeparse.__credits__", [270, -1.189]], ["name/googleapiclient.mimeparse.parse_mime_type", [598, 34.142]], ["names/googleapiclient.mimeparse.parse_mime_type", [157, 2.921, 158, 2.115, 387, 3.872]], ["qname/googleapiclient.mimeparse.parse_mime_type", [599, 11.381]], ["docstring/googleapiclient.mimeparse.parse_mime_type", [34, 1.742, 40, 1.424, 59, 1.138, 80, 1.609, 87, 2.748, 157, 2.681, 158, 2.496, 166, 1.813, 167, 2.994, 178, 2.132, 179, 2.132, 183, 1.797, 185, 1.225, 220, 1.933, 400, 2.821, 600, 2.281, 601, 1.933, 602, 2.281, 603, 2.505, 604, 2.505, 605, 2.281]], ["kind/googleapiclient.mimeparse.parse_mime_type", [14, -2.133]], ["name/googleapiclient.mimeparse.parse_media_range", [606, 34.142]], ["names/googleapiclient.mimeparse.parse_media_range", [166, 1.976, 387, 3.872, 607, 4.55]], ["qname/googleapiclient.mimeparse.parse_media_range", [608, 11.381]], ["docstring/googleapiclient.mimeparse.parse_media_range", [14, 0.632, 34, 1.296, 40, 1.06, 59, 0.847, 69, 0.936, 80, 2.084, 82, 1.697, 87, 2.136, 158, 0.867, 166, 2.239, 167, 3.697, 178, 1.587, 179, 1.587, 183, 2.328, 185, 0.912, 220, 2.505, 241, 1.079, 286, 1.697, 345, 1.505, 400, 2.912, 559, 1.697, 600, 1.697, 601, 1.439, 602, 1.697, 605, 1.697, 609, 1.865, 610, 1.865, 611, 1.865, 612, 1.865]], ["kind/googleapiclient.mimeparse.parse_media_range", [14, -2.133]], ["name/googleapiclient.mimeparse.fitness_and_quality_parsed", [613, 34.142]], ["names/googleapiclient.mimeparse.fitness_and_quality_parsed", [614, 3.869, 615, 3.522, 616, 3.122, 617, 3.522]], ["qname/googleapiclient.mimeparse.fitness_and_quality_parsed", [618, 11.381]], ["docstring/googleapiclient.mimeparse.fitness_and_quality_parsed", [59, 0.831, 69, 1.603, 87, 2.794, 157, 2.049, 158, 1.484, 163, 3.648, 164, 1.476, 165, 1.919, 166, 1.386, 167, 2.289, 180, 1.557, 183, 1.312, 184, 1.411, 185, 0.894, 188, 1.665, 229, 1.1, 412, 1.476, 601, 1.411, 619, 2.575, 620, 3.426, 621, 1.665, 622, 1.665, 623, 1.829, 624, 1.829, 625, 1.557, 626, 1.665, 627, 1.557, 628, 1.665]], ["kind/googleapiclient.mimeparse.fitness_and_quality_parsed", [14, -2.133]], ["name/googleapiclient.mimeparse.quality_parsed", [629, 34.142]], ["names/googleapiclient.mimeparse.quality_parsed", [616, 4.455, 617, 5.025]], ["qname/googleapiclient.mimeparse.quality_parsed", [630, 11.381]], ["docstring/googleapiclient.mimeparse.quality_parsed", [14, 0.645, 59, 0.864, 87, 2.88, 133, 1.468, 144, 1.322, 157, 2.121, 158, 1.536, 163, 3.748, 164, 1.535, 165, 1.986, 166, 1.434, 167, 2.369, 180, 1.619, 183, 1.364, 184, 2.549, 185, 0.93, 229, 1.144, 412, 1.535, 619, 2.665, 620, 3.532, 621, 1.732, 622, 1.732, 626, 1.732, 627, 1.619, 628, 1.732, 631, 1.902]], ["kind/googleapiclient.mimeparse.quality_parsed", [14, -2.133]], ["name/googleapiclient.mimeparse.quality", [616, 27.55]], ["names/googleapiclient.mimeparse.quality", [616, 5.663]], ["qname/googleapiclient.mimeparse.quality", [632, 11.381]], ["docstring/googleapiclient.mimeparse.quality", [40, 1.462, 59, 1.939, 157, 2.741, 158, 1.985, 164, 3.445, 165, 1.547, 166, 1.854, 167, 3.924, 183, 3.062, 184, 3.295, 187, 2.19, 633, 2.342, 634, 2.573, 635, 2.573, 636, 2.573, 637, 2.573, 638, 2.573, 639, 2.573]], ["kind/googleapiclient.mimeparse.quality", [14, -2.133]], ["name/googleapiclient.mimeparse.best_match", [191, 31.077]], ["names/googleapiclient.mimeparse.best_match", [163, 3.959, 620, 4.455]], ["qname/googleapiclient.mimeparse.best_match", [640, 11.381]], ["docstring/googleapiclient.mimeparse.best_match", [20, 2.236, 59, 0.72, 69, 1.412, 77, 2.435, 78, 1.223, 146, 0.681, 157, 2.949, 158, 2.136, 163, 1.136, 165, 3.163, 166, 0.688, 167, 1.136, 183, 1.136, 184, 1.223, 193, 1.442, 194, 1.442, 208, 1.176, 228, 1.349, 235, 0.785, 261, 1.349, 464, 0.953, 619, 1.279, 620, 1.279, 633, 1.442, 641, 1.584, 642, 1.442, 643, 1.442, 644, 1.442, 645, 1.584, 646, 1.584, 647, 1.584, 648, 1.584, 649, 1.584, 650, 1.584, 651, 1.584]], ["kind/googleapiclient.mimeparse.best_match", [14, -2.133]], ["name/googleapiclient.mimeparse._filter_blank", [652, 34.142]], ["names/googleapiclient.mimeparse._filter_blank", [653, 5.52, 654, 5.52]], ["qname/googleapiclient.mimeparse._filter_blank", [655, 11.381]], ["docstring/googleapiclient.mimeparse._filter_blank", []], ["kind/googleapiclient.mimeparse._filter_blank", [14, -2.133]], ["name/googleapiclient.http.__author__", [413, 24.486]], ["names/googleapiclient.http.__author__", [290, 4.879]], ["qname/googleapiclient.http.__author__", [656, 11.381]], ["docstring/googleapiclient.http.__author__", []], ["kind/googleapiclient.http.__author__", [270, -1.189]], ["name/googleapiclient.model.__author__", [413, 24.486]], ["names/googleapiclient.model.__author__", [290, 4.879]], ["qname/googleapiclient.model.__author__", [657, 11.381]], ["docstring/googleapiclient.model.__author__", []], ["kind/googleapiclient.model.__author__", [270, -1.189]], ["name/googleapiclient.version.__version__", [586, 31.077]], ["names/googleapiclient.version.__version__", [264, 4.308]], ["qname/googleapiclient.version.__version__", [658, 11.381]], ["docstring/googleapiclient.version.__version__", []], ["kind/googleapiclient.version.__version__", [270, -1.189]], ["name/googleapiclient.model._PY_VERSION", [659, 34.142]], ["names/googleapiclient.model._PY_VERSION", [264, 3.389, 660, 5.52]], ["qname/googleapiclient.model._PY_VERSION", [661, 11.381]], ["docstring/googleapiclient.model._PY_VERSION", []], ["kind/googleapiclient.model._PY_VERSION", [308, -2.426]], ["name/googleapiclient.model.LOGGER", [302, 20.53]], ["names/googleapiclient.model.LOGGER", [302, 4.22]], ["qname/googleapiclient.model.LOGGER", [662, 11.381]], ["docstring/googleapiclient.model.LOGGER", []], ["kind/googleapiclient.model.LOGGER", [308, -2.426]], ["name/googleapiclient.model.dump_request_response", [663, 34.142]], ["names/googleapiclient.model.dump_request_response", [149, 1.722, 664, 4.55, 665, 2.585]], ["qname/googleapiclient.model.dump_request_response", [666, 11.381]], ["docstring/googleapiclient.model.dump_request_response", []], ["kind/googleapiclient.model.dump_request_response", [270, -1.189]], ["name/googleapiclient.model._abstract", [667, 34.142]], ["names/googleapiclient.model._abstract", [125, 5.973]], ["qname/googleapiclient.model._abstract", [668, 11.381]], ["docstring/googleapiclient.model._abstract", []], ["kind/googleapiclient.model._abstract", [14, -2.133]], ["name/googleapiclient.model.Model", [195, 38.803]], ["names/googleapiclient.model.Model", [195, 7.976]], ["qname/googleapiclient.model.Model", [669, 22.761]], ["docstring/googleapiclient.model.Model", [21, 3.978, 26, 3.257, 37, 4.715, 74, 5.073, 152, 2.738, 195, 7.349, 201, 6.026, 202, 4.57, 203, 3.257, 207, 5.305, 208, 4.88, 209, 3.395, 210, 4.326, 670, 4.715, 671, 4.88]], ["kind/googleapiclient.model.Model", [21, -4.807]], ["name/googleapiclient.model.Model.request", [149, 12.925]], ["names/googleapiclient.model.Model.request", [149, 2.657]], ["qname/googleapiclient.model.Model.request", [672, 11.381]], ["docstring/googleapiclient.model.Model.request", [67, 4.315, 149, 2.418, 201, 3.695, 493, 3.921, 673, 5.813]], ["kind/googleapiclient.model.Model.request", [56, -1.078]], ["name/googleapiclient.model.Model.response", [665, 19.402]], ["names/googleapiclient.model.Model.response", [665, 3.988]], ["qname/googleapiclient.model.Model.response", [674, 11.381]], ["docstring/googleapiclient.model.Model.response", [152, 2.492, 197, 2.782, 206, 3.842, 207, 4.829, 208, 4.442, 209, 3.09]], ["kind/googleapiclient.model.Model.response", [56, -1.078]], ["name/googleapiclient.model.BaseModel", [675, 68.284]], ["names/googleapiclient.model.BaseModel", [26, 5.469, 195, 6.274]], ["qname/googleapiclient.model.BaseModel", [676, 22.761]], ["docstring/googleapiclient.model.BaseModel", [21, 4.612, 26, 3.939, 56, 1.362, 69, 3.993, 74, 6.137, 161, 6.137, 195, 4.519, 201, 4.602, 224, 5.373, 257, 6.769, 677, 6.137, 678, 7.953, 679, 7.239]], ["kind/googleapiclient.model.BaseModel", [21, -4.807]], ["name/googleapiclient.model.BaseModel.accept", [464, 20.53]], ["names/googleapiclient.model.BaseModel.accept", [464, 4.22]], ["qname/googleapiclient.model.BaseModel.accept", [680, 11.381]], ["docstring/googleapiclient.model.BaseModel.accept", [7, 3.082, 69, 3.207, 77, 4.101, 146, 2.744, 464, 3.84]], ["kind/googleapiclient.model.BaseModel.accept", [270, -0.883, 424, -0.999]], ["name/googleapiclient.model.BaseModel.content_type", [681, 26.346]], ["names/googleapiclient.model.BaseModel.content_type", [137, 2.451, 158, 2.567]], ["qname/googleapiclient.model.BaseModel.content_type", [682, 11.381]], ["docstring/googleapiclient.model.BaseModel.content_type", [7, 2.888, 69, 3.004, 77, 3.842, 137, 2.657, 146, 2.571, 158, 2.782]], ["kind/googleapiclient.model.BaseModel.content_type", [270, -0.883, 424, -0.999]], ["name/googleapiclient.model.BaseModel.no_content_response", [683, 26.346]], ["names/googleapiclient.model.BaseModel.no_content_response", [137, 2.02, 665, 2.585, 684, 3.511]], ["qname/googleapiclient.model.BaseModel.no_content_response", [685, 11.381]], ["docstring/googleapiclient.model.BaseModel.no_content_response", [59, 2.718, 69, 3.004, 137, 2.657, 197, 2.782, 224, 4.043, 686, 5.984]], ["kind/googleapiclient.model.BaseModel.no_content_response", [270, -0.883, 424, -0.999]], ["name/googleapiclient.model.BaseModel.alt_param", [687, 26.346]], ["names/googleapiclient.model.BaseModel.alt_param", [400, 3.73, 688, 4.098]], ["qname/googleapiclient.model.BaseModel.alt_param", [689, 11.381]], ["docstring/googleapiclient.model.BaseModel.alt_param", [69, 3.004, 149, 2.265, 185, 2.925, 399, 4.442, 688, 4.442, 690, 5.093]], ["kind/googleapiclient.model.BaseModel.alt_param", [270, -0.883, 424, -0.999]], ["name/googleapiclient.model.BaseModel._log_request", [691, 34.142]], ["names/googleapiclient.model.BaseModel._log_request", [149, 2.09, 381, 4.26]], ["qname/googleapiclient.model.BaseModel._log_request", [692, 11.381]], ["docstring/googleapiclient.model.BaseModel._log_request", [149, 3.202, 381, 4.929, 576, 5.436, 693, 5.813]], ["kind/googleapiclient.model.BaseModel._log_request", [56, -1.078]], ["name/googleapiclient.model.BaseModel.request", [149, 12.925]], ["names/googleapiclient.model.BaseModel.request", [149, 2.657]], ["qname/googleapiclient.model.BaseModel.request", [694, 11.381]], ["docstring/googleapiclient.model.BaseModel.request", [67, 4.315, 149, 2.418, 201, 3.695, 493, 3.921, 673, 5.813]], ["kind/googleapiclient.model.BaseModel.request", [56, -1.078]], ["name/googleapiclient.model.BaseModel._build_query", [695, 34.142]], ["names/googleapiclient.model.BaseModel._build_query", [395, 4.098, 573, 3.463]], ["qname/googleapiclient.model.BaseModel._build_query", [696, 11.381]], ["docstring/googleapiclient.model.BaseModel._build_query", [235, 3.656, 399, 5.479, 573, 4.631]], ["kind/googleapiclient.model.BaseModel._build_query", [56, -1.078]], ["name/googleapiclient.model.BaseModel._log_response", [697, 34.142]], ["names/googleapiclient.model.BaseModel._log_response", [381, 4.26, 665, 3.137]], ["qname/googleapiclient.model.BaseModel._log_response", [698, 11.381]], ["docstring/googleapiclient.model.BaseModel._log_response", [149, 2.418, 197, 2.97, 381, 4.929, 576, 5.436, 693, 5.813]], ["kind/googleapiclient.model.BaseModel._log_response", [56, -1.078]], ["name/googleapiclient.model.BaseModel.response", [665, 19.402]], ["names/googleapiclient.model.BaseModel.response", [665, 3.988]], ["qname/googleapiclient.model.BaseModel.response", [699, 11.381]], ["docstring/googleapiclient.model.BaseModel.response", [152, 2.492, 197, 2.782, 206, 3.842, 207, 4.829, 208, 4.442, 209, 3.09]], ["kind/googleapiclient.model.BaseModel.response", [56, -1.078]], ["name/googleapiclient.model.BaseModel.serialize", [700, 24.486]], ["names/googleapiclient.model.BaseModel.serialize", [700, 5.033]], ["qname/googleapiclient.model.BaseModel.serialize", [701, 11.381]], ["docstring/googleapiclient.model.BaseModel.serialize", [152, 2.66, 154, 4.315, 201, 3.695, 209, 3.299, 702, 4.44]], ["kind/googleapiclient.model.BaseModel.serialize", [56, -1.078]], ["name/googleapiclient.model.BaseModel.deserialize", [703, 21.921]], ["names/googleapiclient.model.BaseModel.deserialize", [703, 4.506]], ["qname/googleapiclient.model.BaseModel.deserialize", [704, 11.381]], ["docstring/googleapiclient.model.BaseModel.deserialize", [152, 2.344, 154, 3.803, 197, 2.617, 209, 2.907, 224, 3.803, 235, 2.788, 702, 3.913]], ["kind/googleapiclient.model.BaseModel.deserialize", [56, -1.078]], ["name/googleapiclient.model.JsonModel", [705, 62.154]], ["names/googleapiclient.model.JsonModel", [195, 6.274, 203, 5.469]], ["qname/googleapiclient.model.JsonModel", [706, 22.761]], ["docstring/googleapiclient.model.JsonModel", [21, 2.916, 37, 5.474, 146, 3.28, 149, 2.89, 152, 3.179, 195, 4.337, 197, 3.549, 201, 6.769, 203, 5.795, 209, 3.942, 210, 5.023, 493, 4.685, 671, 5.666]], ["kind/googleapiclient.model.JsonModel", [21, -4.807]], ["name/googleapiclient.model.JsonModel.accept", [464, 20.53]], ["names/googleapiclient.model.JsonModel.accept", [464, 4.22]], ["qname/googleapiclient.model.JsonModel.accept", [707, 11.381]], ["docstring/googleapiclient.model.JsonModel.accept", []], ["kind/googleapiclient.model.JsonModel.accept", [270, -0.883, 424, -0.999]], ["name/googleapiclient.model.JsonModel.content_type", [681, 26.346]], ["names/googleapiclient.model.JsonModel.content_type", [137, 2.451, 158, 2.567]], ["qname/googleapiclient.model.JsonModel.content_type", [708, 11.381]], ["docstring/googleapiclient.model.JsonModel.content_type", []], ["kind/googleapiclient.model.JsonModel.content_type", [270, -0.883, 424, -0.999]], ["name/googleapiclient.model.JsonModel.alt_param", [687, 26.346]], ["names/googleapiclient.model.JsonModel.alt_param", [400, 3.73, 688, 4.098]], ["qname/googleapiclient.model.JsonModel.alt_param", [709, 11.381]], ["docstring/googleapiclient.model.JsonModel.alt_param", []], ["kind/googleapiclient.model.JsonModel.alt_param", [270, -0.883, 424, -0.999]], ["name/googleapiclient.model.JsonModel.__init__", [420, 16.476]], ["names/googleapiclient.model.JsonModel.__init__", [421, 3.303]], ["qname/googleapiclient.model.JsonModel.__init__", [710, 11.381]], ["docstring/googleapiclient.model.JsonModel.__init__", [518, 5.022, 705, 7.286]], ["kind/googleapiclient.model.JsonModel.__init__", [56, -1.078]], ["name/googleapiclient.model.JsonModel._data_wrapper", [711, 34.142]], ["names/googleapiclient.model.JsonModel._data_wrapper", [418, 3.633, 712, 5.025]], ["qname/googleapiclient.model.JsonModel._data_wrapper", [713, 11.381]], ["docstring/googleapiclient.model.JsonModel._data_wrapper", []], ["kind/googleapiclient.model.JsonModel._data_wrapper", [270, -0.883, 424, -0.999]], ["name/googleapiclient.model.JsonModel.serialize", [700, 24.486]], ["names/googleapiclient.model.JsonModel.serialize", [700, 5.033]], ["qname/googleapiclient.model.JsonModel.serialize", [714, 11.381]], ["docstring/googleapiclient.model.JsonModel.serialize", [152, 2.66, 154, 4.315, 201, 3.695, 209, 3.299, 702, 4.44]], ["kind/googleapiclient.model.JsonModel.serialize", [56, -1.078]], ["name/googleapiclient.model.JsonModel.deserialize", [703, 21.921]], ["names/googleapiclient.model.JsonModel.deserialize", [703, 4.506]], ["qname/googleapiclient.model.JsonModel.deserialize", [715, 11.381]], ["docstring/googleapiclient.model.JsonModel.deserialize", [152, 2.344, 154, 3.803, 197, 2.617, 209, 2.907, 224, 3.803, 235, 2.788, 702, 3.913]], ["kind/googleapiclient.model.JsonModel.deserialize", [56, -1.078]], ["name/googleapiclient.model.JsonModel.no_content_response", [683, 26.346]], ["names/googleapiclient.model.JsonModel.no_content_response", [137, 2.02, 665, 2.585, 684, 3.511]], ["qname/googleapiclient.model.JsonModel.no_content_response", [716, 11.381]], ["docstring/googleapiclient.model.JsonModel.no_content_response", []], ["kind/googleapiclient.model.JsonModel.no_content_response", [436, -4.855]], ["name/googleapiclient.model.RawModel", [717, 68.284]], ["names/googleapiclient.model.RawModel", [195, 6.274, 718, 9.397]], ["qname/googleapiclient.model.RawModel", [719, 22.761]], ["docstring/googleapiclient.model.RawModel", [21, 2.349, 37, 4.409, 59, 4.483, 146, 2.642, 149, 3.737, 152, 2.561, 195, 3.494, 197, 2.859, 201, 5.712, 203, 4.89, 209, 3.175, 210, 4.046, 493, 3.774, 671, 4.564, 718, 5.233, 720, 5.596, 721, 4.564]], ["kind/googleapiclient.model.RawModel", [21, -4.807]], ["name/googleapiclient.model.RawModel.accept", [464, 20.53]], ["names/googleapiclient.model.RawModel.accept", [464, 4.22]], ["qname/googleapiclient.model.RawModel.accept", [722, 11.381]], ["docstring/googleapiclient.model.RawModel.accept", []], ["kind/googleapiclient.model.RawModel.accept", [270, -0.883, 424, -0.999]], ["name/googleapiclient.model.RawModel.content_type", [681, 26.346]], ["names/googleapiclient.model.RawModel.content_type", [137, 2.451, 158, 2.567]], ["qname/googleapiclient.model.RawModel.content_type", [723, 11.381]], ["docstring/googleapiclient.model.RawModel.content_type", []], ["kind/googleapiclient.model.RawModel.content_type", [270, -0.883, 424, -0.999]], ["name/googleapiclient.model.RawModel.alt_param", [687, 26.346]], ["names/googleapiclient.model.RawModel.alt_param", [400, 3.73, 688, 4.098]], ["qname/googleapiclient.model.RawModel.alt_param", [724, 11.381]], ["docstring/googleapiclient.model.RawModel.alt_param", []], ["kind/googleapiclient.model.RawModel.alt_param", [270, -0.883, 424, -0.999]], ["name/googleapiclient.model.RawModel.deserialize", [703, 21.921]], ["names/googleapiclient.model.RawModel.deserialize", [703, 4.506]], ["qname/googleapiclient.model.RawModel.deserialize", [725, 11.381]], ["docstring/googleapiclient.model.RawModel.deserialize", [152, 2.344, 154, 3.803, 197, 2.617, 209, 2.907, 224, 3.803, 235, 2.788, 702, 3.913]], ["kind/googleapiclient.model.RawModel.deserialize", [56, -1.078]], ["name/googleapiclient.model.RawModel.no_content_response", [683, 26.346]], ["names/googleapiclient.model.RawModel.no_content_response", [137, 2.02, 665, 2.585, 684, 3.511]], ["qname/googleapiclient.model.RawModel.no_content_response", [726, 11.381]], ["docstring/googleapiclient.model.RawModel.no_content_response", []], ["kind/googleapiclient.model.RawModel.no_content_response", [436, -4.855]], ["name/googleapiclient.model.MediaModel", [727, 68.284]], ["names/googleapiclient.model.MediaModel", [166, 4.795, 195, 6.274]], ["qname/googleapiclient.model.MediaModel", [728, 22.761]], ["docstring/googleapiclient.model.MediaModel", [21, 2.427, 37, 4.557, 59, 4.603, 146, 2.73, 149, 3.837, 152, 2.647, 166, 2.76, 195, 3.611, 197, 2.954, 201, 5.865, 203, 3.147, 209, 3.282, 210, 4.181, 493, 3.901, 671, 4.717, 718, 5.408, 721, 4.717]], ["kind/googleapiclient.model.MediaModel", [21, -4.807]], ["name/googleapiclient.model.MediaModel.accept", [464, 20.53]], ["names/googleapiclient.model.MediaModel.accept", [464, 4.22]], ["qname/googleapiclient.model.MediaModel.accept", [729, 11.381]], ["docstring/googleapiclient.model.MediaModel.accept", []], ["kind/googleapiclient.model.MediaModel.accept", [270, -0.883, 424, -0.999]], ["name/googleapiclient.model.MediaModel.content_type", [681, 26.346]], ["names/googleapiclient.model.MediaModel.content_type", [137, 2.451, 158, 2.567]], ["qname/googleapiclient.model.MediaModel.content_type", [730, 11.381]], ["docstring/googleapiclient.model.MediaModel.content_type", []], ["kind/googleapiclient.model.MediaModel.content_type", [270, -0.883, 424, -0.999]], ["name/googleapiclient.model.MediaModel.alt_param", [687, 26.346]], ["names/googleapiclient.model.MediaModel.alt_param", [400, 3.73, 688, 4.098]], ["qname/googleapiclient.model.MediaModel.alt_param", [731, 11.381]], ["docstring/googleapiclient.model.MediaModel.alt_param", []], ["kind/googleapiclient.model.MediaModel.alt_param", [270, -0.883, 424, -0.999]], ["name/googleapiclient.model.MediaModel.deserialize", [703, 21.921]], ["names/googleapiclient.model.MediaModel.deserialize", [703, 4.506]], ["qname/googleapiclient.model.MediaModel.deserialize", [732, 11.381]], ["docstring/googleapiclient.model.MediaModel.deserialize", [152, 2.344, 154, 3.803, 197, 2.617, 209, 2.907, 224, 3.803, 235, 2.788, 702, 3.913]], ["kind/googleapiclient.model.MediaModel.deserialize", [56, -1.078]], ["name/googleapiclient.model.MediaModel.no_content_response", [683, 26.346]], ["names/googleapiclient.model.MediaModel.no_content_response", [137, 2.02, 665, 2.585, 684, 3.511]], ["qname/googleapiclient.model.MediaModel.no_content_response", [733, 11.381]], ["docstring/googleapiclient.model.MediaModel.no_content_response", []], ["kind/googleapiclient.model.MediaModel.no_content_response", [436, -4.855]], ["name/googleapiclient.model.ProtocolBufferModel", [734, 62.154]], ["names/googleapiclient.model.ProtocolBufferModel", [195, 5.171, 735, 7.343, 736, 7.343]], ["qname/googleapiclient.model.ProtocolBufferModel", [737, 22.761]], ["docstring/googleapiclient.model.ProtocolBufferModel", [21, 2.916, 146, 3.28, 149, 2.89, 195, 4.337, 197, 3.549, 201, 6.769, 493, 4.685, 577, 6.948, 671, 5.666, 735, 9.44, 736, 9.44, 738, 7.633]], ["kind/googleapiclient.model.ProtocolBufferModel", [21, -4.807]], ["name/googleapiclient.model.ProtocolBufferModel.accept", [464, 20.53]], ["names/googleapiclient.model.ProtocolBufferModel.accept", [464, 4.22]], ["qname/googleapiclient.model.ProtocolBufferModel.accept", [739, 11.381]], ["docstring/googleapiclient.model.ProtocolBufferModel.accept", []], ["kind/googleapiclient.model.ProtocolBufferModel.accept", [270, -0.883, 424, -0.999]], ["name/googleapiclient.model.ProtocolBufferModel.content_type", [681, 26.346]], ["names/googleapiclient.model.ProtocolBufferModel.content_type", [137, 2.451, 158, 2.567]], ["qname/googleapiclient.model.ProtocolBufferModel.content_type", [740, 11.381]], ["docstring/googleapiclient.model.ProtocolBufferModel.content_type", []], ["kind/googleapiclient.model.ProtocolBufferModel.content_type", [270, -0.883, 424, -0.999]], ["name/googleapiclient.model.ProtocolBufferModel.alt_param", [687, 26.346]], ["names/googleapiclient.model.ProtocolBufferModel.alt_param", [400, 3.73, 688, 4.098]], ["qname/googleapiclient.model.ProtocolBufferModel.alt_param", [741, 11.381]], ["docstring/googleapiclient.model.ProtocolBufferModel.alt_param", []], ["kind/googleapiclient.model.ProtocolBufferModel.alt_param", [270, -0.883, 424, -0.999]], ["name/googleapiclient.model.ProtocolBufferModel.__init__", [420, 16.476]], ["names/googleapiclient.model.ProtocolBufferModel.__init__", [421, 3.303]], ["qname/googleapiclient.model.ProtocolBufferModel.__init__", [742, 11.381]], ["docstring/googleapiclient.model.ProtocolBufferModel.__init__", [7, 1.842, 21, 1.458, 59, 1.733, 146, 1.64, 197, 1.774, 201, 3.385, 229, 2.295, 518, 2.394, 671, 2.833, 734, 3.474, 735, 4.72, 736, 4.72]], ["kind/googleapiclient.model.ProtocolBufferModel.__init__", [56, -1.078]], ["name/googleapiclient.model.ProtocolBufferModel._protocol_buffer", [743, 34.142]], ["names/googleapiclient.model.ProtocolBufferModel._protocol_buffer", [735, 4.455, 736, 4.455]], ["qname/googleapiclient.model.ProtocolBufferModel._protocol_buffer", [744, 11.381]], ["docstring/googleapiclient.model.ProtocolBufferModel._protocol_buffer", []], ["kind/googleapiclient.model.ProtocolBufferModel._protocol_buffer", [270, -0.883, 424, -0.999]], ["name/googleapiclient.model.ProtocolBufferModel.serialize", [700, 24.486]], ["names/googleapiclient.model.ProtocolBufferModel.serialize", [700, 5.033]], ["qname/googleapiclient.model.ProtocolBufferModel.serialize", [745, 11.381]], ["docstring/googleapiclient.model.ProtocolBufferModel.serialize", [152, 2.66, 154, 4.315, 201, 3.695, 209, 3.299, 702, 4.44]], ["kind/googleapiclient.model.ProtocolBufferModel.serialize", [56, -1.078]], ["name/googleapiclient.model.ProtocolBufferModel.deserialize", [703, 21.921]], ["names/googleapiclient.model.ProtocolBufferModel.deserialize", [703, 4.506]], ["qname/googleapiclient.model.ProtocolBufferModel.deserialize", [746, 11.381]], ["docstring/googleapiclient.model.ProtocolBufferModel.deserialize", [152, 2.344, 154, 3.803, 197, 2.617, 209, 2.907, 224, 3.803, 235, 2.788, 702, 3.913]], ["kind/googleapiclient.model.ProtocolBufferModel.deserialize", [56, -1.078]], ["name/googleapiclient.model.ProtocolBufferModel.no_content_response", [683, 26.346]], ["names/googleapiclient.model.ProtocolBufferModel.no_content_response", [137, 2.02, 665, 2.585, 684, 3.511]], ["qname/googleapiclient.model.ProtocolBufferModel.no_content_response", [747, 11.381]], ["docstring/googleapiclient.model.ProtocolBufferModel.no_content_response", []], ["kind/googleapiclient.model.ProtocolBufferModel.no_content_response", [436, -4.855]], ["name/googleapiclient.model.makepatch", [748, 31.077]], ["names/googleapiclient.model.makepatch", [748, 6.388]], ["qname/googleapiclient.model.makepatch", [749, 11.381]], ["docstring/googleapiclient.model.makepatch", [20, 1.145, 37, 1.392, 40, 1.103, 43, 1.167, 48, 2.789, 54, 1.441, 56, 0.576, 67, 2.271, 152, 0.809, 262, 1.767, 334, 1.652, 493, 1.192, 518, 1.218, 526, 1.982, 563, 1.566, 750, 3.783, 751, 1.566, 752, 1.941, 753, 1.498, 754, 1.566, 755, 1.941, 756, 1.941, 757, 1.941, 758, 1.941, 759, 1.941, 760, 1.767, 761, 1.941, 762, 1.941, 763, 1.941, 764, 1.941, 765, 1.941, 766, 1.941]], ["kind/googleapiclient.model.makepatch", [14, -2.133]], ["name/googleapiclient.http.LOGGER", [302, 20.53]], ["names/googleapiclient.http.LOGGER", [302, 4.22]], ["qname/googleapiclient.http.LOGGER", [767, 11.381]], ["docstring/googleapiclient.http.LOGGER", []], ["kind/googleapiclient.http.LOGGER", [308, -2.426]], ["name/googleapiclient.http.DEFAULT_CHUNK_SIZE", [768, 34.142]], ["names/googleapiclient.http.DEFAULT_CHUNK_SIZE", [241, 2.632, 461, 2.384, 471, 2.921]], ["qname/googleapiclient.http.DEFAULT_CHUNK_SIZE", [769, 11.381]], ["docstring/googleapiclient.http.DEFAULT_CHUNK_SIZE", []], ["kind/googleapiclient.http.DEFAULT_CHUNK_SIZE", [308, -2.426]], ["name/googleapiclient.http.MAX_URI_LENGTH", [770, 34.142]], ["names/googleapiclient.http.MAX_URI_LENGTH", [398, 2.35, 771, 3.377, 772, 4.55]], ["qname/googleapiclient.http.MAX_URI_LENGTH", [773, 11.381]], ["docstring/googleapiclient.http.MAX_URI_LENGTH", []], ["kind/googleapiclient.http.MAX_URI_LENGTH", [308, -2.426]], ["name/googleapiclient.http.MAX_BATCH_LIMIT", [774, 34.142]], ["names/googleapiclient.http.MAX_BATCH_LIMIT", [478, 3.074, 771, 3.377, 775, 3.671]], ["qname/googleapiclient.http.MAX_BATCH_LIMIT", [776, 11.381]], ["docstring/googleapiclient.http.MAX_BATCH_LIMIT", []], ["kind/googleapiclient.http.MAX_BATCH_LIMIT", [308, -2.426]], ["name/googleapiclient.http._TOO_MANY_REQUESTS", [777, 34.142]], ["names/googleapiclient.http._TOO_MANY_REQUESTS", [778, 4.55, 779, 4.55, 780, 4.141]], ["qname/googleapiclient.http._TOO_MANY_REQUESTS", [781, 11.381]], ["docstring/googleapiclient.http._TOO_MANY_REQUESTS", []], ["kind/googleapiclient.http._TOO_MANY_REQUESTS", [308, -2.426]], ["name/googleapiclient.http.DEFAULT_HTTP_TIMEOUT_SEC", [782, 34.142]], ["names/googleapiclient.http.DEFAULT_HTTP_TIMEOUT_SEC", [146, 1.663, 241, 2.239, 783, 3.522, 784, 3.869]], ["qname/googleapiclient.http.DEFAULT_HTTP_TIMEOUT_SEC", [785, 11.381]], ["docstring/googleapiclient.http.DEFAULT_HTTP_TIMEOUT_SEC", []], ["kind/googleapiclient.http.DEFAULT_HTTP_TIMEOUT_SEC", [308, -2.426]], ["name/googleapiclient.http._LEGACY_BATCH_URI", [786, 34.142]], ["names/googleapiclient.http._LEGACY_BATCH_URI", [398, 2.35, 478, 3.074, 787, 4.55]], ["qname/googleapiclient.http._LEGACY_BATCH_URI", [788, 11.381]], ["docstring/googleapiclient.http._LEGACY_BATCH_URI", []], ["kind/googleapiclient.http._LEGACY_BATCH_URI", [308, -2.426]], ["name/googleapiclient.http._should_retry_response", [789, 34.142]], ["names/googleapiclient.http._should_retry_response", [665, 2.585, 790, 4.55, 791, 4.141]], ["qname/googleapiclient.http._should_retry_response", [792, 11.381]], ["docstring/googleapiclient.http._should_retry_response", [186, 6.233, 197, 3.184, 793, 5.526, 794, 6.233]], ["kind/googleapiclient.http._should_retry_response", [14, -2.133]], ["name/googleapiclient.http._retry_request", [795, 34.142]], ["names/googleapiclient.http._retry_request", [149, 2.09, 791, 5.025]], ["qname/googleapiclient.http._retry_request", [796, 11.381]], ["docstring/googleapiclient.http._retry_request", [59, 2.242, 69, 1.543, 100, 2.616, 130, 2.372, 143, 3.194, 146, 2.121, 149, 1.869, 554, 2.481, 794, 4.493, 797, 3.074, 798, 3.074, 799, 2.616, 800, 3.074, 801, 3.074, 802, 3.074]], ["kind/googleapiclient.http._retry_request", [14, -2.133]], ["name/googleapiclient.http.MediaUploadProgress", [803, 68.284]], ["names/googleapiclient.http.MediaUploadProgress", [166, 3.952, 460, 4.336, 804, 5.988]], ["qname/googleapiclient.http.MediaUploadProgress", [805, 22.761]], ["docstring/googleapiclient.http.MediaUploadProgress", [435, 10.958, 460, 7.034, 469, 10.262]], ["kind/googleapiclient.http.MediaUploadProgress", [21, -4.807]], ["name/googleapiclient.http.MediaUploadProgress.__init__", [420, 16.476]], ["names/googleapiclient.http.MediaUploadProgress.__init__", [421, 3.303]], ["qname/googleapiclient.http.MediaUploadProgress.__init__", [806, 11.381]], ["docstring/googleapiclient.http.MediaUploadProgress.__init__", [260, 4.652]], ["kind/googleapiclient.http.MediaUploadProgress.__init__", [56, -1.078]], ["name/googleapiclient.http.MediaUploadProgress.resumable_progress", [807, 29.058]], ["names/googleapiclient.http.MediaUploadProgress.resumable_progress", [466, 3.463, 804, 3.633]], ["qname/googleapiclient.http.MediaUploadProgress.resumable_progress", [808, 11.381]], ["docstring/googleapiclient.http.MediaUploadProgress.resumable_progress", []], ["kind/googleapiclient.http.MediaUploadProgress.resumable_progress", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.MediaUploadProgress.total_size", [809, 31.077]], ["names/googleapiclient.http.MediaUploadProgress.total_size", [461, 2.893, 810, 4.698]], ["qname/googleapiclient.http.MediaUploadProgress.total_size", [811, 11.381]], ["docstring/googleapiclient.http.MediaUploadProgress.total_size", []], ["kind/googleapiclient.http.MediaUploadProgress.total_size", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.MediaUploadProgress.progress", [804, 22.467]], ["names/googleapiclient.http.MediaUploadProgress.progress", [804, 4.618]], ["qname/googleapiclient.http.MediaUploadProgress.progress", [812, 11.381]], ["docstring/googleapiclient.http.MediaUploadProgress.progress", [173, 5.284, 460, 3.263, 813, 6.233, 814, 6.233]], ["kind/googleapiclient.http.MediaUploadProgress.progress", [56, -1.078]], ["name/googleapiclient.http.MediaDownloadProgress", [815, 68.284]], ["names/googleapiclient.http.MediaDownloadProgress", [166, 3.952, 804, 5.988, 816, 6.755]], ["qname/googleapiclient.http.MediaDownloadProgress", [817, 22.761]], ["docstring/googleapiclient.http.MediaDownloadProgress", [435, 10.958, 469, 10.262, 816, 10.958]], ["kind/googleapiclient.http.MediaDownloadProgress", [21, -4.807]], ["name/googleapiclient.http.MediaDownloadProgress.__init__", [420, 16.476]], ["names/googleapiclient.http.MediaDownloadProgress.__init__", [421, 3.303]], ["qname/googleapiclient.http.MediaDownloadProgress.__init__", [818, 11.381]], ["docstring/googleapiclient.http.MediaDownloadProgress.__init__", [260, 4.652]], ["kind/googleapiclient.http.MediaDownloadProgress.__init__", [56, -1.078]], ["name/googleapiclient.http.MediaDownloadProgress.resumable_progress", [807, 29.058]], ["names/googleapiclient.http.MediaDownloadProgress.resumable_progress", [466, 3.463, 804, 3.633]], ["qname/googleapiclient.http.MediaDownloadProgress.resumable_progress", [819, 11.381]], ["docstring/googleapiclient.http.MediaDownloadProgress.resumable_progress", []], ["kind/googleapiclient.http.MediaDownloadProgress.resumable_progress", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.MediaDownloadProgress.total_size", [809, 31.077]], ["names/googleapiclient.http.MediaDownloadProgress.total_size", [461, 2.893, 810, 4.698]], ["qname/googleapiclient.http.MediaDownloadProgress.total_size", [820, 11.381]], ["docstring/googleapiclient.http.MediaDownloadProgress.total_size", []], ["kind/googleapiclient.http.MediaDownloadProgress.total_size", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.MediaDownloadProgress.progress", [804, 22.467]], ["names/googleapiclient.http.MediaDownloadProgress.progress", [804, 4.618]], ["qname/googleapiclient.http.MediaDownloadProgress.progress", [821, 11.381]], ["docstring/googleapiclient.http.MediaDownloadProgress.progress", [173, 5.284, 813, 6.233, 814, 6.233, 816, 5.083]], ["kind/googleapiclient.http.MediaDownloadProgress.progress", [56, -1.078]], ["name/googleapiclient.http.MediaUpload", [822, 44.933]], ["names/googleapiclient.http.MediaUpload", [166, 4.795, 460, 5.261]], ["qname/googleapiclient.http.MediaUpload", [823, 22.761]], ["docstring/googleapiclient.http.MediaUpload", [7, 2.721, 9, 1.11, 20, 3.818, 21, 2.154, 24, 1.062, 26, 0.681, 40, 0.782, 56, 0.236, 59, 1.185, 66, 0.93, 72, 2.22, 93, 0.956, 103, 1.062, 111, 1.062, 122, 1.062, 145, 1.11, 146, 1.121, 149, 0.987, 152, 2.349, 160, 1.11, 166, 2.052, 202, 0.956, 209, 0.711, 247, 1.11, 338, 2.374, 375, 1.171, 418, 0.905, 460, 3.788, 461, 1.367, 471, 1.675, 473, 1.11, 519, 1.11, 554, 1.11, 571, 0.883, 574, 1.171, 670, 0.987, 677, 2.87, 751, 1.11, 754, 1.11, 775, 1.11, 822, 4.261, 824, 1.376, 825, 1.252, 826, 2.608, 827, 1.376, 828, 1.376, 829, 1.376, 830, 1.376, 831, 1.171, 832, 1.376, 833, 1.252, 834, 1.376, 835, 2.608, 836, 1.376, 837, 4.439, 838, 2.22, 839, 1.11, 840, 2.22, 841, 2.22, 842, 3.719, 843, 2.105, 844, 1.171, 845, 1.11, 846, 1.062, 847, 1.252, 848, 1.171, 849, 1.11, 850, 1.376, 851, 1.171, 852, 1.376, 853, 1.376, 854, 1.376]], ["kind/googleapiclient.http.MediaUpload", [21, -4.807]], ["name/googleapiclient.http.MediaUpload.chunksize", [855, 24.486]], ["names/googleapiclient.http.MediaUpload.chunksize", [855, 5.033]], ["qname/googleapiclient.http.MediaUpload.chunksize", [856, 11.381]], ["docstring/googleapiclient.http.MediaUpload.chunksize", [460, 3.263, 461, 3.589, 469, 4.761, 471, 4.397]], ["kind/googleapiclient.http.MediaUpload.chunksize", [56, -1.078]], ["name/googleapiclient.http.MediaUpload.mimetype", [857, 26.346]], ["names/googleapiclient.http.MediaUpload.mimetype", [857, 5.415]], ["qname/googleapiclient.http.MediaUpload.mimetype", [858, 11.381]], ["docstring/googleapiclient.http.MediaUpload.mimetype", [157, 4.739, 158, 3.432, 493, 4.531]], ["kind/googleapiclient.http.MediaUpload.mimetype", [56, -1.078]], ["name/googleapiclient.http.MediaUpload.size", [461, 17.894]], ["names/googleapiclient.http.MediaUpload.size", [461, 3.678]], ["qname/googleapiclient.http.MediaUpload.size", [859, 11.381]], ["docstring/googleapiclient.http.MediaUpload.size", [460, 3.814, 461, 4.195]], ["kind/googleapiclient.http.MediaUpload.size", [56, -1.078]], ["name/googleapiclient.http.MediaUpload.resumable", [466, 21.421]], ["names/googleapiclient.http.MediaUpload.resumable", [466, 4.403]], ["qname/googleapiclient.http.MediaUpload.resumable", [860, 11.381]], ["docstring/googleapiclient.http.MediaUpload.resumable", [460, 3.517, 469, 5.131, 793, 5.956]], ["kind/googleapiclient.http.MediaUpload.resumable", [56, -1.078]], ["name/googleapiclient.http.MediaUpload.getbytes", [861, 27.55]], ["names/googleapiclient.http.MediaUpload.getbytes", [861, 5.663]], ["qname/googleapiclient.http.MediaUpload.getbytes", [862, 11.381]], ["docstring/googleapiclient.http.MediaUpload.getbytes", [166, 3.476, 721, 5.942]], ["kind/googleapiclient.http.MediaUpload.getbytes", [56, -1.078]], ["name/googleapiclient.http.MediaUpload.has_stream", [844, 29.058]], ["names/googleapiclient.http.MediaUpload.has_stream", [267, 4.26, 837, 3.083]], ["qname/googleapiclient.http.MediaUpload.has_stream", [863, 11.381]], ["docstring/googleapiclient.http.MediaUpload.has_stream", [20, 3.449, 59, 1.733, 460, 1.818, 670, 2.737, 677, 2.945, 837, 3.267, 840, 3.248, 845, 3.08, 846, 2.945, 864, 3.248, 865, 3.474, 866, 3.248, 867, 3.474]], ["kind/googleapiclient.http.MediaUpload.has_stream", [56, -1.078]], ["name/googleapiclient.http.MediaUpload.stream", [837, 19.068]], ["names/googleapiclient.http.MediaUpload.stream", [837, 3.919]], ["qname/googleapiclient.http.MediaUpload.stream", [868, 11.381]], ["docstring/googleapiclient.http.MediaUpload.stream", [66, 4.315, 418, 4.203, 460, 3.043, 670, 4.58, 837, 3.567]], ["kind/googleapiclient.http.MediaUpload.stream", [56, -1.078]], ["name/googleapiclient.http.MediaUpload._to_json", [869, 34.142]], ["names/googleapiclient.http.MediaUpload._to_json", [203, 2.735, 870, 3.463]], ["qname/googleapiclient.http.MediaUpload._to_json", [871, 11.381]], ["docstring/googleapiclient.http.MediaUpload._to_json", [14, 2.029, 16, 4.618, 43, 3.598, 203, 2.964, 210, 3.938, 822, 3.938]], ["kind/googleapiclient.http.MediaUpload._to_json", [56, -1.078]], ["name/googleapiclient.http.MediaUpload.to_json", [872, 26.346]], ["names/googleapiclient.http.MediaUpload.to_json", [203, 2.735, 870, 3.463]], ["qname/googleapiclient.http.MediaUpload.to_json", [873, 11.381]], ["docstring/googleapiclient.http.MediaUpload.to_json", [43, 3.84, 203, 3.164, 210, 4.203, 361, 4.58, 822, 4.203]], ["kind/googleapiclient.http.MediaUpload.to_json", [56, -1.078]], ["name/googleapiclient.http.MediaUpload.new_from_json", [874, 34.142]], ["names/googleapiclient.http.MediaUpload.new_from_json", [44, 2.994, 203, 2.254, 275, 3.074]], ["qname/googleapiclient.http.MediaUpload.new_from_json", [875, 11.381]], ["docstring/googleapiclient.http.MediaUpload.new_from_json", [16, 3.687, 21, 1.825, 56, 0.819, 203, 2.367, 210, 3.144, 256, 4.349, 677, 3.687, 822, 3.144, 872, 3.687, 876, 4.778]], ["kind/googleapiclient.http.MediaUpload.new_from_json", [21, -1.785, 56, -0.8]], ["name/googleapiclient.http.MediaIoBaseUpload", [877, 58.117]], ["names/googleapiclient.http.MediaIoBaseUpload", [26, 3.833, 166, 3.361, 460, 3.687, 878, 7.044]], ["qname/googleapiclient.http.MediaIoBaseUpload", [879, 22.761]], ["docstring/googleapiclient.http.MediaIoBaseUpload", [7, 1.118, 9, 1.87, 20, 1.366, 21, 0.885, 24, 3.273, 41, 1.133, 48, 2.661, 54, 1.72, 93, 1.611, 122, 1.788, 127, 3.458, 129, 1.611, 130, 1.788, 149, 1.606, 152, 1.767, 166, 1.006, 202, 1.611, 209, 2.191, 278, 1.972, 418, 1.525, 460, 2.021, 461, 1.214, 463, 1.972, 473, 3.423, 571, 1.488, 625, 3.61, 751, 1.87, 753, 1.788, 775, 1.87, 822, 1.525, 831, 1.972, 837, 1.294, 838, 3.61, 839, 1.87, 841, 1.972, 843, 3.423, 846, 1.788, 848, 1.972, 849, 1.87, 851, 1.972, 880, 2.109, 881, 2.317, 882, 2.317, 883, 1.972, 884, 2.109, 885, 1.972, 886, 1.972, 887, 1.972, 888, 1.972, 889, 2.109, 890, 2.109, 891, 3.861, 892, 2.109, 893, 3.273, 894, 1.972, 895, 3.861, 896, 1.972]], ["kind/googleapiclient.http.MediaIoBaseUpload", [21, -4.807]], ["name/googleapiclient.http.MediaIoBaseUpload.__init__", [420, 16.476]], ["names/googleapiclient.http.MediaIoBaseUpload.__init__", [421, 3.303]], ["qname/googleapiclient.http.MediaIoBaseUpload.__init__", [897, 11.381]], ["docstring/googleapiclient.http.MediaIoBaseUpload.__init__", [260, 4.652]], ["kind/googleapiclient.http.MediaIoBaseUpload.__init__", [56, -1.078]], ["name/googleapiclient.http.MediaIoBaseUpload._fd", [898, 29.058]], ["names/googleapiclient.http.MediaIoBaseUpload._fd", [899, 5.973]], ["qname/googleapiclient.http.MediaIoBaseUpload._fd", [900, 11.381]], ["docstring/googleapiclient.http.MediaIoBaseUpload._fd", []], ["kind/googleapiclient.http.MediaIoBaseUpload._fd", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.MediaIoBaseUpload._mimetype", [901, 34.142]], ["names/googleapiclient.http.MediaIoBaseUpload._mimetype", [857, 5.415]], ["qname/googleapiclient.http.MediaIoBaseUpload._mimetype", [902, 11.381]], ["docstring/googleapiclient.http.MediaIoBaseUpload._mimetype", []], ["kind/googleapiclient.http.MediaIoBaseUpload._mimetype", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.MediaIoBaseUpload._chunksize", [903, 29.058]], ["names/googleapiclient.http.MediaIoBaseUpload._chunksize", [855, 5.033]], ["qname/googleapiclient.http.MediaIoBaseUpload._chunksize", [904, 11.381]], ["docstring/googleapiclient.http.MediaIoBaseUpload._chunksize", []], ["kind/googleapiclient.http.MediaIoBaseUpload._chunksize", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.MediaIoBaseUpload._resumable", [905, 34.142]], ["names/googleapiclient.http.MediaIoBaseUpload._resumable", [466, 4.403]], ["qname/googleapiclient.http.MediaIoBaseUpload._resumable", [906, 11.381]], ["docstring/googleapiclient.http.MediaIoBaseUpload._resumable", []], ["kind/googleapiclient.http.MediaIoBaseUpload._resumable", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.MediaIoBaseUpload._size", [907, 34.142]], ["names/googleapiclient.http.MediaIoBaseUpload._size", [461, 3.678]], ["qname/googleapiclient.http.MediaIoBaseUpload._size", [908, 11.381]], ["docstring/googleapiclient.http.MediaIoBaseUpload._size", []], ["kind/googleapiclient.http.MediaIoBaseUpload._size", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.MediaIoBaseUpload.chunksize", [855, 24.486]], ["names/googleapiclient.http.MediaIoBaseUpload.chunksize", [855, 5.033]], ["qname/googleapiclient.http.MediaIoBaseUpload.chunksize", [909, 11.381]], ["docstring/googleapiclient.http.MediaIoBaseUpload.chunksize", [460, 3.263, 461, 3.589, 469, 4.761, 471, 4.397]], ["kind/googleapiclient.http.MediaIoBaseUpload.chunksize", [56, -1.078]], ["name/googleapiclient.http.MediaIoBaseUpload.mimetype", [857, 26.346]], ["names/googleapiclient.http.MediaIoBaseUpload.mimetype", [857, 5.415]], ["qname/googleapiclient.http.MediaIoBaseUpload.mimetype", [910, 11.381]], ["docstring/googleapiclient.http.MediaIoBaseUpload.mimetype", [157, 4.739, 158, 3.432, 493, 4.531]], ["kind/googleapiclient.http.MediaIoBaseUpload.mimetype", [56, -1.078]], ["name/googleapiclient.http.MediaIoBaseUpload.size", [461, 17.894]], ["names/googleapiclient.http.MediaIoBaseUpload.size", [461, 3.678]], ["qname/googleapiclient.http.MediaIoBaseUpload.size", [911, 11.381]], ["docstring/googleapiclient.http.MediaIoBaseUpload.size", [460, 3.814, 461, 4.195]], ["kind/googleapiclient.http.MediaIoBaseUpload.size", [56, -1.078]], ["name/googleapiclient.http.MediaIoBaseUpload.resumable", [466, 21.421]], ["names/googleapiclient.http.MediaIoBaseUpload.resumable", [466, 4.403]], ["qname/googleapiclient.http.MediaIoBaseUpload.resumable", [912, 11.381]], ["docstring/googleapiclient.http.MediaIoBaseUpload.resumable", [460, 3.517, 469, 5.131, 793, 5.956]], ["kind/googleapiclient.http.MediaIoBaseUpload.resumable", [56, -1.078]], ["name/googleapiclient.http.MediaIoBaseUpload.getbytes", [861, 27.55]], ["names/googleapiclient.http.MediaIoBaseUpload.getbytes", [861, 5.663]], ["qname/googleapiclient.http.MediaIoBaseUpload.getbytes", [913, 11.381]], ["docstring/googleapiclient.http.MediaIoBaseUpload.getbytes", [166, 3.476, 721, 5.942]], ["kind/googleapiclient.http.MediaIoBaseUpload.getbytes", [56, -1.078]], ["name/googleapiclient.http.MediaIoBaseUpload.has_stream", [844, 29.058]], ["names/googleapiclient.http.MediaIoBaseUpload.has_stream", [267, 4.26, 837, 3.083]], ["qname/googleapiclient.http.MediaIoBaseUpload.has_stream", [914, 11.381]], ["docstring/googleapiclient.http.MediaIoBaseUpload.has_stream", [20, 3.449, 59, 1.733, 460, 1.818, 670, 2.737, 677, 2.945, 837, 3.267, 840, 3.248, 845, 3.08, 846, 2.945, 864, 3.248, 865, 3.474, 866, 3.248, 867, 3.474]], ["kind/googleapiclient.http.MediaIoBaseUpload.has_stream", [56, -1.078]], ["name/googleapiclient.http.MediaIoBaseUpload.stream", [837, 19.068]], ["names/googleapiclient.http.MediaIoBaseUpload.stream", [837, 3.919]], ["qname/googleapiclient.http.MediaIoBaseUpload.stream", [915, 11.381]], ["docstring/googleapiclient.http.MediaIoBaseUpload.stream", [66, 4.315, 418, 4.203, 460, 3.043, 670, 4.58, 837, 3.567]], ["kind/googleapiclient.http.MediaIoBaseUpload.stream", [56, -1.078]], ["name/googleapiclient.http.MediaIoBaseUpload.to_json", [872, 26.346]], ["names/googleapiclient.http.MediaIoBaseUpload.to_json", [203, 2.735, 870, 3.463]], ["qname/googleapiclient.http.MediaIoBaseUpload.to_json", [916, 11.381]], ["docstring/googleapiclient.http.MediaIoBaseUpload.to_json", [158, 3.432, 460, 3.517, 917, 7.381]], ["kind/googleapiclient.http.MediaIoBaseUpload.to_json", [56, -1.078]], ["name/googleapiclient.http.MediaFileUpload", [918, 58.117]], ["names/googleapiclient.http.MediaFileUpload", [127, 5.365, 166, 3.952, 460, 4.336]], ["qname/googleapiclient.http.MediaFileUpload", [919, 22.761]], ["docstring/googleapiclient.http.MediaFileUpload", [9, 1.941, 20, 1.418, 24, 1.856, 40, 1.367, 41, 1.176, 48, 1.509, 54, 1.785, 56, 0.412, 93, 1.672, 122, 1.856, 127, 3.569, 129, 1.672, 130, 1.856, 149, 1.662, 166, 1.045, 185, 1.176, 202, 1.672, 209, 1.242, 278, 2.047, 460, 2.091, 461, 1.261, 463, 2.047, 473, 3.542, 518, 1.509, 571, 2.818, 625, 3.735, 751, 1.941, 753, 1.856, 754, 1.941, 775, 1.941, 822, 1.583, 831, 2.047, 837, 1.343, 841, 2.047, 843, 3.542, 846, 1.856, 848, 2.047, 849, 1.941, 851, 2.047, 883, 2.047, 884, 2.189, 885, 2.047, 886, 2.047, 887, 2.047, 888, 2.047, 889, 2.189, 890, 2.189, 891, 3.995, 892, 2.189, 893, 3.387, 894, 2.047, 895, 3.995, 896, 2.047, 918, 2.047, 920, 2.189, 921, 1.941, 922, 2.405, 923, 2.189]], ["kind/googleapiclient.http.MediaFileUpload", [21, -4.807]], ["name/googleapiclient.http.MediaFileUpload.__init__", [420, 16.476]], ["names/googleapiclient.http.MediaFileUpload.__init__", [421, 3.303]], ["qname/googleapiclient.http.MediaFileUpload.__init__", [924, 11.381]], ["docstring/googleapiclient.http.MediaFileUpload.__init__", [260, 4.652]], ["kind/googleapiclient.http.MediaFileUpload.__init__", [56, -1.078]], ["name/googleapiclient.http.MediaFileUpload._fd", [898, 29.058]], ["names/googleapiclient.http.MediaFileUpload._fd", [899, 5.973]], ["qname/googleapiclient.http.MediaFileUpload._fd", [925, 11.381]], ["docstring/googleapiclient.http.MediaFileUpload._fd", []], ["kind/googleapiclient.http.MediaFileUpload._fd", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.MediaFileUpload._filename", [926, 34.142]], ["names/googleapiclient.http.MediaFileUpload._filename", [927, 5.973]], ["qname/googleapiclient.http.MediaFileUpload._filename", [928, 11.381]], ["docstring/googleapiclient.http.MediaFileUpload._filename", []], ["kind/googleapiclient.http.MediaFileUpload._filename", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.MediaFileUpload.__del__", [929, 34.142]], ["names/googleapiclient.http.MediaFileUpload.__del__", [930, 7.018]], ["qname/googleapiclient.http.MediaFileUpload.__del__", [931, 11.381]], ["docstring/googleapiclient.http.MediaFileUpload.__del__", []], ["kind/googleapiclient.http.MediaFileUpload.__del__", [56, -1.078]], ["name/googleapiclient.http.MediaFileUpload.to_json", [872, 26.346]], ["names/googleapiclient.http.MediaFileUpload.to_json", [203, 2.735, 870, 3.463]], ["qname/googleapiclient.http.MediaFileUpload.to_json", [932, 11.381]], ["docstring/googleapiclient.http.MediaFileUpload.to_json", [43, 3.84, 203, 3.164, 210, 4.203, 361, 4.58, 918, 5.436]], ["kind/googleapiclient.http.MediaFileUpload.to_json", [56, -1.078]], ["name/googleapiclient.http.MediaFileUpload.from_json", [933, 31.077]], ["names/googleapiclient.http.MediaFileUpload.from_json", [203, 2.735, 275, 3.73]], ["qname/googleapiclient.http.MediaFileUpload.from_json", [934, 11.381]], ["docstring/googleapiclient.http.MediaFileUpload.from_json", []], ["kind/googleapiclient.http.MediaFileUpload.from_json", [56, -0.8, 935, -3.77]], ["name/googleapiclient.http.MediaInMemoryUpload", [936, 62.154]], ["names/googleapiclient.http.MediaInMemoryUpload", [166, 3.361, 460, 3.687, 937, 7.044, 938, 7.739]], ["qname/googleapiclient.http.MediaInMemoryUpload", [939, 22.761]], ["docstring/googleapiclient.http.MediaInMemoryUpload", [7, 4.856, 471, 6.461, 721, 7.47, 822, 6.622, 837, 5.62, 877, 8.564, 940, 9.159, 941, 9.159, 942, 9.159]], ["kind/googleapiclient.http.MediaInMemoryUpload", [21, -4.807]], ["name/googleapiclient.http.MediaInMemoryUpload.__init__", [420, 16.476]], ["names/googleapiclient.http.MediaInMemoryUpload.__init__", [421, 3.303]], ["qname/googleapiclient.http.MediaInMemoryUpload.__init__", [943, 11.381]], ["docstring/googleapiclient.http.MediaInMemoryUpload.__init__", [7, 2.428, 43, 3.025, 44, 3.311, 837, 2.81, 877, 4.282, 936, 4.58, 940, 4.58, 941, 4.58, 942, 4.58]], ["kind/googleapiclient.http.MediaInMemoryUpload.__init__", [56, -1.078]], ["name/googleapiclient.http.MediaIoBaseDownload", [944, 68.284]], ["names/googleapiclient.http.MediaIoBaseDownload", [26, 3.833, 166, 3.361, 816, 5.744, 878, 7.044]], ["qname/googleapiclient.http.MediaIoBaseDownload", [945, 22.761]], ["docstring/googleapiclient.http.MediaIoBaseDownload", [7, 1.7, 21, 1.345, 24, 2.718, 40, 2.001, 48, 7.07, 127, 2.077, 149, 2.338, 152, 1.467, 166, 1.53, 173, 2.718, 209, 1.819, 226, 3.965, 345, 2.842, 435, 4.584, 526, 2.077, 816, 7.354, 838, 2.998, 839, 2.842, 880, 3.206, 946, 3.522, 947, 3.522, 948, 3.522, 949, 3.522, 950, 3.522, 951, 7.506, 952, 6.175, 953, 3.522, 954, 3.206, 955, 3.206, 956, 3.206, 957, 3.206]], ["kind/googleapiclient.http.MediaIoBaseDownload", [21, -4.807]], ["name/googleapiclient.http.MediaIoBaseDownload.__init__", [420, 16.476]], ["names/googleapiclient.http.MediaIoBaseDownload.__init__", [421, 3.303]], ["qname/googleapiclient.http.MediaIoBaseDownload.__init__", [958, 11.381]], ["docstring/googleapiclient.http.MediaIoBaseDownload.__init__", [260, 4.652]], ["kind/googleapiclient.http.MediaIoBaseDownload.__init__", [56, -1.078]], ["name/googleapiclient.http.MediaIoBaseDownload._fd", [898, 29.058]], ["names/googleapiclient.http.MediaIoBaseDownload._fd", [899, 5.973]], ["qname/googleapiclient.http.MediaIoBaseDownload._fd", [959, 11.381]], ["docstring/googleapiclient.http.MediaIoBaseDownload._fd", []], ["kind/googleapiclient.http.MediaIoBaseDownload._fd", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.MediaIoBaseDownload._request", [960, 34.142]], ["names/googleapiclient.http.MediaIoBaseDownload._request", [149, 2.657]], ["qname/googleapiclient.http.MediaIoBaseDownload._request", [961, 11.381]], ["docstring/googleapiclient.http.MediaIoBaseDownload._request", []], ["kind/googleapiclient.http.MediaIoBaseDownload._request", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.MediaIoBaseDownload._uri", [962, 34.142]], ["names/googleapiclient.http.MediaIoBaseDownload._uri", [398, 3.624]], ["qname/googleapiclient.http.MediaIoBaseDownload._uri", [963, 11.381]], ["docstring/googleapiclient.http.MediaIoBaseDownload._uri", []], ["kind/googleapiclient.http.MediaIoBaseDownload._uri", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.MediaIoBaseDownload._chunksize", [903, 29.058]], ["names/googleapiclient.http.MediaIoBaseDownload._chunksize", [855, 5.033]], ["qname/googleapiclient.http.MediaIoBaseDownload._chunksize", [964, 11.381]], ["docstring/googleapiclient.http.MediaIoBaseDownload._chunksize", []], ["kind/googleapiclient.http.MediaIoBaseDownload._chunksize", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.MediaIoBaseDownload._progress", [965, 34.142]], ["names/googleapiclient.http.MediaIoBaseDownload._progress", [804, 4.618]], ["qname/googleapiclient.http.MediaIoBaseDownload._progress", [966, 11.381]], ["docstring/googleapiclient.http.MediaIoBaseDownload._progress", []], ["kind/googleapiclient.http.MediaIoBaseDownload._progress", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.MediaIoBaseDownload._total_size", [967, 34.142]], ["names/googleapiclient.http.MediaIoBaseDownload._total_size", [461, 2.893, 810, 4.698]], ["qname/googleapiclient.http.MediaIoBaseDownload._total_size", [968, 11.381]], ["docstring/googleapiclient.http.MediaIoBaseDownload._total_size", []], ["kind/googleapiclient.http.MediaIoBaseDownload._total_size", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.MediaIoBaseDownload._done", [969, 34.142]], ["names/googleapiclient.http.MediaIoBaseDownload._done", [951, 6.388]], ["qname/googleapiclient.http.MediaIoBaseDownload._done", [970, 11.381]], ["docstring/googleapiclient.http.MediaIoBaseDownload._done", []], ["kind/googleapiclient.http.MediaIoBaseDownload._done", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.MediaIoBaseDownload._sleep", [971, 31.077]], ["names/googleapiclient.http.MediaIoBaseDownload._sleep", [972, 6.388]], ["qname/googleapiclient.http.MediaIoBaseDownload._sleep", [973, 11.381]], ["docstring/googleapiclient.http.MediaIoBaseDownload._sleep", []], ["kind/googleapiclient.http.MediaIoBaseDownload._sleep", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.MediaIoBaseDownload._rand", [974, 31.077]], ["names/googleapiclient.http.MediaIoBaseDownload._rand", [975, 6.388]], ["qname/googleapiclient.http.MediaIoBaseDownload._rand", [976, 11.381]], ["docstring/googleapiclient.http.MediaIoBaseDownload._rand", []], ["kind/googleapiclient.http.MediaIoBaseDownload._rand", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.MediaIoBaseDownload._headers", [977, 34.142]], ["names/googleapiclient.http.MediaIoBaseDownload._headers", [579, 5.033]], ["qname/googleapiclient.http.MediaIoBaseDownload._headers", [978, 11.381]], ["docstring/googleapiclient.http.MediaIoBaseDownload._headers", []], ["kind/googleapiclient.http.MediaIoBaseDownload._headers", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.MediaIoBaseDownload.next_chunk", [979, 31.077]], ["names/googleapiclient.http.MediaIoBaseDownload.next_chunk", [245, 3.959, 471, 3.544]], ["qname/googleapiclient.http.MediaIoBaseDownload.next_chunk", [980, 11.381]], ["docstring/googleapiclient.http.MediaIoBaseDownload.next_chunk", [245, 5.293, 471, 4.739, 816, 5.479]], ["kind/googleapiclient.http.MediaIoBaseDownload.next_chunk", [56, -1.078]], ["name/googleapiclient.http._StreamSlice", [981, 68.284]], ["names/googleapiclient.http._StreamSlice", [837, 6.166, 982, 10.05]], ["qname/googleapiclient.http._StreamSlice", [983, 22.761]], ["docstring/googleapiclient.http._StreamSlice", [7, 1.996, 166, 1.797, 209, 2.136, 235, 2.049, 261, 3.521, 264, 2.539, 418, 2.722, 460, 1.971, 471, 4.559, 571, 2.656, 712, 3.765, 753, 3.192, 760, 3.765, 837, 8.121, 847, 6.463, 849, 3.338, 982, 3.765, 984, 4.137, 985, 7.1, 986, 4.137, 987, 4.137, 988, 4.137, 989, 5.479, 990, 6.463, 991, 4.137]], ["kind/googleapiclient.http._StreamSlice", [21, -4.807]], ["name/googleapiclient.http._StreamSlice.__init__", [420, 16.476]], ["names/googleapiclient.http._StreamSlice.__init__", [421, 3.303]], ["qname/googleapiclient.http._StreamSlice.__init__", [992, 11.381]], ["docstring/googleapiclient.http._StreamSlice.__init__", [260, 4.652]], ["kind/googleapiclient.http._StreamSlice.__init__", [56, -1.078]], ["name/googleapiclient.http._StreamSlice._stream", [993, 34.142]], ["names/googleapiclient.http._StreamSlice._stream", [837, 3.919]], ["qname/googleapiclient.http._StreamSlice._stream", [994, 11.381]], ["docstring/googleapiclient.http._StreamSlice._stream", []], ["kind/googleapiclient.http._StreamSlice._stream", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http._StreamSlice._begin", [995, 34.142]], ["names/googleapiclient.http._StreamSlice._begin", [996, 6.388]], ["qname/googleapiclient.http._StreamSlice._begin", [997, 11.381]], ["docstring/googleapiclient.http._StreamSlice._begin", []], ["kind/googleapiclient.http._StreamSlice._begin", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http._StreamSlice._chunksize", [903, 29.058]], ["names/googleapiclient.http._StreamSlice._chunksize", [855, 5.033]], ["qname/googleapiclient.http._StreamSlice._chunksize", [998, 11.381]], ["docstring/googleapiclient.http._StreamSlice._chunksize", []], ["kind/googleapiclient.http._StreamSlice._chunksize", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http._StreamSlice.read", [989, 26.346]], ["names/googleapiclient.http._StreamSlice.read", [989, 5.415]], ["qname/googleapiclient.http._StreamSlice.read", [999, 11.381]], ["docstring/googleapiclient.http._StreamSlice.read", [90, 6.282, 721, 5.479, 989, 5.696]], ["kind/googleapiclient.http._StreamSlice.read", [56, -1.078]], ["name/googleapiclient.http.HttpRequest", [1000, 47.469]], ["names/googleapiclient.http.HttpRequest", [146, 4.744, 149, 4.18]], ["qname/googleapiclient.http.HttpRequest", [1001, 22.761]], ["docstring/googleapiclient.http.HttpRequest", [129, 9.521, 146, 5.885, 148, 12.467, 149, 5.185]], ["kind/googleapiclient.http.HttpRequest", [21, -4.807]], ["name/googleapiclient.http.HttpRequest.__init__", [420, 16.476]], ["names/googleapiclient.http.HttpRequest.__init__", [421, 3.303]], ["qname/googleapiclient.http.HttpRequest.__init__", [1002, 11.381]], ["docstring/googleapiclient.http.HttpRequest.__init__", [260, 4.259, 1000, 5.564]], ["kind/googleapiclient.http.HttpRequest.__init__", [56, -1.078]], ["name/googleapiclient.http.HttpRequest.uri", [398, 17.633]], ["names/googleapiclient.http.HttpRequest.uri", [398, 3.624]], ["qname/googleapiclient.http.HttpRequest.uri", [1003, 11.381]], ["docstring/googleapiclient.http.HttpRequest.uri", []], ["kind/googleapiclient.http.HttpRequest.uri", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.HttpRequest.method", [56, 5.849]], ["names/googleapiclient.http.HttpRequest.method", [56, 1.202]], ["qname/googleapiclient.http.HttpRequest.method", [1004, 11.381]], ["docstring/googleapiclient.http.HttpRequest.method", []], ["kind/googleapiclient.http.HttpRequest.method", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.HttpRequest.body", [491, 22.467]], ["names/googleapiclient.http.HttpRequest.body", [491, 4.618]], ["qname/googleapiclient.http.HttpRequest.body", [1005, 11.381]], ["docstring/googleapiclient.http.HttpRequest.body", []], ["kind/googleapiclient.http.HttpRequest.body", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.HttpRequest.headers", [579, 24.486]], ["names/googleapiclient.http.HttpRequest.headers", [579, 5.033]], ["qname/googleapiclient.http.HttpRequest.headers", [1006, 11.381]], ["docstring/googleapiclient.http.HttpRequest.headers", []], ["kind/googleapiclient.http.HttpRequest.headers", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.HttpRequest.methodId", [1007, 29.058]], ["names/googleapiclient.http.HttpRequest.methodId", [32, 2.937, 56, 0.946]], ["qname/googleapiclient.http.HttpRequest.methodId", [1008, 11.381]], ["docstring/googleapiclient.http.HttpRequest.methodId", []], ["kind/googleapiclient.http.HttpRequest.methodId", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.HttpRequest.http", [146, 14.671]], ["names/googleapiclient.http.HttpRequest.http", [146, 3.016]], ["qname/googleapiclient.http.HttpRequest.http", [1009, 11.381]], ["docstring/googleapiclient.http.HttpRequest.http", []], ["kind/googleapiclient.http.HttpRequest.http", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.HttpRequest.postproc", [1010, 26.346]], ["names/googleapiclient.http.HttpRequest.postproc", [1010, 5.415]], ["qname/googleapiclient.http.HttpRequest.postproc", [1011, 11.381]], ["docstring/googleapiclient.http.HttpRequest.postproc", []], ["kind/googleapiclient.http.HttpRequest.postproc", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.HttpRequest.resumable", [466, 21.421]], ["names/googleapiclient.http.HttpRequest.resumable", [466, 4.403]], ["qname/googleapiclient.http.HttpRequest.resumable", [1012, 11.381]], ["docstring/googleapiclient.http.HttpRequest.resumable", []], ["kind/googleapiclient.http.HttpRequest.resumable", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.HttpRequest.response_callbacks", [1013, 34.142]], ["names/googleapiclient.http.HttpRequest.response_callbacks", [665, 3.137, 1014, 5.025]], ["qname/googleapiclient.http.HttpRequest.response_callbacks", [1015, 11.381]], ["docstring/googleapiclient.http.HttpRequest.response_callbacks", []], ["kind/googleapiclient.http.HttpRequest.response_callbacks", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.HttpRequest._in_error_state", [1016, 34.142]], ["names/googleapiclient.http.HttpRequest._in_error_state", [101, 3.163, 143, 2.35, 937, 4.141]], ["qname/googleapiclient.http.HttpRequest._in_error_state", [1017, 11.381]], ["docstring/googleapiclient.http.HttpRequest._in_error_state", []], ["kind/googleapiclient.http.HttpRequest._in_error_state", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.HttpRequest.body_size", [1018, 34.142]], ["names/googleapiclient.http.HttpRequest.body_size", [461, 2.893, 491, 3.633]], ["qname/googleapiclient.http.HttpRequest.body_size", [1019, 11.381]], ["docstring/googleapiclient.http.HttpRequest.body_size", []], ["kind/googleapiclient.http.HttpRequest.body_size", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.HttpRequest.resumable_uri", [1020, 34.142]], ["names/googleapiclient.http.HttpRequest.resumable_uri", [398, 2.851, 466, 3.463]], ["qname/googleapiclient.http.HttpRequest.resumable_uri", [1021, 11.381]], ["docstring/googleapiclient.http.HttpRequest.resumable_uri", []], ["kind/googleapiclient.http.HttpRequest.resumable_uri", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.HttpRequest.resumable_progress", [807, 29.058]], ["names/googleapiclient.http.HttpRequest.resumable_progress", [466, 3.463, 804, 3.633]], ["qname/googleapiclient.http.HttpRequest.resumable_progress", [1022, 11.381]], ["docstring/googleapiclient.http.HttpRequest.resumable_progress", []], ["kind/googleapiclient.http.HttpRequest.resumable_progress", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.HttpRequest._rand", [974, 31.077]], ["names/googleapiclient.http.HttpRequest._rand", [975, 6.388]], ["qname/googleapiclient.http.HttpRequest._rand", [1023, 11.381]], ["docstring/googleapiclient.http.HttpRequest._rand", []], ["kind/googleapiclient.http.HttpRequest._rand", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.HttpRequest._sleep", [971, 31.077]], ["names/googleapiclient.http.HttpRequest._sleep", [972, 6.388]], ["qname/googleapiclient.http.HttpRequest._sleep", [1024, 11.381]], ["docstring/googleapiclient.http.HttpRequest._sleep", []], ["kind/googleapiclient.http.HttpRequest._sleep", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.HttpRequest.execute", [1025, 24.486]], ["names/googleapiclient.http.HttpRequest.execute", [1025, 5.033]], ["qname/googleapiclient.http.HttpRequest.execute", [1026, 11.381]], ["docstring/googleapiclient.http.HttpRequest.execute", [149, 3.03, 153, 6.177]], ["kind/googleapiclient.http.HttpRequest.execute", [56, -1.078]], ["name/googleapiclient.http.HttpRequest.add_response_callback", [1027, 34.142]], ["names/googleapiclient.http.HttpRequest.add_response_callback", [407, 2.736, 665, 2.585, 1028, 3.872]], ["qname/googleapiclient.http.HttpRequest.add_response_callback", [1029, 11.381]], ["docstring/googleapiclient.http.HttpRequest.add_response_callback", [1030, 8.742]], ["kind/googleapiclient.http.HttpRequest.add_response_callback", [56, -1.078]], ["name/googleapiclient.http.HttpRequest.next_chunk", [979, 31.077]], ["names/googleapiclient.http.HttpRequest.next_chunk", [245, 3.959, 471, 3.544]], ["qname/googleapiclient.http.HttpRequest.next_chunk", [1031, 11.381]], ["docstring/googleapiclient.http.HttpRequest.next_chunk", [7, 1.357, 20, 0.934, 40, 0.9, 48, 2.882, 56, 0.271, 66, 1.07, 149, 0.6, 152, 0.66, 153, 2.171, 166, 1.222, 173, 1.223, 197, 1.764, 226, 1.017, 245, 1.136, 345, 1.279, 435, 2.088, 460, 2.189, 469, 1.955, 571, 1.017, 822, 1.043, 883, 1.349, 885, 1.349, 886, 1.349, 887, 1.349, 888, 1.349, 923, 1.442, 954, 1.442, 955, 1.442, 956, 1.442, 957, 1.442, 1032, 1.584, 1033, 1.584, 1034, 1.584, 1035, 1.584, 1036, 2.394, 1037, 1.584]], ["kind/googleapiclient.http.HttpRequest.next_chunk", [56, -1.078]], ["name/googleapiclient.http.HttpRequest._process_response", [1038, 34.142]], ["names/googleapiclient.http.HttpRequest._process_response", [131, 4.26, 665, 3.137]], ["qname/googleapiclient.http.HttpRequest._process_response", [1039, 11.381]], ["docstring/googleapiclient.http.HttpRequest._process_response", [129, 4.44, 131, 4.929, 197, 2.97, 460, 3.043, 471, 4.101]], ["kind/googleapiclient.http.HttpRequest._process_response", [56, -1.078]], ["name/googleapiclient.http.HttpRequest.to_json", [872, 26.346]], ["names/googleapiclient.http.HttpRequest.to_json", [203, 2.735, 870, 3.463]], ["qname/googleapiclient.http.HttpRequest.to_json", [1040, 11.381]], ["docstring/googleapiclient.http.HttpRequest.to_json", [59, 3.11, 203, 3.392, 210, 4.506, 1000, 4.761]], ["kind/googleapiclient.http.HttpRequest.to_json", [56, -1.078]], ["name/googleapiclient.http.HttpRequest.from_json", [933, 31.077]], ["names/googleapiclient.http.HttpRequest.from_json", [203, 2.735, 275, 3.73]], ["qname/googleapiclient.http.HttpRequest.from_json", [1041, 11.381]], ["docstring/googleapiclient.http.HttpRequest.from_json", [59, 2.718, 152, 2.492, 203, 2.964, 1000, 4.16, 1042, 5.093, 1043, 5.447]], ["kind/googleapiclient.http.HttpRequest.from_json", [56, -0.8, 935, -3.77]], ["name/googleapiclient.http.HttpRequest.null_postproc", [1044, 34.142]], ["names/googleapiclient.http.HttpRequest.null_postproc", [1010, 4.26, 1045, 5.52]], ["qname/googleapiclient.http.HttpRequest.null_postproc", [1046, 11.381]], ["docstring/googleapiclient.http.HttpRequest.null_postproc", []], ["kind/googleapiclient.http.HttpRequest.null_postproc", [56, -0.8, 935, -3.77]], ["name/googleapiclient.http.BatchHttpRequest", [1047, 58.117]], ["names/googleapiclient.http.BatchHttpRequest", [146, 3.91, 149, 3.445, 478, 6.148]], ["qname/googleapiclient.http.BatchHttpRequest", [1048, 22.761]], ["docstring/googleapiclient.http.BatchHttpRequest", [40, 1.565, 42, 6.685, 48, 3.114, 129, 1.915, 130, 2.126, 144, 7.412, 146, 1.184, 147, 2.507, 149, 1.043, 152, 1.147, 165, 2.984, 197, 4.958, 340, 4.518, 478, 3.353, 571, 5.319, 825, 2.507, 921, 2.223, 1000, 1.915, 1036, 4.224, 1047, 4.224, 1049, 2.755, 1050, 9.705, 1051, 2.755, 1052, 2.755, 1053, 2.755, 1054, 2.755, 1055, 2.507, 1056, 2.755, 1057, 2.755, 1058, 2.755, 1059, 2.755, 1060, 2.755]], ["kind/googleapiclient.http.BatchHttpRequest", [21, -4.807]], ["name/googleapiclient.http.BatchHttpRequest.__init__", [420, 16.476]], ["names/googleapiclient.http.BatchHttpRequest.__init__", [421, 3.303]], ["qname/googleapiclient.http.BatchHttpRequest.__init__", [1061, 11.381]], ["docstring/googleapiclient.http.BatchHttpRequest.__init__", [260, 4.259, 1047, 6.812]], ["kind/googleapiclient.http.BatchHttpRequest.__init__", [56, -1.078]], ["name/googleapiclient.http.BatchHttpRequest._batch_uri", [1062, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._batch_uri", [398, 2.851, 478, 3.73]], ["qname/googleapiclient.http.BatchHttpRequest._batch_uri", [1063, 11.381]], ["docstring/googleapiclient.http.BatchHttpRequest._batch_uri", []], ["kind/googleapiclient.http.BatchHttpRequest._batch_uri", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.BatchHttpRequest._callback", [1064, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._callback", [1028, 5.973]], ["qname/googleapiclient.http.BatchHttpRequest._callback", [1065, 11.381]], ["docstring/googleapiclient.http.BatchHttpRequest._callback", []], ["kind/googleapiclient.http.BatchHttpRequest._callback", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.BatchHttpRequest._requests", [1066, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._requests", [780, 6.388]], ["qname/googleapiclient.http.BatchHttpRequest._requests", [1067, 11.381]], ["docstring/googleapiclient.http.BatchHttpRequest._requests", []], ["kind/googleapiclient.http.BatchHttpRequest._requests", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.BatchHttpRequest._callbacks", [1068, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._callbacks", [1014, 6.388]], ["qname/googleapiclient.http.BatchHttpRequest._callbacks", [1069, 11.381]], ["docstring/googleapiclient.http.BatchHttpRequest._callbacks", []], ["kind/googleapiclient.http.BatchHttpRequest._callbacks", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.BatchHttpRequest._order", [1070, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._order", [642, 6.388]], ["qname/googleapiclient.http.BatchHttpRequest._order", [1071, 11.381]], ["docstring/googleapiclient.http.BatchHttpRequest._order", []], ["kind/googleapiclient.http.BatchHttpRequest._order", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.BatchHttpRequest._last_auto_id", [1072, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._last_auto_id", [32, 2.421, 799, 3.872, 1073, 4.141]], ["qname/googleapiclient.http.BatchHttpRequest._last_auto_id", [1074, 11.381]], ["docstring/googleapiclient.http.BatchHttpRequest._last_auto_id", []], ["kind/googleapiclient.http.BatchHttpRequest._last_auto_id", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.BatchHttpRequest._base_id", [1075, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._base_id", [26, 2.735, 32, 2.937]], ["qname/googleapiclient.http.BatchHttpRequest._base_id", [1076, 11.381]], ["docstring/googleapiclient.http.BatchHttpRequest._base_id", []], ["kind/googleapiclient.http.BatchHttpRequest._base_id", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.BatchHttpRequest._responses", [1077, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._responses", [1078, 5.973]], ["qname/googleapiclient.http.BatchHttpRequest._responses", [1079, 11.381]], ["docstring/googleapiclient.http.BatchHttpRequest._responses", []], ["kind/googleapiclient.http.BatchHttpRequest._responses", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.BatchHttpRequest._refreshed_credentials", [1080, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._refreshed_credentials", [274, 3.633, 1081, 5.52]], ["qname/googleapiclient.http.BatchHttpRequest._refreshed_credentials", [1082, 11.381]], ["docstring/googleapiclient.http.BatchHttpRequest._refreshed_credentials", []], ["kind/googleapiclient.http.BatchHttpRequest._refreshed_credentials", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials", [1083, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials", [274, 2.546, 292, 3.293, 295, 3.522, 615, 3.522]], ["qname/googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials", [1084, 11.381]], ["docstring/googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials", [149, 2.593, 277, 4.911, 292, 5.828, 1085, 6.233]], ["kind/googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials", [56, -1.078]], ["name/googleapiclient.http.BatchHttpRequest._id_to_header", [1086, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._id_to_header", [32, 2.421, 77, 2.921, 870, 2.854]], ["qname/googleapiclient.http.BatchHttpRequest._id_to_header", [1087, 11.381]], ["docstring/googleapiclient.http.BatchHttpRequest._id_to_header", [32, 4.308, 69, 3.004, 77, 3.842, 137, 2.657, 206, 3.842]], ["kind/googleapiclient.http.BatchHttpRequest._id_to_header", [56, -1.078]], ["name/googleapiclient.http.BatchHttpRequest._header_to_id", [1088, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._header_to_id", [32, 2.421, 77, 2.921, 870, 2.854]], ["qname/googleapiclient.http.BatchHttpRequest._header_to_id", [1089, 11.381]], ["docstring/googleapiclient.http.BatchHttpRequest._header_to_id", [32, 3.882, 59, 1.806, 69, 1.997, 77, 3.875, 137, 2.68, 206, 2.553, 208, 2.952, 228, 3.384, 1090, 3.976, 1091, 3.976]], ["kind/googleapiclient.http.BatchHttpRequest._header_to_id", [56, -1.078]], ["name/googleapiclient.http.BatchHttpRequest._serialize_request", [1092, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._serialize_request", [149, 2.09, 700, 3.959]], ["qname/googleapiclient.http.BatchHttpRequest._serialize_request", [1093, 11.381]], ["docstring/googleapiclient.http.BatchHttpRequest._serialize_request", [152, 2.852, 206, 4.397, 235, 3.392, 1000, 4.761]], ["kind/googleapiclient.http.BatchHttpRequest._serialize_request", [56, -1.078]], ["name/googleapiclient.http.BatchHttpRequest._deserialize_response", [1094, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._deserialize_response", [665, 3.137, 703, 3.544]], ["qname/googleapiclient.http.BatchHttpRequest._deserialize_response", [1095, 11.381]], ["docstring/googleapiclient.http.BatchHttpRequest._deserialize_response", [137, 2.835, 197, 2.97, 206, 4.101, 235, 3.164, 1096, 5.813]], ["kind/googleapiclient.http.BatchHttpRequest._deserialize_response", [56, -1.078]], ["name/googleapiclient.http.BatchHttpRequest._new_id", [1097, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._new_id", [32, 2.937, 44, 3.633]], ["qname/googleapiclient.http.BatchHttpRequest._new_id", [1098, 11.381]], ["docstring/googleapiclient.http.BatchHttpRequest._new_id", [7, 2.195, 32, 3.55, 43, 2.735, 44, 2.993, 412, 3.67, 504, 3.51, 893, 3.51, 1073, 4.14, 1099, 4.549, 1100, 4.14]], ["kind/googleapiclient.http.BatchHttpRequest._new_id", [56, -1.078]], ["name/googleapiclient.http.BatchHttpRequest.add", [407, 20.53]], ["names/googleapiclient.http.BatchHttpRequest.add", [407, 4.22]], ["qname/googleapiclient.http.BatchHttpRequest.add", [1101, 11.381]], ["docstring/googleapiclient.http.BatchHttpRequest.add", [32, 2.636, 39, 2.81, 44, 1.159, 111, 1.359, 143, 0.909, 144, 1.224, 149, 1.169, 197, 0.819, 198, 1.224, 202, 1.224, 241, 1.019, 349, 1.307, 374, 1.421, 391, 3.997, 407, 1.059, 571, 1.982, 690, 2.628, 893, 1.359, 896, 1.499, 1028, 2.628, 1102, 1.761, 1103, 1.761, 1104, 4.954, 1105, 3.088, 1106, 1.603, 1107, 1.603, 1108, 1.603, 1109, 1.761, 1110, 1.761]], ["kind/googleapiclient.http.BatchHttpRequest.add", [56, -1.078]], ["name/googleapiclient.http.BatchHttpRequest._execute", [1111, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._execute", [1025, 5.033]], ["qname/googleapiclient.http.BatchHttpRequest._execute", [1112, 11.381]], ["docstring/googleapiclient.http.BatchHttpRequest._execute", [131, 4.343, 149, 2.131, 197, 2.617, 201, 3.257, 478, 3.803, 753, 4.343, 1107, 5.123]], ["kind/googleapiclient.http.BatchHttpRequest._execute", [56, -1.078]], ["name/googleapiclient.http.BatchHttpRequest.execute", [1025, 24.486]], ["names/googleapiclient.http.BatchHttpRequest.execute", [1025, 5.033]], ["qname/googleapiclient.http.BatchHttpRequest.execute", [1113, 11.381]], ["docstring/googleapiclient.http.BatchHttpRequest.execute", [129, 4.16, 146, 2.571, 149, 3.065, 153, 4.618, 478, 4.043]], ["kind/googleapiclient.http.BatchHttpRequest.execute", [56, -1.078]], ["name/googleapiclient.http.HttpRequestMock", [1114, 62.154]], ["names/googleapiclient.http.HttpRequestMock", [146, 3.91, 149, 3.445, 1115, 6.148]], ["qname/googleapiclient.http.HttpRequestMock", [1116, 22.761]], ["docstring/googleapiclient.http.HttpRequestMock", [7, 5.432, 488, 8.687, 518, 7.063, 519, 9.084, 537, 10.247, 1000, 7.826, 1115, 7.606]], ["kind/googleapiclient.http.HttpRequestMock", [21, -4.807]], ["name/googleapiclient.http.HttpRequestMock.__init__", [420, 16.476]], ["names/googleapiclient.http.HttpRequestMock.__init__", [421, 3.303]], ["qname/googleapiclient.http.HttpRequestMock.__init__", [1117, 11.381]], ["docstring/googleapiclient.http.HttpRequestMock.__init__", [260, 4.259, 1114, 7.286]], ["kind/googleapiclient.http.HttpRequestMock.__init__", [56, -1.078]], ["name/googleapiclient.http.HttpRequestMock.resp", [61, 23.735]], ["names/googleapiclient.http.HttpRequestMock.resp", [61, 4.879]], ["qname/googleapiclient.http.HttpRequestMock.resp", [1118, 11.381]], ["docstring/googleapiclient.http.HttpRequestMock.resp", []], ["kind/googleapiclient.http.HttpRequestMock.resp", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.HttpRequestMock.content", [137, 15.158]], ["names/googleapiclient.http.HttpRequestMock.content", [137, 3.116]], ["qname/googleapiclient.http.HttpRequestMock.content", [1119, 11.381]], ["docstring/googleapiclient.http.HttpRequestMock.content", []], ["kind/googleapiclient.http.HttpRequestMock.content", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.HttpRequestMock.postproc", [1010, 26.346]], ["names/googleapiclient.http.HttpRequestMock.postproc", [1010, 5.415]], ["qname/googleapiclient.http.HttpRequestMock.postproc", [1120, 11.381]], ["docstring/googleapiclient.http.HttpRequestMock.postproc", []], ["kind/googleapiclient.http.HttpRequestMock.postproc", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.HttpRequestMock.execute", [1025, 24.486]], ["names/googleapiclient.http.HttpRequestMock.execute", [1025, 5.033]], ["qname/googleapiclient.http.HttpRequestMock.execute", [1121, 11.381]], ["docstring/googleapiclient.http.HttpRequestMock.execute", [133, 3.687, 146, 2.053, 149, 1.809, 153, 3.687, 197, 2.222, 374, 3.855, 1115, 3.228, 1122, 4.778, 1123, 4.778, 1124, 4.778]], ["kind/googleapiclient.http.HttpRequestMock.execute", [56, -1.078]], ["name/googleapiclient.http.RequestMockBuilder", [1125, 68.284]], ["names/googleapiclient.http.RequestMockBuilder", [149, 3.445, 1115, 6.148, 1126, 8.283]], ["qname/googleapiclient.http.RequestMockBuilder", [1127, 22.761]], ["docstring/googleapiclient.http.RequestMockBuilder", [32, 1.149, 38, 1.501, 40, 1.227, 41, 1.055, 48, 2.494, 56, 0.681, 59, 1.805, 78, 1.666, 80, 1.386, 110, 1.249, 117, 1.298, 137, 1.765, 140, 1.965, 149, 0.817, 161, 1.666, 168, 1.742, 187, 1.837, 197, 3.732, 200, 1.742, 232, 1.965, 235, 1.069, 251, 1.965, 260, 1.149, 349, 2.951, 351, 3.618, 418, 1.421, 488, 1.666, 490, 1.965, 493, 1.325, 525, 1.354, 558, 1.965, 571, 2.552, 601, 1.666, 690, 1.837, 845, 1.742, 1000, 1.501, 1007, 3.383, 1036, 3.383, 1108, 1.965, 1115, 1.459, 1128, 2.159, 1129, 1.548, 1130, 1.965, 1131, 3.975, 1132, 2.159, 1133, 3.618, 1134, 2.159, 1135, 2.159, 1136, 2.159, 1137, 2.159, 1138, 1.965, 1139, 2.159, 1140, 2.159, 1141, 2.159, 1142, 2.159, 1143, 2.159, 1144, 2.159, 1145, 1.965, 1146, 2.159, 1147, 1.965, 1148, 1.965, 1149, 2.159, 1150, 2.159]], ["kind/googleapiclient.http.RequestMockBuilder", [21, -4.807]], ["name/googleapiclient.http.RequestMockBuilder.__init__", [420, 16.476]], ["names/googleapiclient.http.RequestMockBuilder.__init__", [421, 3.303]], ["qname/googleapiclient.http.RequestMockBuilder.__init__", [1151, 11.381]], ["docstring/googleapiclient.http.RequestMockBuilder.__init__", [21, 0.909, 41, 1.163, 56, 0.408, 80, 1.528, 110, 1.377, 117, 1.431, 137, 1.057, 152, 1.666, 197, 1.106, 260, 1.266, 349, 1.767, 404, 1.92, 485, 1.92, 488, 1.836, 518, 1.493, 601, 1.836, 793, 1.92, 1007, 3.404, 1106, 2.166, 1129, 1.707, 1130, 2.166, 1145, 2.166, 1147, 2.166, 1152, 2.166, 1153, 2.38, 1154, 2.025, 1155, 2.166, 1156, 2.38]], ["kind/googleapiclient.http.RequestMockBuilder.__init__", [56, -1.078]], ["name/googleapiclient.http.RequestMockBuilder.responses", [1078, 29.058]], ["names/googleapiclient.http.RequestMockBuilder.responses", [1078, 5.973]], ["qname/googleapiclient.http.RequestMockBuilder.responses", [1157, 11.381]], ["docstring/googleapiclient.http.RequestMockBuilder.responses", []], ["kind/googleapiclient.http.RequestMockBuilder.responses", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.RequestMockBuilder.check_unexpected", [1158, 34.142]], ["names/googleapiclient.http.RequestMockBuilder.check_unexpected", [486, 4.698, 1159, 5.025]], ["qname/googleapiclient.http.RequestMockBuilder.check_unexpected", [1160, 11.381]], ["docstring/googleapiclient.http.RequestMockBuilder.check_unexpected", []], ["kind/googleapiclient.http.RequestMockBuilder.check_unexpected", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.RequestMockBuilder.__call__", [1161, 34.142]], ["names/googleapiclient.http.RequestMockBuilder.__call__", [38, 4.879]], ["qname/googleapiclient.http.RequestMockBuilder.__call__", [1162, 11.381]], ["docstring/googleapiclient.http.RequestMockBuilder.__call__", [56, 0.629, 74, 2.831, 152, 1.528, 168, 2.96, 185, 1.793, 197, 1.706, 236, 2.55, 573, 2.302, 670, 2.631, 839, 2.96, 1138, 3.339, 1152, 3.339, 1163, 3.669, 1164, 5.674, 1165, 3.669]], ["kind/googleapiclient.http.RequestMockBuilder.__call__", [56, -1.078]], ["name/googleapiclient.http.HttpMock", [1166, 68.284]], ["names/googleapiclient.http.HttpMock", [146, 4.744, 1115, 7.459]], ["qname/googleapiclient.http.HttpMock", [1167, 22.761]], ["docstring/googleapiclient.http.HttpMock", [1115, 10.816, 1168, 13.625]], ["kind/googleapiclient.http.HttpMock", [21, -4.807]], ["name/googleapiclient.http.HttpMock.__init__", [420, 16.476]], ["names/googleapiclient.http.HttpMock.__init__", [421, 3.303]], ["qname/googleapiclient.http.HttpMock.__init__", [1169, 11.381]], ["docstring/googleapiclient.http.HttpMock.__init__", []], ["kind/googleapiclient.http.HttpMock.__init__", [56, -1.078]], ["name/googleapiclient.http.HttpMock.data", [418, 22.467]], ["names/googleapiclient.http.HttpMock.data", [418, 4.618]], ["qname/googleapiclient.http.HttpMock.data", [1170, 11.381]], ["docstring/googleapiclient.http.HttpMock.data", []], ["kind/googleapiclient.http.HttpMock.data", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.HttpMock.response_headers", [1171, 34.142]], ["names/googleapiclient.http.HttpMock.response_headers", [579, 3.959, 665, 3.137]], ["qname/googleapiclient.http.HttpMock.response_headers", [1172, 11.381]], ["docstring/googleapiclient.http.HttpMock.response_headers", []], ["kind/googleapiclient.http.HttpMock.response_headers", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.HttpMock.headers", [579, 24.486]], ["names/googleapiclient.http.HttpMock.headers", [579, 5.033]], ["qname/googleapiclient.http.HttpMock.headers", [1173, 11.381]], ["docstring/googleapiclient.http.HttpMock.headers", []], ["kind/googleapiclient.http.HttpMock.headers", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.HttpMock.uri", [398, 17.633]], ["names/googleapiclient.http.HttpMock.uri", [398, 3.624]], ["qname/googleapiclient.http.HttpMock.uri", [1174, 11.381]], ["docstring/googleapiclient.http.HttpMock.uri", []], ["kind/googleapiclient.http.HttpMock.uri", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.HttpMock.method", [56, 5.849]], ["names/googleapiclient.http.HttpMock.method", [56, 1.202]], ["qname/googleapiclient.http.HttpMock.method", [1175, 11.381]], ["docstring/googleapiclient.http.HttpMock.method", []], ["kind/googleapiclient.http.HttpMock.method", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.HttpMock.body", [491, 22.467]], ["names/googleapiclient.http.HttpMock.body", [491, 4.618]], ["qname/googleapiclient.http.HttpMock.body", [1176, 11.381]], ["docstring/googleapiclient.http.HttpMock.body", []], ["kind/googleapiclient.http.HttpMock.body", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.HttpMock.request", [149, 12.925]], ["names/googleapiclient.http.HttpMock.request", [149, 2.657]], ["qname/googleapiclient.http.HttpMock.request", [1177, 11.381]], ["docstring/googleapiclient.http.HttpMock.request", []], ["kind/googleapiclient.http.HttpMock.request", [56, -1.078]], ["name/googleapiclient.http.HttpMock.close", [1178, 26.346]], ["names/googleapiclient.http.HttpMock.close", [1178, 5.415]], ["qname/googleapiclient.http.HttpMock.close", [1179, 11.381]], ["docstring/googleapiclient.http.HttpMock.close", []], ["kind/googleapiclient.http.HttpMock.close", [56, -1.078]], ["name/googleapiclient.http.HttpMockSequence", [1180, 68.284]], ["names/googleapiclient.http.HttpMockSequence", [146, 3.91, 1115, 6.148, 1181, 8.283]], ["qname/googleapiclient.http.HttpMockSequence", [1182, 22.761]], ["docstring/googleapiclient.http.HttpMockSequence", [7, 1.066, 38, 2.822, 43, 1.328, 48, 2.547, 51, 2.011, 59, 3.708, 61, 1.536, 69, 1.109, 77, 3.617, 137, 2.501, 139, 1.88, 146, 0.949, 149, 3.091, 197, 4.276, 198, 1.536, 361, 2.912, 398, 1.141, 435, 4.182, 493, 5.012, 563, 1.783, 571, 1.418, 644, 2.011, 864, 5.947, 1115, 2.743, 1133, 3.696, 1168, 3.456, 1183, 2.209, 1184, 2.209, 1185, 2.209, 1186, 2.209, 1187, 2.209, 1188, 4.06, 1189, 2.209, 1190, 2.209, 1191, 2.209, 1192, 2.209, 1193, 2.209, 1194, 2.209, 1195, 2.209, 1196, 2.209, 1197, 2.209, 1198, 2.209, 1199, 2.209]], ["kind/googleapiclient.http.HttpMockSequence", [21, -4.807]], ["name/googleapiclient.http.HttpMockSequence.__init__", [420, 16.476]], ["names/googleapiclient.http.HttpMockSequence.__init__", [421, 3.303]], ["qname/googleapiclient.http.HttpMockSequence.__init__", [1200, 11.381]], ["docstring/googleapiclient.http.HttpMockSequence.__init__", []], ["kind/googleapiclient.http.HttpMockSequence.__init__", [56, -1.078]], ["name/googleapiclient.http.HttpMockSequence._iterable", [1201, 34.142]], ["names/googleapiclient.http.HttpMockSequence._iterable", [1202, 7.018]], ["qname/googleapiclient.http.HttpMockSequence._iterable", [1203, 11.381]], ["docstring/googleapiclient.http.HttpMockSequence._iterable", []], ["kind/googleapiclient.http.HttpMockSequence._iterable", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.HttpMockSequence.follow_redirects", [1204, 34.142]], ["names/googleapiclient.http.HttpMockSequence.follow_redirects", [257, 4.698, 1205, 5.52]], ["qname/googleapiclient.http.HttpMockSequence.follow_redirects", [1206, 11.381]], ["docstring/googleapiclient.http.HttpMockSequence.follow_redirects", []], ["kind/googleapiclient.http.HttpMockSequence.follow_redirects", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.HttpMockSequence.request_sequence", [1207, 34.142]], ["names/googleapiclient.http.HttpMockSequence.request_sequence", [149, 2.09, 1181, 5.025]], ["qname/googleapiclient.http.HttpMockSequence.request_sequence", [1208, 11.381]], ["docstring/googleapiclient.http.HttpMockSequence.request_sequence", []], ["kind/googleapiclient.http.HttpMockSequence.request_sequence", [270, -0.883, 424, -0.999]], ["name/googleapiclient.http.HttpMockSequence.request", [149, 12.925]], ["names/googleapiclient.http.HttpMockSequence.request", [149, 2.657]], ["qname/googleapiclient.http.HttpMockSequence.request", [1209, 11.381]], ["docstring/googleapiclient.http.HttpMockSequence.request", []], ["kind/googleapiclient.http.HttpMockSequence.request", [56, -1.078]], ["name/googleapiclient.http.set_user_agent", [1210, 34.142]], ["names/googleapiclient.http.set_user_agent", [41, 2.224, 567, 3.872, 1211, 4.141]], ["qname/googleapiclient.http.set_user_agent", [1212, 11.381]], ["docstring/googleapiclient.http.set_user_agent", [3, 2.261, 40, 1.592, 41, 2.238, 48, 2.873, 78, 2.162, 93, 1.948, 136, 2.384, 149, 1.061, 554, 2.261, 567, 3.897, 1211, 4.168, 1213, 4.168, 1214, 2.55, 1215, 2.802, 1216, 2.55, 1217, 2.802, 1218, 2.802, 1219, 2.802, 1220, 2.55]], ["kind/googleapiclient.http.set_user_agent", [14, -2.133]], ["name/googleapiclient.http.tunnel_patch", [1221, 34.142]], ["names/googleapiclient.http.tunnel_patch", [750, 4.698, 1222, 5.025]], ["qname/googleapiclient.http.tunnel_patch", [1223, 11.381]], ["docstring/googleapiclient.http.tunnel_patch", [7, 1.93, 20, 1.403, 30, 2.025, 40, 1.352, 48, 2.509, 56, 0.408, 93, 1.654, 149, 0.901, 247, 1.92, 549, 2.025, 563, 1.92, 750, 3.404, 799, 2.025, 843, 1.92, 1085, 2.166, 1213, 3.64, 1214, 2.166, 1216, 2.166, 1222, 2.166, 1224, 2.38, 1225, 2.38, 1226, 2.38, 1227, 2.166, 1228, 2.38, 1229, 2.38, 1230, 2.38]], ["kind/googleapiclient.http.tunnel_patch", [14, -2.133]], ["name/googleapiclient.http.build_http", [1231, 34.142]], ["names/googleapiclient.http.build_http", [146, 2.372, 573, 3.463]], ["qname/googleapiclient.http.build_http", [1232, 11.381]], ["docstring/googleapiclient.http.build_http", [7, 1.483, 38, 2.137, 41, 1.503, 54, 2.282, 56, 0.527, 59, 1.396, 146, 1.321, 149, 1.164, 152, 2.056, 215, 2.616, 241, 2.856, 573, 1.929, 783, 4.493, 1168, 4.201, 1233, 3.074, 1234, 3.074, 1235, 2.481]], ["kind/googleapiclient.http.build_http", [14, -2.133]], ["name/googleapiclient.schema.__author__", [413, 24.486]], ["names/googleapiclient.schema.__author__", [290, 4.879]], ["qname/googleapiclient.schema.__author__", [1236, 11.381]], ["docstring/googleapiclient.schema.__author__", []], ["kind/googleapiclient.schema.__author__", [270, -1.189]], ["name/googleapiclient.schema.Schemas", [1237, 55.101]], ["names/googleapiclient.schema.Schemas", [1237, 11.326]], ["qname/googleapiclient.schema.Schemas", [1238, 22.761]], ["docstring/googleapiclient.schema.Schemas", [28, 8.792, 221, 8.652]], ["kind/googleapiclient.schema.Schemas", [21, -4.807]], ["name/googleapiclient.schema.Schemas.__init__", [420, 16.476]], ["names/googleapiclient.schema.Schemas.__init__", [421, 3.303]], ["qname/googleapiclient.schema.Schemas.__init__", [1239, 11.381]], ["docstring/googleapiclient.schema.Schemas.__init__", [260, 4.652]], ["kind/googleapiclient.schema.Schemas.__init__", [56, -1.078]], ["name/googleapiclient.schema.Schemas.schemas", [1237, 27.55]], ["names/googleapiclient.schema.Schemas.schemas", [1237, 5.663]], ["qname/googleapiclient.schema.Schemas.schemas", [1240, 11.381]], ["docstring/googleapiclient.schema.Schemas.schemas", []], ["kind/googleapiclient.schema.Schemas.schemas", [270, -0.883, 424, -0.999]], ["name/googleapiclient.schema.Schemas.pretty", [1241, 25.344]], ["names/googleapiclient.schema.Schemas.pretty", [1241, 5.209]], ["qname/googleapiclient.schema.Schemas.pretty", [1242, 11.381]], ["docstring/googleapiclient.schema.Schemas.pretty", []], ["kind/googleapiclient.schema.Schemas.pretty", [270, -0.883, 424, -0.999]], ["name/googleapiclient.schema.Schemas._prettyPrintByName", [1243, 34.142]], ["names/googleapiclient.schema.Schemas._prettyPrintByName", [226, 2.484, 263, 1.97, 1241, 2.872, 1244, 3.522]], ["qname/googleapiclient.schema.Schemas._prettyPrintByName", [1245, 11.381]], ["docstring/googleapiclient.schema.Schemas._prettyPrintByName", [152, 2.492, 221, 3.234, 225, 4.618, 226, 3.842, 227, 4.16, 263, 3.047]], ["kind/googleapiclient.schema.Schemas._prettyPrintByName", [56, -1.078]], ["name/googleapiclient.schema.Schemas.prettyPrintByName", [1246, 34.142]], ["names/googleapiclient.schema.Schemas.prettyPrintByName", [226, 2.484, 263, 1.97, 1241, 2.872, 1244, 3.522]], ["qname/googleapiclient.schema.Schemas.prettyPrintByName", [1247, 11.381]], ["docstring/googleapiclient.schema.Schemas.prettyPrintByName", [152, 2.492, 221, 3.234, 225, 4.618, 226, 3.842, 227, 4.16, 263, 3.047]], ["kind/googleapiclient.schema.Schemas.prettyPrintByName", [56, -1.078]], ["name/googleapiclient.schema.Schemas._prettyPrintSchema", [1248, 34.142]], ["names/googleapiclient.schema.Schemas._prettyPrintSchema", [221, 2.459, 226, 2.921, 1241, 3.377]], ["qname/googleapiclient.schema.Schemas._prettyPrintSchema", [1249, 11.381]], ["docstring/googleapiclient.schema.Schemas._prettyPrintSchema", [152, 2.66, 221, 3.452, 225, 4.929, 226, 4.101, 227, 4.44]], ["kind/googleapiclient.schema.Schemas._prettyPrintSchema", [56, -1.078]], ["name/googleapiclient.schema.Schemas.prettyPrintSchema", [1250, 34.142]], ["names/googleapiclient.schema.Schemas.prettyPrintSchema", [221, 2.459, 226, 2.921, 1241, 3.377]], ["qname/googleapiclient.schema.Schemas.prettyPrintSchema", [1251, 11.381]], ["docstring/googleapiclient.schema.Schemas.prettyPrintSchema", [152, 2.66, 221, 3.452, 225, 4.929, 226, 4.101, 227, 4.44]], ["kind/googleapiclient.schema.Schemas.prettyPrintSchema", [56, -1.078]], ["name/googleapiclient.schema.Schemas.get", [45, 20.13]], ["names/googleapiclient.schema.Schemas.get", [45, 4.138]], ["qname/googleapiclient.schema.Schemas.get", [1252, 11.381]], ["docstring/googleapiclient.schema.Schemas.get", [203, 3.164, 221, 4.571, 224, 4.315, 263, 3.252]], ["kind/googleapiclient.schema.Schemas.get", [56, -1.078]], ["name/googleapiclient.schema._SchemaToStruct", [1253, 68.284]], ["names/googleapiclient.schema._SchemaToStruct", [221, 4.918, 870, 5.709, 1254, 9.099]], ["qname/googleapiclient.schema._SchemaToStruct", [1255, 22.761]], ["docstring/googleapiclient.schema._SchemaToStruct", [152, 5.705, 206, 8.794, 221, 7.402, 227, 9.521]], ["kind/googleapiclient.schema._SchemaToStruct", [21, -4.807]], ["name/googleapiclient.schema._SchemaToStruct.__init__", [420, 16.476]], ["names/googleapiclient.schema._SchemaToStruct.__init__", [421, 3.303]], ["qname/googleapiclient.schema._SchemaToStruct.__init__", [1256, 11.381]], ["docstring/googleapiclient.schema._SchemaToStruct.__init__", [260, 4.652]], ["kind/googleapiclient.schema._SchemaToStruct.__init__", [56, -1.078]], ["name/googleapiclient.schema._SchemaToStruct.value", [1257, 25.344]], ["names/googleapiclient.schema._SchemaToStruct.value", [1257, 5.209]], ["qname/googleapiclient.schema._SchemaToStruct.value", [1258, 11.381]], ["docstring/googleapiclient.schema._SchemaToStruct.value", []], ["kind/googleapiclient.schema._SchemaToStruct.value", [270, -0.883, 424, -0.999]], ["name/googleapiclient.schema._SchemaToStruct.string", [235, 16.912]], ["names/googleapiclient.schema._SchemaToStruct.string", [235, 3.476]], ["qname/googleapiclient.schema._SchemaToStruct.string", [1259, 11.381]], ["docstring/googleapiclient.schema._SchemaToStruct.string", []], ["kind/googleapiclient.schema._SchemaToStruct.string", [270, -0.883, 424, -0.999]], ["name/googleapiclient.schema._SchemaToStruct.schema", [221, 18.452]], ["names/googleapiclient.schema._SchemaToStruct.schema", [221, 3.793]], ["qname/googleapiclient.schema._SchemaToStruct.schema", [1260, 11.381]], ["docstring/googleapiclient.schema._SchemaToStruct.schema", []], ["kind/googleapiclient.schema._SchemaToStruct.schema", [270, -0.883, 424, -0.999]], ["name/googleapiclient.schema._SchemaToStruct.dent", [1261, 31.077]], ["names/googleapiclient.schema._SchemaToStruct.dent", [1261, 6.388]], ["qname/googleapiclient.schema._SchemaToStruct.dent", [1262, 11.381]], ["docstring/googleapiclient.schema._SchemaToStruct.dent", []], ["kind/googleapiclient.schema._SchemaToStruct.dent", [270, -0.883, 424, -0.999]], ["name/googleapiclient.schema._SchemaToStruct.from_cache", [1263, 34.142]], ["names/googleapiclient.schema._SchemaToStruct.from_cache", [114, 3.319, 275, 3.73]], ["qname/googleapiclient.schema._SchemaToStruct.from_cache", [1264, 11.381]], ["docstring/googleapiclient.schema._SchemaToStruct.from_cache", []], ["kind/googleapiclient.schema._SchemaToStruct.from_cache", [270, -0.883, 424, -0.999]], ["name/googleapiclient.schema._SchemaToStruct.seen", [1265, 31.077]], ["names/googleapiclient.schema._SchemaToStruct.seen", [1265, 6.388]], ["qname/googleapiclient.schema._SchemaToStruct.seen", [1266, 11.381]], ["docstring/googleapiclient.schema._SchemaToStruct.seen", []], ["kind/googleapiclient.schema._SchemaToStruct.seen", [270, -0.883, 424, -0.999]], ["name/googleapiclient.schema._SchemaToStruct.emit", [1267, 27.55]], ["names/googleapiclient.schema._SchemaToStruct.emit", [1267, 5.663]], ["qname/googleapiclient.schema._SchemaToStruct.emit", [1268, 11.381]], ["docstring/googleapiclient.schema._SchemaToStruct.emit", [258, 5.526, 407, 4.118, 1269, 5.828, 1270, 5.828]], ["kind/googleapiclient.schema._SchemaToStruct.emit", [56, -1.078]], ["name/googleapiclient.schema._SchemaToStruct.emitBegin", [1271, 34.142]], ["names/googleapiclient.schema._SchemaToStruct.emitBegin", [996, 5.025, 1267, 4.455]], ["qname/googleapiclient.schema._SchemaToStruct.emitBegin", [1272, 11.381]], ["docstring/googleapiclient.schema._SchemaToStruct.emitBegin", [258, 5.154, 407, 3.84, 1269, 5.436, 1270, 5.436, 1273, 5.813]], ["kind/googleapiclient.schema._SchemaToStruct.emitBegin", [56, -1.078]], ["name/googleapiclient.schema._SchemaToStruct.emitEnd", [1274, 34.142]], ["names/googleapiclient.schema._SchemaToStruct.emitEnd", [990, 5.025, 1267, 4.455]], ["qname/googleapiclient.schema._SchemaToStruct.emitEnd", [1275, 11.381]], ["docstring/googleapiclient.schema._SchemaToStruct.emitEnd", [258, 4.829, 407, 3.598, 1269, 5.093, 1270, 5.093, 1273, 5.447, 1276, 5.093]], ["kind/googleapiclient.schema._SchemaToStruct.emitEnd", [56, -1.078]], ["name/googleapiclient.schema._SchemaToStruct.indent", [1277, 27.55]], ["names/googleapiclient.schema._SchemaToStruct.indent", [1277, 5.663]], ["qname/googleapiclient.schema._SchemaToStruct.indent", [1278, 11.381]], ["docstring/googleapiclient.schema._SchemaToStruct.indent", [643, 6.718, 1277, 5.956, 1279, 6.718]], ["kind/googleapiclient.schema._SchemaToStruct.indent", [56, -1.078]], ["name/googleapiclient.schema._SchemaToStruct.undent", [1280, 31.077]], ["names/googleapiclient.schema._SchemaToStruct.undent", [1280, 6.388]], ["qname/googleapiclient.schema._SchemaToStruct.undent", [1281, 11.381]], ["docstring/googleapiclient.schema._SchemaToStruct.undent", [1277, 5.956, 1279, 6.718, 1282, 7.381]], ["kind/googleapiclient.schema._SchemaToStruct.undent", [56, -1.078]], ["name/googleapiclient.schema._SchemaToStruct._to_str_impl", [1283, 34.142]], ["names/googleapiclient.schema._SchemaToStruct._to_str_impl", [525, 2.854, 870, 2.854, 1284, 4.55]], ["qname/googleapiclient.schema._SchemaToStruct._to_str_impl", [1285, 11.381]], ["docstring/googleapiclient.schema._SchemaToStruct._to_str_impl", [25, 4.037, 26, 2.788, 152, 2.344, 209, 2.907, 221, 3.042, 227, 3.913, 1276, 4.79]], ["kind/googleapiclient.schema._SchemaToStruct._to_str_impl", [56, -1.078]], ["name/googleapiclient.schema._SchemaToStruct.to_str", [1286, 34.142]], ["names/googleapiclient.schema._SchemaToStruct.to_str", [525, 3.463, 870, 3.463]], ["qname/googleapiclient.schema._SchemaToStruct.to_str", [1287, 11.381]], ["docstring/googleapiclient.schema._SchemaToStruct.to_str", [25, 4.037, 26, 2.788, 152, 2.344, 209, 2.907, 221, 3.042, 227, 3.913, 1276, 4.79]], ["kind/googleapiclient.schema._SchemaToStruct.to_str", [56, -1.078]], ["name/googleapiclient.discovery.logger", [302, 20.53]], ["names/googleapiclient.discovery.logger", [302, 4.22]], ["qname/googleapiclient.discovery.logger", [1288, 11.381]], ["docstring/googleapiclient.discovery.logger", []], ["kind/googleapiclient.discovery.logger", [270, -1.189]], ["name/googleapiclient.discovery.URITEMPLATE", [1289, 31.077]], ["names/googleapiclient.discovery.URITEMPLATE", [1289, 6.388]], ["qname/googleapiclient.discovery.URITEMPLATE", [1290, 11.381]], ["docstring/googleapiclient.discovery.URITEMPLATE", []], ["kind/googleapiclient.discovery.URITEMPLATE", [308, -2.426]], ["name/googleapiclient.discovery.VARNAME", [1291, 31.077]], ["names/googleapiclient.discovery.VARNAME", [1291, 6.388]], ["qname/googleapiclient.discovery.VARNAME", [1292, 11.381]], ["docstring/googleapiclient.discovery.VARNAME", []], ["kind/googleapiclient.discovery.VARNAME", [308, -2.426]], ["name/googleapiclient.discovery.DISCOVERY_URI", [1293, 34.142]], ["names/googleapiclient.discovery.DISCOVERY_URI", [107, 3.73, 398, 2.851]], ["qname/googleapiclient.discovery.DISCOVERY_URI", [1294, 11.381]], ["docstring/googleapiclient.discovery.DISCOVERY_URI", []], ["kind/googleapiclient.discovery.DISCOVERY_URI", [308, -2.426]], ["name/googleapiclient.discovery.V2_DISCOVERY_URI", [1295, 34.142]], ["names/googleapiclient.discovery.V2_DISCOVERY_URI", [107, 3.074, 398, 2.35, 1055, 4.141]], ["qname/googleapiclient.discovery.V2_DISCOVERY_URI", [1296, 11.381]], ["docstring/googleapiclient.discovery.V2_DISCOVERY_URI", []], ["kind/googleapiclient.discovery.V2_DISCOVERY_URI", [308, -2.426]], ["name/googleapiclient.discovery.DEFAULT_METHOD_DOC", [1297, 34.142]], ["names/googleapiclient.discovery.DEFAULT_METHOD_DOC", [56, 0.779, 241, 2.632, 1298, 3.511]], ["qname/googleapiclient.discovery.DEFAULT_METHOD_DOC", [1299, 11.381]], ["docstring/googleapiclient.discovery.DEFAULT_METHOD_DOC", []], ["kind/googleapiclient.discovery.DEFAULT_METHOD_DOC", [308, -2.426]], ["name/googleapiclient.discovery.HTTP_PAYLOAD_METHODS", [1300, 34.142]], ["names/googleapiclient.discovery.HTTP_PAYLOAD_METHODS", [146, 1.955, 1301, 4.55, 1302, 3.671]], ["qname/googleapiclient.discovery.HTTP_PAYLOAD_METHODS", [1303, 11.381]], ["docstring/googleapiclient.discovery.HTTP_PAYLOAD_METHODS", []], ["kind/googleapiclient.discovery.HTTP_PAYLOAD_METHODS", [308, -2.426]], ["name/googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS", [1304, 34.142]], ["names/googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS", [166, 1.681, 461, 2.028, 1305, 3.869, 1306, 3.869]], ["qname/googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS", [1307, 11.381]], ["docstring/googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS", []], ["kind/googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS", [308, -2.426]], ["name/googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE", [1308, 34.142]], ["names/googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE", [241, 2.239, 408, 2.986, 491, 2.546, 1257, 2.872]], ["qname/googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE", [1309, 11.381]], ["docstring/googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE", []], ["kind/googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE", [308, -2.426]], ["name/googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE", [1310, 34.142]], ["names/googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE", [166, 1.462, 241, 1.948, 408, 2.597, 491, 2.215, 1257, 2.499]], ["qname/googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE", [1311, 11.381]], ["docstring/googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE", []], ["kind/googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE", [308, -2.426]], ["name/googleapiclient.discovery.MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE", [1312, 34.142]], ["names/googleapiclient.discovery.MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE", [157, 1.912, 158, 1.385, 166, 1.294, 241, 1.723, 408, 2.298, 1257, 2.211]], ["qname/googleapiclient.discovery.MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE", [1313, 11.381]], ["docstring/googleapiclient.discovery.MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE", []], ["kind/googleapiclient.discovery.MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE", [308, -2.426]], ["name/googleapiclient.discovery._PAGE_TOKEN_NAMES", [1314, 34.142]], ["names/googleapiclient.discovery._PAGE_TOKEN_NAMES", [244, 3.377, 246, 3.671, 1315, 4.55]], ["qname/googleapiclient.discovery._PAGE_TOKEN_NAMES", [1316, 11.381]], ["docstring/googleapiclient.discovery._PAGE_TOKEN_NAMES", []], ["kind/googleapiclient.discovery._PAGE_TOKEN_NAMES", [308, -2.426]], ["name/googleapiclient.discovery.GOOGLE_API_USE_CLIENT_CERTIFICATE", [1317, 34.142]], ["names/googleapiclient.discovery.GOOGLE_API_USE_CLIENT_CERTIFICATE", [28, 1.849, 109, 2.865, 268, 2.716, 1318, 3.064, 1319, 3.366]], ["qname/googleapiclient.discovery.GOOGLE_API_USE_CLIENT_CERTIFICATE", [1320, 11.381]], ["docstring/googleapiclient.discovery.GOOGLE_API_USE_CLIENT_CERTIFICATE", []], ["kind/googleapiclient.discovery.GOOGLE_API_USE_CLIENT_CERTIFICATE", [308, -2.426]], ["name/googleapiclient.discovery.GOOGLE_API_USE_MTLS_ENDPOINT", [1321, 34.142]], ["names/googleapiclient.discovery.GOOGLE_API_USE_MTLS_ENDPOINT", [28, 1.849, 268, 2.716, 1220, 3.064, 1318, 3.064, 1322, 3.366]], ["qname/googleapiclient.discovery.GOOGLE_API_USE_MTLS_ENDPOINT", [1323, 11.381]], ["docstring/googleapiclient.discovery.GOOGLE_API_USE_MTLS_ENDPOINT", []], ["kind/googleapiclient.discovery.GOOGLE_API_USE_MTLS_ENDPOINT", [308, -2.426]], ["name/googleapiclient.discovery.GOOGLE_CLOUD_UNIVERSE_DOMAIN", [1324, 34.142]], ["names/googleapiclient.discovery.GOOGLE_CLOUD_UNIVERSE_DOMAIN", [268, 3.122, 584, 2.986, 1325, 3.869, 1326, 3.293]], ["qname/googleapiclient.discovery.GOOGLE_CLOUD_UNIVERSE_DOMAIN", [1327, 11.381]], ["docstring/googleapiclient.discovery.GOOGLE_CLOUD_UNIVERSE_DOMAIN", []], ["kind/googleapiclient.discovery.GOOGLE_CLOUD_UNIVERSE_DOMAIN", [308, -2.426]], ["name/googleapiclient.discovery.DEFAULT_UNIVERSE", [1328, 34.142]], ["names/googleapiclient.discovery.DEFAULT_UNIVERSE", [241, 3.194, 584, 4.26]], ["qname/googleapiclient.discovery.DEFAULT_UNIVERSE", [1329, 11.381]], ["docstring/googleapiclient.discovery.DEFAULT_UNIVERSE", []], ["kind/googleapiclient.discovery.DEFAULT_UNIVERSE", [308, -2.426]], ["name/googleapiclient.discovery.STACK_QUERY_PARAMETERS", [1330, 34.142]], ["names/googleapiclient.discovery.STACK_QUERY_PARAMETERS", [395, 3.377, 1331, 4.141, 1332, 3.671]], ["qname/googleapiclient.discovery.STACK_QUERY_PARAMETERS", [1333, 11.381]], ["docstring/googleapiclient.discovery.STACK_QUERY_PARAMETERS", []], ["kind/googleapiclient.discovery.STACK_QUERY_PARAMETERS", [308, -2.426]], ["name/googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE", [1334, 34.142]], ["names/googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE", [241, 1.948, 395, 2.499, 408, 2.597, 1257, 2.499, 1331, 3.064]], ["qname/googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE", [1335, 11.381]], ["docstring/googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE", []], ["kind/googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE", [308, -2.426]], ["name/googleapiclient.discovery.APICoreVersionError", [1336, 68.284]], ["names/googleapiclient.discovery.APICoreVersionError", [143, 4.699, 264, 5.586, 1337, 9.099]], ["qname/googleapiclient.discovery.APICoreVersionError", [1338, 22.761]], ["docstring/googleapiclient.discovery.APICoreVersionError", []], ["kind/googleapiclient.discovery.APICoreVersionError", [310, -7.281]], ["name/googleapiclient.discovery.APICoreVersionError.__init__", [420, 16.476]], ["names/googleapiclient.discovery.APICoreVersionError.__init__", [421, 3.303]], ["qname/googleapiclient.discovery.APICoreVersionError.__init__", [1339, 11.381]], ["docstring/googleapiclient.discovery.APICoreVersionError.__init__", []], ["kind/googleapiclient.discovery.APICoreVersionError.__init__", [56, -1.078]], ["name/googleapiclient.discovery.RESERVED_WORDS", [1340, 34.142]], ["names/googleapiclient.discovery.RESERVED_WORDS", [1341, 5.52, 1342, 5.52]], ["qname/googleapiclient.discovery.RESERVED_WORDS", [1343, 11.381]], ["docstring/googleapiclient.discovery.RESERVED_WORDS", []], ["kind/googleapiclient.discovery.RESERVED_WORDS", [308, -2.426]], ["name/googleapiclient.discovery._BytesGenerator", [1344, 68.284]], ["names/googleapiclient.discovery._BytesGenerator", [1345, 11.041, 1346, 11.041]], ["qname/googleapiclient.discovery._BytesGenerator", [1347, 22.761]], ["docstring/googleapiclient.discovery._BytesGenerator", []], ["kind/googleapiclient.discovery._BytesGenerator", [21, -4.807]], ["name/googleapiclient.discovery.fix_method_name", [1348, 34.142]], ["names/googleapiclient.discovery.fix_method_name", [56, 0.779, 263, 2.316, 1349, 3.377]], ["qname/googleapiclient.discovery.fix_method_name", [1350, 11.381]], ["docstring/googleapiclient.discovery.fix_method_name", [56, 0.862, 263, 2.562, 893, 3.883, 1100, 4.58, 1349, 3.735, 1351, 5.031, 1352, 5.031, 1353, 5.031, 1354, 5.031]], ["kind/googleapiclient.discovery.fix_method_name", [14, -2.133]], ["name/googleapiclient.discovery.key2param", [1355, 31.077]], ["names/googleapiclient.discovery.key2param", [1355, 6.388]], ["qname/googleapiclient.discovery.key2param", [1356, 11.381]], ["docstring/googleapiclient.discovery.key2param", [40, 2.585, 52, 2.92, 185, 2.224, 206, 4.284, 247, 3.67, 263, 3.397, 771, 3.376, 1357, 4.549, 1358, 4.549]], ["kind/googleapiclient.discovery.key2param", [14, -2.133]], ["name/googleapiclient.discovery.build", [573, 21.421]], ["names/googleapiclient.discovery.build", [573, 4.403]], ["qname/googleapiclient.discovery.build", [1359, 11.381]], ["docstring/googleapiclient.discovery.build", [28, 3.315, 110, 2.301, 152, 1.656, 263, 2.025, 264, 2.441, 518, 3.787, 526, 3.559, 921, 3.209, 1235, 4.87, 1360, 3.619]], ["kind/googleapiclient.discovery.build", [14, -2.133]], ["name/googleapiclient.discovery._discovery_service_uri_options", [1361, 34.142]], ["names/googleapiclient.discovery._discovery_service_uri_options", [107, 2.614, 398, 1.998, 1362, 3.522, 1363, 3.869]], ["qname/googleapiclient.discovery._discovery_service_uri_options", [1364, 11.381]], ["docstring/googleapiclient.discovery._discovery_service_uri_options", [7, 2.564, 28, 2.918, 59, 2.413, 110, 3.074, 398, 2.744, 526, 3.133, 573, 3.333, 1365, 5.313]], ["kind/googleapiclient.discovery._discovery_service_uri_options", [14, -2.133]], ["name/googleapiclient.discovery._retrieve_discovery_doc", [1366, 34.142]], ["names/googleapiclient.discovery._retrieve_discovery_doc", [107, 3.074, 1298, 3.511, 1367, 4.55]], ["qname/googleapiclient.discovery._retrieve_discovery_doc", [1368, 11.381]], ["docstring/googleapiclient.discovery._retrieve_discovery_doc", [86, 5.526, 116, 4.296, 1369, 6.848, 1370, 6.848]], ["kind/googleapiclient.discovery._retrieve_discovery_doc", [14, -2.133]], ["name/googleapiclient.discovery._check_api_core_compatible_with_credentials_universe", [1371, 34.142]], ["names/googleapiclient.discovery._check_api_core_compatible_with_credentials_universe", [28, 1.467, 274, 1.758, 282, 2.431, 584, 2.061, 1159, 2.431, 1372, 2.671, 1373, 2.671]], ["qname/googleapiclient.discovery._check_api_core_compatible_with_credentials_universe", [1374, 11.381]], ["docstring/googleapiclient.discovery._check_api_core_compatible_with_credentials_universe", []], ["kind/googleapiclient.discovery._check_api_core_compatible_with_credentials_universe", [14, -2.133]], ["name/googleapiclient.discovery.build_from_document", [1375, 34.142]], ["names/googleapiclient.discovery.build_from_document", [117, 2.736, 275, 3.074, 573, 2.854]], ["qname/googleapiclient.discovery.build_from_document", [1376, 11.381]], ["docstring/googleapiclient.discovery.build_from_document", [28, 1.87, 43, 2.048, 86, 2.748, 110, 1.97, 117, 2.048, 133, 2.628, 146, 1.463, 152, 1.418, 199, 2.898, 229, 2.048, 377, 2.898, 518, 2.136, 526, 3.157, 549, 2.898, 573, 2.136, 1235, 2.748, 1377, 3.405]], ["kind/googleapiclient.discovery.build_from_document", [14, -2.133]], ["name/googleapiclient.discovery._cast", [1378, 34.142]], ["names/googleapiclient.discovery._cast", [1379, 7.018]], ["qname/googleapiclient.discovery._cast", [1380, 11.381]], ["docstring/googleapiclient.discovery._cast", [26, 1.75, 69, 1.773, 158, 1.642, 168, 2.85, 200, 2.85, 203, 3.355, 206, 2.268, 221, 3.661, 235, 1.75, 1148, 3.215, 1381, 3.215, 1382, 3.215, 1383, 3.532]], ["kind/googleapiclient.discovery._cast", [14, -2.133]], ["name/googleapiclient.discovery._media_size_to_long", [1384, 34.142]], ["names/googleapiclient.discovery._media_size_to_long", [166, 1.681, 461, 2.028, 870, 2.428, 1385, 3.869]], ["qname/googleapiclient.discovery._media_size_to_long", [1386, 11.381]], ["docstring/googleapiclient.discovery._media_size_to_long", [166, 2.308, 202, 3.694, 206, 3.411, 235, 2.632, 461, 2.785, 1387, 5.313, 1388, 5.313, 1389, 4.836]], ["kind/googleapiclient.discovery._media_size_to_long", [14, -2.133]], ["name/googleapiclient.discovery._media_path_url_from_info", [1390, 34.142]], ["names/googleapiclient.discovery._media_path_url_from_info", [166, 1.462, 275, 2.274, 410, 2.34, 1043, 3.064, 1391, 2.597]], ["qname/googleapiclient.discovery._media_path_url_from_info", [1392, 11.381]], ["docstring/googleapiclient.discovery._media_path_url_from_info", [7, 1.643, 28, 2.941, 43, 2.048, 56, 0.583, 110, 1.97, 117, 2.048, 166, 1.479, 398, 1.759, 410, 2.367, 518, 2.136, 921, 2.748, 1391, 5.106, 1393, 3.405, 1394, 3.1, 1395, 3.405]], ["kind/googleapiclient.discovery._media_path_url_from_info", [14, -2.133]], ["name/googleapiclient.discovery._fix_up_parameters", [1396, 34.142]], ["names/googleapiclient.discovery._fix_up_parameters", [34, 3.163, 1332, 3.671, 1349, 3.377]], ["qname/googleapiclient.discovery._fix_up_parameters", [1397, 11.381]], ["docstring/googleapiclient.discovery._fix_up_parameters", [26, 1.003, 28, 2.52, 56, 0.786, 67, 2.354, 69, 1.016, 80, 1.3, 94, 2.689, 110, 2.016, 111, 1.562, 117, 1.217, 152, 0.843, 165, 1.217, 185, 3.004, 236, 1.407, 250, 1.842, 407, 2.095, 720, 1.842, 833, 1.842, 1398, 2.024, 1399, 2.024, 1400, 2.024, 1401, 2.024, 1402, 2.024, 1403, 1.723, 1404, 1.723]], ["kind/googleapiclient.discovery._fix_up_parameters", [14, -2.133]], ["name/googleapiclient.discovery._fix_up_media_upload", [1405, 34.142]], ["names/googleapiclient.discovery._fix_up_media_upload", [34, 2.69, 166, 1.681, 460, 1.844, 1349, 2.872]], ["qname/googleapiclient.discovery._fix_up_media_upload", [1406, 11.381]], ["docstring/googleapiclient.discovery._fix_up_media_upload", [20, 2.25, 52, 2.45, 56, 1.002, 185, 2.859, 236, 2.653, 407, 3.517, 822, 2.511, 920, 3.474, 1403, 3.248, 1404, 3.248, 1407, 3.816, 1408, 3.816]], ["kind/googleapiclient.discovery._fix_up_media_upload", [14, -2.133]], ["name/googleapiclient.discovery._fix_up_method_description", [1409, 34.142]], ["names/googleapiclient.discovery._fix_up_method_description", [34, 2.69, 56, 0.663, 1349, 2.872, 1410, 3.869]], ["qname/googleapiclient.discovery._fix_up_method_description", [1411, 11.381]], ["docstring/googleapiclient.discovery._fix_up_method_description", [7, 1.77, 30, 3.122, 56, 0.972, 67, 2.479, 80, 2.355, 110, 2.123, 117, 2.206, 185, 2.774, 236, 3.945, 1403, 3.122, 1404, 3.122, 1412, 3.669, 1413, 3.669]], ["kind/googleapiclient.discovery._fix_up_method_description", [14, -2.133]], ["name/googleapiclient.discovery._fix_up_media_path_base_url", [1414, 34.142]], ["names/googleapiclient.discovery._fix_up_media_path_base_url", [26, 1.475, 34, 2.071, 166, 1.294, 410, 2.071, 1349, 2.211, 1391, 2.298]], ["qname/googleapiclient.discovery._fix_up_media_path_base_url", [1415, 11.381]], ["docstring/googleapiclient.discovery._fix_up_media_path_base_url", [26, 3.355, 67, 2.386, 78, 2.726, 163, 2.533, 166, 1.534, 410, 4.709, 460, 1.683, 1227, 3.215, 1416, 5.51, 1417, 3.532, 1418, 3.532, 1419, 3.532]], ["kind/googleapiclient.discovery._fix_up_media_path_base_url", [14, -2.133]], ["name/googleapiclient.discovery._urljoin", [1420, 34.142]], ["names/googleapiclient.discovery._urljoin", [1421, 6.388]], ["qname/googleapiclient.discovery._urljoin", [1422, 11.381]], ["docstring/googleapiclient.discovery._urljoin", [20, 3.133, 54, 3.944, 366, 4.836, 404, 4.287, 410, 3.694, 570, 4.836, 1421, 4.836, 1423, 5.313]], ["kind/googleapiclient.discovery._urljoin", [14, -2.133]], ["name/googleapiclient.discovery.ResourceMethodParameters", [1424, 68.284]], ["names/googleapiclient.discovery.ResourceMethodParameters", [56, 1.559, 507, 5.842, 1332, 7.343]], ["qname/googleapiclient.discovery.ResourceMethodParameters", [1425, 22.761]], ["docstring/googleapiclient.discovery.ResourceMethodParameters", [56, 2.346, 185, 6.695, 546, 12.467, 1426, 10.569]], ["kind/googleapiclient.discovery.ResourceMethodParameters", [21, -4.807]], ["name/googleapiclient.discovery.ResourceMethodParameters.argmap", [1427, 31.077]], ["names/googleapiclient.discovery.ResourceMethodParameters.argmap", [1427, 6.388]], ["qname/googleapiclient.discovery.ResourceMethodParameters.argmap", [1428, 11.381]], ["docstring/googleapiclient.discovery.ResourceMethodParameters.argmap", [56, 0.862, 185, 3.509, 235, 3.555, 263, 3.654, 399, 3.735, 1129, 3.608]], ["kind/googleapiclient.discovery.ResourceMethodParameters.argmap", [270, -0.883, 424, -0.999]], ["name/googleapiclient.discovery.ResourceMethodParameters.required_params", [1429, 34.142]], ["names/googleapiclient.discovery.ResourceMethodParameters.required_params", [396, 3.633, 1430, 5.52]], ["qname/googleapiclient.discovery.ResourceMethodParameters.required_params", [1431, 11.381]], ["docstring/googleapiclient.discovery.ResourceMethodParameters.required_params", [165, 3.385, 185, 3.796, 235, 2.788, 263, 2.866, 355, 5.123, 1426, 4.343]], ["kind/googleapiclient.discovery.ResourceMethodParameters.required_params", [270, -0.883, 424, -0.999]], ["name/googleapiclient.discovery.ResourceMethodParameters.repeated_params", [1432, 34.142]], ["names/googleapiclient.discovery.ResourceMethodParameters.repeated_params", [396, 3.633, 1433, 5.52]], ["qname/googleapiclient.discovery.ResourceMethodParameters.repeated_params", [1434, 11.381]], ["docstring/googleapiclient.discovery.ResourceMethodParameters.repeated_params", [165, 3.385, 185, 3.796, 219, 4.79, 235, 2.788, 263, 2.866, 1426, 4.343]], ["kind/googleapiclient.discovery.ResourceMethodParameters.repeated_params", [270, -0.883, 424, -0.999]], ["name/googleapiclient.discovery.ResourceMethodParameters.pattern_params", [1435, 34.142]], ["names/googleapiclient.discovery.ResourceMethodParameters.pattern_params", [151, 4.698, 396, 3.633]], ["qname/googleapiclient.discovery.ResourceMethodParameters.pattern_params", [1436, 11.381]], ["docstring/googleapiclient.discovery.ResourceMethodParameters.pattern_params", [41, 1.793, 56, 0.629, 69, 1.842, 151, 3.122, 163, 2.631, 185, 3.392, 235, 2.811, 263, 1.868, 1129, 2.631, 1437, 5.674, 1438, 5.674]], ["kind/googleapiclient.discovery.ResourceMethodParameters.pattern_params", [270, -0.883, 424, -0.999]], ["name/googleapiclient.discovery.ResourceMethodParameters.query_params", [1439, 34.142]], ["names/googleapiclient.discovery.ResourceMethodParameters.query_params", [395, 4.098, 396, 3.633]], ["qname/googleapiclient.discovery.ResourceMethodParameters.query_params", [1440, 11.381]], ["docstring/googleapiclient.discovery.ResourceMethodParameters.query_params", [7, 2.428, 165, 3.025, 185, 3.509, 235, 3.555, 263, 2.562, 399, 3.735, 1426, 3.883]], ["kind/googleapiclient.discovery.ResourceMethodParameters.query_params", [270, -0.883, 424, -0.999]], ["name/googleapiclient.discovery.ResourceMethodParameters.path_params", [1441, 34.142]], ["names/googleapiclient.discovery.ResourceMethodParameters.path_params", [396, 3.633, 1391, 4.26]], ["qname/googleapiclient.discovery.ResourceMethodParameters.path_params", [1442, 11.381]], ["docstring/googleapiclient.discovery.ResourceMethodParameters.path_params", [7, 2.306, 26, 2.367, 41, 2.336, 185, 3.381, 235, 2.367, 263, 2.433, 410, 3.321, 1391, 3.687, 1426, 3.687]], ["kind/googleapiclient.discovery.ResourceMethodParameters.path_params", [270, -0.883, 424, -0.999]], ["name/googleapiclient.discovery.ResourceMethodParameters.param_types", [1443, 34.142]], ["names/googleapiclient.discovery.ResourceMethodParameters.param_types", [400, 3.73, 1444, 5.52]], ["qname/googleapiclient.discovery.ResourceMethodParameters.param_types", [1445, 11.381]], ["docstring/googleapiclient.discovery.ResourceMethodParameters.param_types", [56, 0.441, 69, 1.292, 89, 3.062, 152, 1.072, 158, 2.544, 185, 2.087, 203, 2.115, 221, 2.307, 235, 2.115, 263, 1.31, 504, 1.986, 1129, 1.846, 1155, 2.342, 1381, 2.342, 1382, 2.342, 1389, 2.342, 1446, 2.573, 1447, 2.573, 1448, 2.573, 1449, 2.573]], ["kind/googleapiclient.discovery.ResourceMethodParameters.param_types", [270, -0.883, 424, -0.999]], ["name/googleapiclient.discovery.ResourceMethodParameters.enum_params", [1450, 34.142]], ["names/googleapiclient.discovery.ResourceMethodParameters.enum_params", [396, 3.633, 1451, 5.025]], ["qname/googleapiclient.discovery.ResourceMethodParameters.enum_params", [1452, 11.381]], ["docstring/googleapiclient.discovery.ResourceMethodParameters.enum_params", [56, 0.681, 69, 1.997, 165, 4.387, 185, 1.944, 198, 2.764, 235, 3.613, 263, 2.025, 464, 2.391, 1129, 2.852, 1451, 3.619]], ["kind/googleapiclient.discovery.ResourceMethodParameters.enum_params", [270, -0.883, 424, -0.999]], ["name/googleapiclient.discovery.ResourceMethodParameters.__init__", [420, 16.476]], ["names/googleapiclient.discovery.ResourceMethodParameters.__init__", [421, 3.303]], ["qname/googleapiclient.discovery.ResourceMethodParameters.__init__", [1453, 11.381]], ["docstring/googleapiclient.discovery.ResourceMethodParameters.__init__", [41, 2.597, 69, 2.668, 241, 3.074, 260, 2.827, 1042, 4.522, 1454, 5.313, 1455, 5.313, 1456, 5.313]], ["kind/googleapiclient.discovery.ResourceMethodParameters.__init__", [56, -1.078]], ["name/googleapiclient.discovery.ResourceMethodParameters.set_parameters", [1457, 34.142]], ["names/googleapiclient.discovery.ResourceMethodParameters.set_parameters", [41, 2.699, 1332, 4.455]], ["qname/googleapiclient.discovery.ResourceMethodParameters.set_parameters", [1458, 11.381]], ["docstring/googleapiclient.discovery.ResourceMethodParameters.set_parameters", [26, 1.89, 56, 1.002, 69, 1.916, 80, 2.45, 87, 2.511, 165, 2.295, 185, 2.859, 198, 2.653, 236, 2.653, 1042, 3.248, 1129, 2.737, 1459, 3.474, 1460, 3.474]], ["kind/googleapiclient.discovery.ResourceMethodParameters.set_parameters", [56, -1.078]], ["name/googleapiclient.discovery.createMethod", [1461, 34.142]], ["names/googleapiclient.discovery.createMethod", [56, 0.946, 1462, 5.025]], ["qname/googleapiclient.discovery.createMethod", [1463, 11.381]], ["docstring/googleapiclient.discovery.createMethod", [43, 4.118, 56, 1.173, 526, 4.038, 1464, 6.233]], ["kind/googleapiclient.discovery.createMethod", [14, -2.133]], ["name/googleapiclient.discovery.createNextMethod", [1465, 34.142]], ["names/googleapiclient.discovery.createNextMethod", [56, 0.779, 245, 3.263, 1462, 4.141]], ["qname/googleapiclient.discovery.createNextMethod", [1466, 11.381]], ["docstring/googleapiclient.discovery.createNextMethod", [43, 2.496, 56, 1.068, 165, 2.496, 197, 1.93, 334, 3.532, 526, 2.447, 754, 3.349, 1459, 3.778, 1460, 3.778, 1464, 3.778, 1467, 6.234]], ["kind/googleapiclient.discovery.createNextMethod", [14, -2.133]], ["name/googleapiclient.discovery.Resource", [507, 43.842]], ["names/googleapiclient.discovery.Resource", [507, 9.012]], ["qname/googleapiclient.discovery.Resource", [1468, 22.761]], ["docstring/googleapiclient.discovery.Resource", [21, 5.64, 526, 8.704, 1235, 11.912]], ["kind/googleapiclient.discovery.Resource", [21, -4.807]], ["name/googleapiclient.discovery.Resource.__init__", [420, 16.476]], ["names/googleapiclient.discovery.Resource.__init__", [421, 3.303]], ["qname/googleapiclient.discovery.Resource.__init__", [1469, 11.381]], ["docstring/googleapiclient.discovery.Resource.__init__", [28, 3.761, 236, 4.761, 526, 4.038, 573, 4.296]], ["kind/googleapiclient.discovery.Resource.__init__", [56, -1.078]], ["name/googleapiclient.discovery.Resource._dynamic_attrs", [1470, 34.142]], ["names/googleapiclient.discovery.Resource._dynamic_attrs", [1471, 5.025, 1472, 5.52]], ["qname/googleapiclient.discovery.Resource._dynamic_attrs", [1473, 11.381]], ["docstring/googleapiclient.discovery.Resource._dynamic_attrs", []], ["kind/googleapiclient.discovery.Resource._dynamic_attrs", [270, -0.883, 424, -0.999]], ["name/googleapiclient.discovery.Resource._http", [1474, 34.142]], ["names/googleapiclient.discovery.Resource._http", [146, 3.016]], ["qname/googleapiclient.discovery.Resource._http", [1475, 11.381]], ["docstring/googleapiclient.discovery.Resource._http", []], ["kind/googleapiclient.discovery.Resource._http", [270, -0.883, 424, -0.999]], ["name/googleapiclient.discovery.Resource._baseUrl", [1476, 34.142]], ["names/googleapiclient.discovery.Resource._baseUrl", [26, 2.735, 410, 3.838]], ["qname/googleapiclient.discovery.Resource._baseUrl", [1477, 11.381]], ["docstring/googleapiclient.discovery.Resource._baseUrl", []], ["kind/googleapiclient.discovery.Resource._baseUrl", [270, -0.883, 424, -0.999]], ["name/googleapiclient.discovery.Resource._model", [1478, 34.142]], ["names/googleapiclient.discovery.Resource._model", [195, 3.988]], ["qname/googleapiclient.discovery.Resource._model", [1479, 11.381]], ["docstring/googleapiclient.discovery.Resource._model", []], ["kind/googleapiclient.discovery.Resource._model", [270, -0.883, 424, -0.999]], ["name/googleapiclient.discovery.Resource._developerKey", [1480, 34.142]], ["names/googleapiclient.discovery.Resource._developerKey", [1481, 5.52, 1482, 5.52]], ["qname/googleapiclient.discovery.Resource._developerKey", [1483, 11.381]], ["docstring/googleapiclient.discovery.Resource._developerKey", []], ["kind/googleapiclient.discovery.Resource._developerKey", [270, -0.883, 424, -0.999]], ["name/googleapiclient.discovery.Resource._requestBuilder", [1484, 34.142]], ["names/googleapiclient.discovery.Resource._requestBuilder", [149, 2.09, 1126, 5.025]], ["qname/googleapiclient.discovery.Resource._requestBuilder", [1485, 11.381]], ["docstring/googleapiclient.discovery.Resource._requestBuilder", []], ["kind/googleapiclient.discovery.Resource._requestBuilder", [270, -0.883, 424, -0.999]], ["name/googleapiclient.discovery.Resource._resourceDesc", [1486, 34.142]], ["names/googleapiclient.discovery.Resource._resourceDesc", [507, 3.544, 1487, 5.025]], ["qname/googleapiclient.discovery.Resource._resourceDesc", [1488, 11.381]], ["docstring/googleapiclient.discovery.Resource._resourceDesc", []], ["kind/googleapiclient.discovery.Resource._resourceDesc", [270, -0.883, 424, -0.999]], ["name/googleapiclient.discovery.Resource._rootDesc", [1489, 34.142]], ["names/googleapiclient.discovery.Resource._rootDesc", [1394, 5.025, 1487, 5.025]], ["qname/googleapiclient.discovery.Resource._rootDesc", [1490, 11.381]], ["docstring/googleapiclient.discovery.Resource._rootDesc", []], ["kind/googleapiclient.discovery.Resource._rootDesc", [270, -0.883, 424, -0.999]], ["name/googleapiclient.discovery.Resource._schema", [1491, 34.142]], ["names/googleapiclient.discovery.Resource._schema", [221, 3.793]], ["qname/googleapiclient.discovery.Resource._schema", [1492, 11.381]], ["docstring/googleapiclient.discovery.Resource._schema", []], ["kind/googleapiclient.discovery.Resource._schema", [270, -0.883, 424, -0.999]], ["name/googleapiclient.discovery.Resource._universe_domain", [1493, 34.142]], ["names/googleapiclient.discovery.Resource._universe_domain", [584, 4.26, 1326, 4.698]], ["qname/googleapiclient.discovery.Resource._universe_domain", [1494, 11.381]], ["docstring/googleapiclient.discovery.Resource._universe_domain", []], ["kind/googleapiclient.discovery.Resource._universe_domain", [270, -0.883, 424, -0.999]], ["name/googleapiclient.discovery.Resource._credentials_validated", [1495, 34.142]], ["names/googleapiclient.discovery.Resource._credentials_validated", [274, 3.633, 1496, 5.52]], ["qname/googleapiclient.discovery.Resource._credentials_validated", [1497, 11.381]], ["docstring/googleapiclient.discovery.Resource._credentials_validated", []], ["kind/googleapiclient.discovery.Resource._credentials_validated", [270, -0.883, 424, -0.999]], ["name/googleapiclient.discovery.Resource._set_dynamic_attr", [1498, 34.142]], ["names/googleapiclient.discovery.Resource._set_dynamic_attr", [41, 2.224, 1471, 4.141, 1499, 3.872]], ["qname/googleapiclient.discovery.Resource._set_dynamic_attr", [1500, 11.381]], ["docstring/googleapiclient.discovery.Resource._set_dynamic_attr", [41, 2.751, 165, 3.385, 361, 4.037, 679, 7.069, 1501, 5.629, 1502, 5.629]], ["kind/googleapiclient.discovery.Resource._set_dynamic_attr", [56, -1.078]], ["name/googleapiclient.discovery.Resource.__getstate__", [1503, 34.142]], ["names/googleapiclient.discovery.Resource.__getstate__", [1504, 7.018]], ["qname/googleapiclient.discovery.Resource.__getstate__", [1505, 11.381]], ["docstring/googleapiclient.discovery.Resource.__getstate__", [7, 1.77, 101, 2.55, 201, 2.123, 223, 3.122, 361, 2.631, 1050, 3.339, 1499, 3.122, 1506, 3.669, 1507, 3.669, 1508, 5.165, 1509, 3.339, 1510, 3.339, 1511, 3.339, 1512, 3.339, 1513, 3.339]], ["kind/googleapiclient.discovery.Resource.__getstate__", [56, -1.078]], ["name/googleapiclient.discovery.Resource.__setstate__", [1514, 34.142]], ["names/googleapiclient.discovery.Resource.__setstate__", [1515, 7.018]], ["qname/googleapiclient.discovery.Resource.__setstate__", [1516, 11.381]], ["docstring/googleapiclient.discovery.Resource.__setstate__", [7, 1.77, 66, 2.479, 101, 2.55, 152, 1.528, 201, 2.123, 223, 3.122, 361, 2.631, 1499, 3.122, 1508, 5.165, 1509, 3.339, 1510, 3.339, 1511, 3.339, 1512, 3.339, 1513, 3.339, 1517, 3.669]], ["kind/googleapiclient.discovery.Resource.__setstate__", [56, -1.078]], ["name/googleapiclient.discovery.Resource.__enter__", [1518, 34.142]], ["names/googleapiclient.discovery.Resource.__enter__", [1519, 7.018]], ["qname/googleapiclient.discovery.Resource.__enter__", [1520, 11.381]], ["docstring/googleapiclient.discovery.Resource.__enter__", []], ["kind/googleapiclient.discovery.Resource.__enter__", [56, -1.078]], ["name/googleapiclient.discovery.Resource.__exit__", [1521, 34.142]], ["names/googleapiclient.discovery.Resource.__exit__", [1522, 7.018]], ["qname/googleapiclient.discovery.Resource.__exit__", [1523, 11.381]], ["docstring/googleapiclient.discovery.Resource.__exit__", []], ["kind/googleapiclient.discovery.Resource.__exit__", [56, -1.078]], ["name/googleapiclient.discovery.Resource.close", [1178, 26.346]], ["names/googleapiclient.discovery.Resource.close", [1178, 5.415]], ["qname/googleapiclient.discovery.Resource.close", [1524, 11.381]], ["docstring/googleapiclient.discovery.Resource.close", [894, 6.282, 1096, 6.718, 1178, 5.696]], ["kind/googleapiclient.discovery.Resource.close", [56, -1.078]], ["name/googleapiclient.discovery.Resource._set_service_methods", [1525, 34.142]], ["names/googleapiclient.discovery.Resource._set_service_methods", [41, 2.224, 1302, 3.671, 1362, 4.141]], ["qname/googleapiclient.discovery.Resource._set_service_methods", [1526, 11.381]], ["docstring/googleapiclient.discovery.Resource._set_service_methods", []], ["kind/googleapiclient.discovery.Resource._set_service_methods", [56, -1.078]], ["name/googleapiclient.discovery.Resource._add_basic_methods", [1527, 34.142]], ["names/googleapiclient.discovery.Resource._add_basic_methods", [162, 4.141, 407, 2.736, 1302, 3.671]], ["qname/googleapiclient.discovery.Resource._add_basic_methods", [1528, 11.381]], ["docstring/googleapiclient.discovery.Resource._add_basic_methods", []], ["kind/googleapiclient.discovery.Resource._add_basic_methods", [56, -1.078]], ["name/googleapiclient.discovery.Resource._add_nested_resources", [1529, 34.142]], ["names/googleapiclient.discovery.Resource._add_nested_resources", [407, 2.736, 1530, 4.55, 1531, 4.55]], ["qname/googleapiclient.discovery.Resource._add_nested_resources", [1532, 11.381]], ["docstring/googleapiclient.discovery.Resource._add_nested_resources", []], ["kind/googleapiclient.discovery.Resource._add_nested_resources", [56, -1.078]], ["name/googleapiclient.discovery.Resource._add_next_methods", [1533, 34.142]], ["names/googleapiclient.discovery.Resource._add_next_methods", [245, 3.263, 407, 2.736, 1302, 3.671]], ["qname/googleapiclient.discovery.Resource._add_next_methods", [1534, 11.381]], ["docstring/googleapiclient.discovery.Resource._add_next_methods", []], ["kind/googleapiclient.discovery.Resource._add_next_methods", [56, -1.078]], ["name/googleapiclient.discovery.Resource._validate_credentials", [1535, 34.142]], ["names/googleapiclient.discovery.Resource._validate_credentials", [274, 3.633, 1536, 5.52]], ["qname/googleapiclient.discovery.Resource._validate_credentials", [1537, 11.381]], ["docstring/googleapiclient.discovery.Resource._validate_credentials", [89, 4.291, 277, 4.291, 1326, 5.093, 1538, 5.984, 1539, 5.984, 1540, 5.984]], ["kind/googleapiclient.discovery.Resource._validate_credentials", [56, -1.078]], ["name/googleapiclient.discovery._findPageTokenName", [1541, 34.142]], ["names/googleapiclient.discovery._findPageTokenName", [244, 2.872, 246, 3.122, 263, 1.97, 619, 3.122]], ["qname/googleapiclient.discovery._findPageTokenName", [1542, 11.381]], ["docstring/googleapiclient.discovery._findPageTokenName", [199, 5.093, 244, 4.442, 246, 4.829, 263, 3.047, 1154, 5.093, 1543, 5.984]], ["kind/googleapiclient.discovery._findPageTokenName", [14, -2.133]], ["name/googleapiclient.discovery._methodProperties", [1544, 34.142]], ["names/googleapiclient.discovery._methodProperties", [56, 0.946, 1545, 5.52]], ["qname/googleapiclient.discovery._methodProperties", [1546, 11.381]], ["docstring/googleapiclient.discovery._methodProperties", [56, 1.173, 233, 6.233, 236, 4.761, 1154, 5.828]], ["kind/googleapiclient.discovery._methodProperties", [14, -2.133]], ["name/googleapiclient.discovery_cache.LOGGER", [302, 20.53]], ["names/googleapiclient.discovery_cache.LOGGER", [302, 4.22]], ["qname/googleapiclient.discovery_cache.LOGGER", [1547, 11.381]], ["docstring/googleapiclient.discovery_cache.LOGGER", []], ["kind/googleapiclient.discovery_cache.LOGGER", [308, -2.426]], ["name/googleapiclient.discovery_cache.DISCOVERY_DOC_MAX_AGE", [1548, 34.142]], ["names/googleapiclient.discovery_cache.DISCOVERY_DOC_MAX_AGE", [107, 2.614, 771, 2.872, 1298, 2.986, 1549, 3.293]], ["qname/googleapiclient.discovery_cache.DISCOVERY_DOC_MAX_AGE", [1550, 11.381]], ["docstring/googleapiclient.discovery_cache.DISCOVERY_DOC_MAX_AGE", []], ["kind/googleapiclient.discovery_cache.DISCOVERY_DOC_MAX_AGE", [308, -2.426]], ["name/googleapiclient.discovery_cache.DISCOVERY_DOC_DIR", [1551, 31.077]], ["names/googleapiclient.discovery_cache.DISCOVERY_DOC_DIR", [107, 3.074, 323, 4.141, 1298, 3.511]], ["qname/googleapiclient.discovery_cache.DISCOVERY_DOC_DIR", [1552, 11.381]], ["docstring/googleapiclient.discovery_cache.DISCOVERY_DOC_DIR", []], ["kind/googleapiclient.discovery_cache.DISCOVERY_DOC_DIR", [308, -2.426]], ["name/googleapiclient.discovery_cache.autodetect", [1553, 31.077]], ["names/googleapiclient.discovery_cache.autodetect", [1553, 6.388]], ["qname/googleapiclient.discovery_cache.autodetect", [1554, 11.381]], ["docstring/googleapiclient.discovery_cache.autodetect", [59, 2.901, 116, 4.007, 160, 5.154, 574, 5.436, 1555, 6.387]], ["kind/googleapiclient.discovery_cache.autodetect", [14, -2.133]], ["name/googleapiclient.discovery_cache.get_static_doc", [1556, 34.142]], ["names/googleapiclient.discovery_cache.get_static_doc", [45, 2.682, 935, 3.671, 1298, 3.511]], ["qname/googleapiclient.discovery_cache.get_static_doc", [1557, 11.381]], ["docstring/googleapiclient.discovery_cache.get_static_doc", [86, 3.855, 110, 2.764, 117, 2.873, 145, 3.855, 161, 3.687, 264, 2.933, 405, 4.349, 1360, 4.349, 1551, 4.349, 1558, 4.349]], ["kind/googleapiclient.discovery_cache.get_static_doc", [14, -2.133]], ["name/googleapiclient.discovery_cache.base.Cache", [114, 41.06]], ["names/googleapiclient.discovery_cache.base.Cache", [114, 8.44]], ["qname/googleapiclient.discovery_cache.base.Cache", [1559, 22.761]], ["docstring/googleapiclient.discovery_cache.base.Cache", [21, 5.232, 26, 6.784, 116, 8.593, 125, 11.657]], ["kind/googleapiclient.discovery_cache.base.Cache", [21, -4.807]], ["name/googleapiclient.discovery_cache.base.Cache.get", [45, 20.13]], ["names/googleapiclient.discovery_cache.base.Cache.get", [45, 4.138]], ["qname/googleapiclient.discovery_cache.base.Cache.get", [1560, 11.381]], ["docstring/googleapiclient.discovery_cache.base.Cache.get", [45, 3.766, 52, 4.101, 123, 4.929, 137, 2.835, 229, 3.84]], ["kind/googleapiclient.discovery_cache.base.Cache.get", [56, -1.078]], ["name/googleapiclient.discovery_cache.base.Cache.set", [41, 16.69]], ["names/googleapiclient.discovery_cache.base.Cache.set", [41, 3.431]], ["qname/googleapiclient.discovery_cache.base.Cache.set", [1561, 11.381]], ["docstring/googleapiclient.discovery_cache.base.Cache.set", [41, 3.122, 52, 4.101, 116, 4.007, 137, 2.835, 229, 3.84]], ["kind/googleapiclient.discovery_cache.base.Cache.set", [56, -1.078]], ["name/googleapiclient.discovery_cache.appengine_memcache.LOGGER", [302, 20.53]], ["names/googleapiclient.discovery_cache.appengine_memcache.LOGGER", [302, 4.22]], ["qname/googleapiclient.discovery_cache.appengine_memcache.LOGGER", [1562, 11.381]], ["docstring/googleapiclient.discovery_cache.appengine_memcache.LOGGER", []], ["kind/googleapiclient.discovery_cache.appengine_memcache.LOGGER", [308, -2.426]], ["name/googleapiclient.discovery_cache.appengine_memcache.NAMESPACE", [1563, 31.077]], ["names/googleapiclient.discovery_cache.appengine_memcache.NAMESPACE", [1563, 6.388]], ["qname/googleapiclient.discovery_cache.appengine_memcache.NAMESPACE", [1564, 11.381]], ["docstring/googleapiclient.discovery_cache.appengine_memcache.NAMESPACE", []], ["kind/googleapiclient.discovery_cache.appengine_memcache.NAMESPACE", [308, -2.426]], ["name/googleapiclient.discovery_cache.appengine_memcache.Cache", [114, 41.06]], ["names/googleapiclient.discovery_cache.appengine_memcache.Cache", [114, 8.44]], ["qname/googleapiclient.discovery_cache.appengine_memcache.Cache", [1565, 20.718]], ["docstring/googleapiclient.discovery_cache.appengine_memcache.Cache", [28, 7.016, 93, 8.88, 116, 8.014, 122, 9.857, 123, 9.857]], ["kind/googleapiclient.discovery_cache.appengine_memcache.Cache", [21, -4.807]], ["name/googleapiclient.discovery_cache.appengine_memcache.Cache.__init__", [420, 16.476]], ["names/googleapiclient.discovery_cache.appengine_memcache.Cache.__init__", [421, 3.303]], ["qname/googleapiclient.discovery_cache.appengine_memcache.Cache.__init__", [1566, 11.381]], ["docstring/googleapiclient.discovery_cache.appengine_memcache.Cache.__init__", [260, 4.652]], ["kind/googleapiclient.discovery_cache.appengine_memcache.Cache.__init__", [56, -1.078]], ["name/googleapiclient.discovery_cache.appengine_memcache.Cache._max_age", [1567, 31.077]], ["names/googleapiclient.discovery_cache.appengine_memcache.Cache._max_age", [771, 4.098, 1549, 4.698]], ["qname/googleapiclient.discovery_cache.appengine_memcache.Cache._max_age", [1568, 11.381]], ["docstring/googleapiclient.discovery_cache.appengine_memcache.Cache._max_age", []], ["kind/googleapiclient.discovery_cache.appengine_memcache.Cache._max_age", [270, -0.883, 424, -0.999]], ["name/googleapiclient.discovery_cache.appengine_memcache.Cache.get", [45, 20.13]], ["names/googleapiclient.discovery_cache.appengine_memcache.Cache.get", [45, 4.138]], ["qname/googleapiclient.discovery_cache.appengine_memcache.Cache.get", [1569, 11.381]], ["docstring/googleapiclient.discovery_cache.appengine_memcache.Cache.get", [45, 3.766, 52, 4.101, 123, 4.929, 137, 2.835, 229, 3.84]], ["kind/googleapiclient.discovery_cache.appengine_memcache.Cache.get", [56, -1.078]], ["name/googleapiclient.discovery_cache.appengine_memcache.Cache.set", [41, 16.69]], ["names/googleapiclient.discovery_cache.appengine_memcache.Cache.set", [41, 3.431]], ["qname/googleapiclient.discovery_cache.appengine_memcache.Cache.set", [1570, 11.381]], ["docstring/googleapiclient.discovery_cache.appengine_memcache.Cache.set", [41, 3.122, 52, 4.101, 116, 4.007, 137, 2.835, 229, 3.84]], ["kind/googleapiclient.discovery_cache.appengine_memcache.Cache.set", [56, -1.078]], ["name/googleapiclient.discovery_cache.appengine_memcache.cache", [114, 20.53]], ["names/googleapiclient.discovery_cache.appengine_memcache.cache", [114, 4.22]], ["qname/googleapiclient.discovery_cache.appengine_memcache.cache", [1565, 10.359]], ["docstring/googleapiclient.discovery_cache.appengine_memcache.cache", []], ["kind/googleapiclient.discovery_cache.appengine_memcache.cache", [270, -1.189]], ["name/googleapiclient.discovery_cache.file_cache.LOGGER", [302, 20.53]], ["names/googleapiclient.discovery_cache.file_cache.LOGGER", [302, 4.22]], ["qname/googleapiclient.discovery_cache.file_cache.LOGGER", [1571, 11.381]], ["docstring/googleapiclient.discovery_cache.file_cache.LOGGER", []], ["kind/googleapiclient.discovery_cache.file_cache.LOGGER", [308, -2.426]], ["name/googleapiclient.discovery_cache.file_cache.FILENAME", [927, 29.058]], ["names/googleapiclient.discovery_cache.file_cache.FILENAME", [927, 5.973]], ["qname/googleapiclient.discovery_cache.file_cache.FILENAME", [1572, 11.381]], ["docstring/googleapiclient.discovery_cache.file_cache.FILENAME", []], ["kind/googleapiclient.discovery_cache.file_cache.FILENAME", [308, -2.426]], ["name/googleapiclient.discovery_cache.file_cache.EPOCH", [495, 26.346]], ["names/googleapiclient.discovery_cache.file_cache.EPOCH", [495, 5.415]], ["qname/googleapiclient.discovery_cache.file_cache.EPOCH", [1573, 11.381]], ["docstring/googleapiclient.discovery_cache.file_cache.EPOCH", []], ["kind/googleapiclient.discovery_cache.file_cache.EPOCH", [308, -2.426]], ["name/googleapiclient.discovery_cache.file_cache._to_timestamp", [1574, 34.142]], ["names/googleapiclient.discovery_cache.file_cache._to_timestamp", [870, 3.463, 1575, 5.52]], ["qname/googleapiclient.discovery_cache.file_cache._to_timestamp", [1576, 11.381]], ["docstring/googleapiclient.discovery_cache.file_cache._to_timestamp", []], ["kind/googleapiclient.discovery_cache.file_cache._to_timestamp", [14, -2.133]], ["name/googleapiclient.discovery_cache.file_cache._read_or_initialize_cache", [1577, 34.142]], ["names/googleapiclient.discovery_cache.file_cache._read_or_initialize_cache", [114, 2.327, 451, 3.522, 989, 2.986, 1578, 3.869]], ["qname/googleapiclient.discovery_cache.file_cache._read_or_initialize_cache", [1579, 11.381]], ["docstring/googleapiclient.discovery_cache.file_cache._read_or_initialize_cache", []], ["kind/googleapiclient.discovery_cache.file_cache._read_or_initialize_cache", [14, -2.133]], ["name/googleapiclient.discovery_cache.file_cache.Cache", [114, 41.06]], ["names/googleapiclient.discovery_cache.file_cache.Cache", [114, 8.44]], ["qname/googleapiclient.discovery_cache.file_cache.Cache", [1580, 20.718]], ["docstring/googleapiclient.discovery_cache.file_cache.Cache", [26, 6.327, 110, 7.391, 116, 8.014, 117, 7.681, 127, 7.531]], ["kind/googleapiclient.discovery_cache.file_cache.Cache", [21, -4.807]], ["name/googleapiclient.discovery_cache.file_cache.Cache.__init__", [420, 16.476]], ["names/googleapiclient.discovery_cache.file_cache.Cache.__init__", [421, 3.303]], ["qname/googleapiclient.discovery_cache.file_cache.Cache.__init__", [1581, 11.381]], ["docstring/googleapiclient.discovery_cache.file_cache.Cache.__init__", [260, 4.652]], ["kind/googleapiclient.discovery_cache.file_cache.Cache.__init__", [56, -1.078]], ["name/googleapiclient.discovery_cache.file_cache.Cache._max_age", [1567, 31.077]], ["names/googleapiclient.discovery_cache.file_cache.Cache._max_age", [771, 4.098, 1549, 4.698]], ["qname/googleapiclient.discovery_cache.file_cache.Cache._max_age", [1582, 11.381]], ["docstring/googleapiclient.discovery_cache.file_cache.Cache._max_age", []], ["kind/googleapiclient.discovery_cache.file_cache.Cache._max_age", [270, -0.883, 424, -0.999]], ["name/googleapiclient.discovery_cache.file_cache.Cache._file", [1583, 34.142]], ["names/googleapiclient.discovery_cache.file_cache.Cache._file", [127, 4.138]], ["qname/googleapiclient.discovery_cache.file_cache.Cache._file", [1584, 11.381]], ["docstring/googleapiclient.discovery_cache.file_cache.Cache._file", []], ["kind/googleapiclient.discovery_cache.file_cache.Cache._file", [270, -0.883, 424, -0.999]], ["name/googleapiclient.discovery_cache.file_cache.Cache.get", [45, 20.13]], ["names/googleapiclient.discovery_cache.file_cache.Cache.get", [45, 4.138]], ["qname/googleapiclient.discovery_cache.file_cache.Cache.get", [1585, 11.381]], ["docstring/googleapiclient.discovery_cache.file_cache.Cache.get", [45, 3.766, 52, 4.101, 123, 4.929, 137, 2.835, 229, 3.84]], ["kind/googleapiclient.discovery_cache.file_cache.Cache.get", [56, -1.078]], ["name/googleapiclient.discovery_cache.file_cache.Cache.set", [41, 16.69]], ["names/googleapiclient.discovery_cache.file_cache.Cache.set", [41, 3.431]], ["qname/googleapiclient.discovery_cache.file_cache.Cache.set", [1586, 11.381]], ["docstring/googleapiclient.discovery_cache.file_cache.Cache.set", [41, 3.122, 52, 4.101, 116, 4.007, 137, 2.835, 229, 3.84]], ["kind/googleapiclient.discovery_cache.file_cache.Cache.set", [56, -1.078]], ["name/googleapiclient.discovery_cache.file_cache.cache", [114, 20.53]], ["names/googleapiclient.discovery_cache.file_cache.cache", [114, 4.22]], ["qname/googleapiclient.discovery_cache.file_cache.cache", [1580, 10.359]], ["docstring/googleapiclient.discovery_cache.file_cache.cache", []], ["kind/googleapiclient.discovery_cache.file_cache.cache", [270, -1.189]], ["name/googleapiclient.sample_tools.__author__", [413, 24.486]], ["names/googleapiclient.sample_tools.__author__", [290, 4.879]], ["qname/googleapiclient.sample_tools.__author__", [1587, 11.381]], ["docstring/googleapiclient.sample_tools.__author__", []], ["kind/googleapiclient.sample_tools.__author__", [270, -1.189]], ["name/googleapiclient.sample_tools.init", [421, 16.069]], ["names/googleapiclient.sample_tools.init", [421, 3.303]], ["qname/googleapiclient.sample_tools.init", [1588, 11.381]], ["docstring/googleapiclient.sample_tools.init", [7, 1.02, 14, 1.227, 28, 1.161, 36, 3.079, 70, 1.925, 127, 2.796, 133, 2.792, 139, 3.079, 216, 4.316, 217, 1.925, 220, 2.792, 263, 1.842, 277, 1.516, 627, 1.8, 866, 1.8, 1558, 1.925, 1589, 3.618, 1590, 2.114, 1591, 2.114, 1592, 2.114, 1593, 2.114, 1594, 2.114, 1595, 2.114, 1596, 2.114]], ["kind/googleapiclient.sample_tools.init", [14, -2.133]]], "invertedIndex": [["\"", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 1135}], ["\"\"\"{", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}}, "kind": {}, "_index": 230}], ["\")", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.http.HttpMockSequence": {}}, "kind": {}, "_index": 51}], ["\"calendar#acl\"", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}}, "kind": {}, "_index": 242}], ["#", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.schema": {}, "googleapiclient._helpers.positional": {}, "googleapiclient.http.BatchHttpRequest": {}}, "kind": {}, "_index": 42}], ["%", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseDownload": {}, "googleapiclient.http.HttpRequest.next_chunk": {}}, "kind": {}, "_index": 955}], ["'$'", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.fix_method_name": {}}, "kind": {}, "_index": 1351}], ["''),", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpMockSequence": {}}, "kind": {}, "_index": 1186}], ["'*',", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.parse_media_range": {}}, "kind": {}, "_index": 610}], ["'0.5'})", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.parse_mime_type": {}, "googleapiclient.mimeparse.parse_media_range": {}}, "kind": {}, "_index": 605}], ["'application/xhtml;q=0.5'", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.parse_mime_type": {}}, "kind": {}, "_index": 603}], ["'channel.id'.", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 53}], ["'plus.activities.get':", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 1139}], ["'text/*;q=0.5,*/*;", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.best_match": {}}, "kind": {}, "_index": 649}], ["'text/xml'", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.best_match": {}}, "kind": {}, "_index": 651}], ["'text/xml'],", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.best_match": {}}, "kind": {}, "_index": 648}], ["'{\"access_token\":\"1/3w\",\"expires_in\":3600}'),", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpMockSequence": {}}, "kind": {}, "_index": 1187}], ["(", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.fitness_and_quality_parsed": {}}, "kind": {}, "_index": 624}], ["('calendar#acl').", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}}, "kind": {}, "_index": 259}], ["('calendar#acl').\",", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}}, "kind": {}, "_index": 240}], ["(httplib2.response,", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}}, "kind": {}, "_index": 1130}], [")", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 1140}], ["*", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}, "googleapiclient.mimeparse.parse_media_range": {}, "googleapiclient.http.MediaIoBaseDownload": {}, "googleapiclient.http.HttpRequest.next_chunk": {}}, "kind": {}, "_index": 345}], ["*,", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 342}], ["*/*;q=0.5')", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.quality": {}}, "kind": {}, "_index": 638}], [",", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}, "googleapiclient._helpers.update_query_params": {}, "googleapiclient.discovery.build_from_document": {}}, "kind": {}, "_index": 377}], ["...", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 60}], ["...'", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 1137}], ["/", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._urljoin": {}}, "kind": {}, "_index": 1423}], ["0", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.quality_parsed": {}}, "kind": {}, "_index": 626}], ["0.7", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.quality": {}}, "kind": {}, "_index": 639}], ["03", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._cast": {}}, "kind": {}, "_index": 1383}], ["03#section", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.ResourceMethodParameters.param_types": {}}, "kind": {}, "_index": 1448}], ["1", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}}, "kind": {}, "_index": 625}], ["1.0,", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.tunnel_patch": {}}, "kind": {}, "_index": 1229}], ["100", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseDownload": {}, "googleapiclient.http.HttpRequest.next_chunk": {}}, "kind": {}, "_index": 957}], ["10gb", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._media_size_to_long": {}}, "kind": {}, "_index": 1387}], ["14.1", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}}, "kind": {}, "_index": 170}], ["2.6", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}}, "kind": {}, "_index": 848}], ["200", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.HttpMockSequence": {}}, "kind": {}, "_index": 1133}], ["204", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.BaseModel.no_content_response": {}}, "kind": {}, "_index": 686}], ["2616", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}}, "kind": {}, "_index": 172}], ["3", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 335}], ["3tb", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._media_size_to_long": {}}, "kind": {}, "_index": 1388}], ["401", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpMockSequence": {}}, "kind": {}, "_index": 1185}], ["5.1", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.ResourceMethodParameters.param_types": {}}, "kind": {}, "_index": 1449}], ["5mb", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}}, "kind": {}, "_index": 895}], ["5xx", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http._retry_request": {}}, "kind": {}, "_index": 800}], [":", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}, "googleapiclient.discovery._urljoin": {}}, "kind": {}, "_index": 366}], [";q=0.5'", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.parse_media_range": {}}, "kind": {}, "_index": 609}], ["=", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.schema": {}, "googleapiclient.model.makepatch": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.MediaIoBaseDownload": {}, "googleapiclient.http.HttpRequest.next_chunk": {}, "googleapiclient.http.BatchHttpRequest": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.HttpMockSequence": {}, "googleapiclient.http.set_user_agent": {}, "googleapiclient.http.tunnel_patch": {}}, "kind": {}, "_index": 48}], ["==", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 98}], [">", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.key2param": {}}, "kind": {}, "_index": 1357}], [">>>", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.quality": {}, "googleapiclient.mimeparse.best_match": {}}, "kind": {}, "_index": 633}], ["@positional(0)", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 356}], ["@positional(1)", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 353}], ["@positional(2)", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 368}], ["])", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpMockSequence": {}}, "kind": {}, "_index": 1189}], ["__author__", {"name": {"googleapiclient.errors.__author__": {}, "googleapiclient.discovery.__author__": {}, "googleapiclient.mimeparse.__author__": {}, "googleapiclient.http.__author__": {}, "googleapiclient.model.__author__": {}, "googleapiclient.schema.__author__": {}, "googleapiclient.sample_tools.__author__": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 413}], ["__call__", {"name": {"googleapiclient.http.RequestMockBuilder.__call__": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1161}], ["__credits__", {"name": {"googleapiclient.mimeparse.__credits__": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 595}], ["__del__", {"name": {"googleapiclient.http.MediaFileUpload.__del__": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 929}], ["__email__", {"name": {"googleapiclient.mimeparse.__email__": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 589}], ["__enter__", {"name": {"googleapiclient.discovery.Resource.__enter__": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1518}], ["__exit__", {"name": {"googleapiclient.discovery.Resource.__exit__": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1521}], ["__getstate__", {"name": {"googleapiclient.discovery.Resource.__getstate__": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1503}], ["__init__", {"name": {"googleapiclient.errors.HttpError.__init__": {}, "googleapiclient.errors.BatchError.__init__": {}, "googleapiclient.errors.UnexpectedMethodError.__init__": {}, "googleapiclient.errors.UnexpectedBodyError.__init__": {}, "googleapiclient.channel.Notification.__init__": {}, "googleapiclient.channel.Channel.__init__": {}, "googleapiclient.model.JsonModel.__init__": {}, "googleapiclient.model.ProtocolBufferModel.__init__": {}, "googleapiclient.http.MediaUploadProgress.__init__": {}, "googleapiclient.http.MediaDownloadProgress.__init__": {}, "googleapiclient.http.MediaIoBaseUpload.__init__": {}, "googleapiclient.http.MediaFileUpload.__init__": {}, "googleapiclient.http.MediaInMemoryUpload.__init__": {}, "googleapiclient.http.MediaIoBaseDownload.__init__": {}, "googleapiclient.http._StreamSlice.__init__": {}, "googleapiclient.http.HttpRequest.__init__": {}, "googleapiclient.http.BatchHttpRequest.__init__": {}, "googleapiclient.http.HttpRequestMock.__init__": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}, "googleapiclient.http.HttpMock.__init__": {}, "googleapiclient.http.HttpMockSequence.__init__": {}, "googleapiclient.schema.Schemas.__init__": {}, "googleapiclient.schema._SchemaToStruct.__init__": {}, "googleapiclient.discovery.APICoreVersionError.__init__": {}, "googleapiclient.discovery.ResourceMethodParameters.__init__": {}, "googleapiclient.discovery.Resource.__init__": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache.__init__": {}, "googleapiclient.discovery_cache.file_cache.Cache.__init__": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 420}], ["__license__", {"name": {"googleapiclient.mimeparse.__license__": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 592}], ["__repr__", {"name": {"googleapiclient.errors.HttpError.__repr__": {}, "googleapiclient.errors.BatchError.__repr__": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 440}], ["__setstate__", {"name": {"googleapiclient.discovery.Resource.__setstate__": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1514}], ["__version__", {"name": {"googleapiclient.mimeparse.__version__": {}, "googleapiclient.version.__version__": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 586}], ["_abstract", {"name": {"googleapiclient.model._abstract": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 667}], ["_add_basic_methods", {"name": {"googleapiclient.discovery.Resource._add_basic_methods": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1527}], ["_add_nested_resources", {"name": {"googleapiclient.discovery.Resource._add_nested_resources": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1529}], ["_add_next_methods", {"name": {"googleapiclient.discovery.Resource._add_next_methods": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1533}], ["_add_query_parameter", {"name": {"googleapiclient._helpers._add_query_parameter": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 406}], ["_auth", {"name": {"googleapiclient._auth": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 2}], ["_base_id", {"name": {"googleapiclient.http.BatchHttpRequest._base_id": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1075}], ["_baseurl", {"name": {"googleapiclient.discovery.Resource._baseUrl": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1476}], ["_batch_uri", {"name": {"googleapiclient.http.BatchHttpRequest._batch_uri": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1062}], ["_begin", {"name": {"googleapiclient.http._StreamSlice._begin": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 995}], ["_build_query", {"name": {"googleapiclient.model.BaseModel._build_query": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 695}], ["_bytesgenerator", {"name": {"googleapiclient.discovery._BytesGenerator": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1344}], ["_callback", {"name": {"googleapiclient.http.BatchHttpRequest._callback": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1064}], ["_callbacks", {"name": {"googleapiclient.http.BatchHttpRequest._callbacks": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1068}], ["_cast", {"name": {"googleapiclient.discovery._cast": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1378}], ["_check_api_core_compatible_with_credentials_universe", {"name": {"googleapiclient.discovery._check_api_core_compatible_with_credentials_universe": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1371}], ["_chunksize", {"name": {"googleapiclient.http.MediaIoBaseUpload._chunksize": {}, "googleapiclient.http.MediaIoBaseDownload._chunksize": {}, "googleapiclient.http._StreamSlice._chunksize": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 903}], ["_credentials_validated", {"name": {"googleapiclient.discovery.Resource._credentials_validated": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1495}], ["_data_wrapper", {"name": {"googleapiclient.model.JsonModel._data_wrapper": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 711}], ["_deserialize_response", {"name": {"googleapiclient.http.BatchHttpRequest._deserialize_response": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1094}], ["_developerkey", {"name": {"googleapiclient.discovery.Resource._developerKey": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1480}], ["_discovery_service_uri_options", {"name": {"googleapiclient.discovery._discovery_service_uri_options": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1361}], ["_done", {"name": {"googleapiclient.http.MediaIoBaseDownload._done": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 969}], ["_dynamic_attr", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.Resource.__getstate__": {}, "googleapiclient.discovery.Resource.__setstate__": {}}, "kind": {}, "_index": 1511}], ["_dynamic_attrs", {"name": {"googleapiclient.discovery.Resource._dynamic_attrs": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1470}], ["_execute", {"name": {"googleapiclient.http.BatchHttpRequest._execute": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1111}], ["_fd", {"name": {"googleapiclient.http.MediaIoBaseUpload._fd": {}, "googleapiclient.http.MediaFileUpload._fd": {}, "googleapiclient.http.MediaIoBaseDownload._fd": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 898}], ["_file", {"name": {"googleapiclient.discovery_cache.file_cache.Cache._file": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1583}], ["_filename", {"name": {"googleapiclient.http.MediaFileUpload._filename": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 926}], ["_filter_blank", {"name": {"googleapiclient.mimeparse._filter_blank": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 652}], ["_findpagetokenname", {"name": {"googleapiclient.discovery._findPageTokenName": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1541}], ["_fix_up_media_path_base_url", {"name": {"googleapiclient.discovery._fix_up_media_path_base_url": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1414}], ["_fix_up_media_upload", {"name": {"googleapiclient.discovery._fix_up_media_upload": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1405}], ["_fix_up_method_description", {"name": {"googleapiclient.discovery._fix_up_method_description": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1409}], ["_fix_up_parameters", {"name": {"googleapiclient.discovery._fix_up_parameters": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1396}], ["_get_reason", {"name": {"googleapiclient.errors.HttpError._get_reason": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 437}], ["_header_to_id", {"name": {"googleapiclient.http.BatchHttpRequest._header_to_id": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1088}], ["_headers", {"name": {"googleapiclient.http.MediaIoBaseDownload._headers": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 977}], ["_helpers", {"name": {"googleapiclient._helpers": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 11}], ["_helpers.positional_parameters_enforc", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 376}], ["_http", {"name": {"googleapiclient.discovery.Resource._http": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1474}], ["_id_to_head", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest._header_to_id": {}}, "kind": {}, "_index": 1091}], ["_id_to_header", {"name": {"googleapiclient.http.BatchHttpRequest._id_to_header": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1086}], ["_in_error_state", {"name": {"googleapiclient.http.HttpRequest._in_error_state": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1016}], ["_is_dir_message", {"name": {"googleapiclient._helpers._IS_DIR_MESSAGE": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 322}], ["_iterable", {"name": {"googleapiclient.http.HttpMockSequence._iterable": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1201}], ["_last_auto_id", {"name": {"googleapiclient.http.BatchHttpRequest._last_auto_id": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1072}], ["_legacy_batch_uri", {"name": {"googleapiclient.http._LEGACY_BATCH_URI": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 786}], ["_log_request", {"name": {"googleapiclient.model.BaseModel._log_request": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 691}], ["_log_response", {"name": {"googleapiclient.model.BaseModel._log_response": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 697}], ["_max_age", {"name": {"googleapiclient.discovery_cache.appengine_memcache.Cache._max_age": {}, "googleapiclient.discovery_cache.file_cache.Cache._max_age": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1567}], ["_media_path_url_from_info", {"name": {"googleapiclient.discovery._media_path_url_from_info": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1390}], ["_media_size_bit_shifts", {"name": {"googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1304}], ["_media_size_to_long", {"name": {"googleapiclient.discovery._media_size_to_long": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1384}], ["_methodproperties", {"name": {"googleapiclient.discovery._methodProperties": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1544}], ["_mimetype", {"name": {"googleapiclient.http.MediaIoBaseUpload._mimetype": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 901}], ["_missing_file_message", {"name": {"googleapiclient._helpers._MISSING_FILE_MESSAGE": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 325}], ["_model", {"name": {"googleapiclient.discovery.Resource._model": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1478}], ["_new_id", {"name": {"googleapiclient.http.BatchHttpRequest._new_id": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1097}], ["_next", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.createNextMethod": {}}, "kind": {}, "_index": 1467}], ["_order", {"name": {"googleapiclient.http.BatchHttpRequest._order": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1070}], ["_page_token_names", {"name": {"googleapiclient.discovery._PAGE_TOKEN_NAMES": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1314}], ["_prettyprintbyname", {"name": {"googleapiclient.schema.Schemas._prettyPrintByName": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1243}], ["_prettyprintschema", {"name": {"googleapiclient.schema.Schemas._prettyPrintSchema": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1248}], ["_process_response", {"name": {"googleapiclient.http.HttpRequest._process_response": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1038}], ["_progress", {"name": {"googleapiclient.http.MediaIoBaseDownload._progress": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 965}], ["_protocol_buffer", {"name": {"googleapiclient.model.ProtocolBufferModel._protocol_buffer": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 743}], ["_py_version", {"name": {"googleapiclient.model._PY_VERSION": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 659}], ["_rand", {"name": {"googleapiclient.http.MediaIoBaseDownload._rand": {}, "googleapiclient.http.HttpRequest._rand": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 974}], ["_read_or_initialize_cache", {"name": {"googleapiclient.discovery_cache.file_cache._read_or_initialize_cache": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1577}], ["_refresh_and_apply_credentials", {"name": {"googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1083}], ["_refreshed_credentials", {"name": {"googleapiclient.http.BatchHttpRequest._refreshed_credentials": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1080}], ["_request", {"name": {"googleapiclient.http.MediaIoBaseDownload._request": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 960}], ["_requestbuilder", {"name": {"googleapiclient.discovery.Resource._requestBuilder": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1484}], ["_requests", {"name": {"googleapiclient.http.BatchHttpRequest._requests": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1066}], ["_resourcedesc", {"name": {"googleapiclient.discovery.Resource._resourceDesc": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1486}], ["_responses", {"name": {"googleapiclient.http.BatchHttpRequest._responses": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1077}], ["_resumable", {"name": {"googleapiclient.http.MediaIoBaseUpload._resumable": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 905}], ["_retrieve_discovery_doc", {"name": {"googleapiclient.discovery._retrieve_discovery_doc": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1366}], ["_retry_request", {"name": {"googleapiclient.http._retry_request": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 795}], ["_rootdesc", {"name": {"googleapiclient.discovery.Resource._rootDesc": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1489}], ["_schema", {"name": {"googleapiclient.discovery.Resource._schema": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1491}], ["_schematostruct", {"name": {"googleapiclient.schema._SchemaToStruct": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1253}], ["_serialize_request", {"name": {"googleapiclient.http.BatchHttpRequest._serialize_request": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1092}], ["_set_dynamic_attr", {"name": {"googleapiclient.discovery.Resource._set_dynamic_attr": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1498}], ["_set_service_methods", {"name": {"googleapiclient.discovery.Resource._set_service_methods": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1525}], ["_should_retry_response", {"name": {"googleapiclient.http._should_retry_response": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 789}], ["_size", {"name": {"googleapiclient.http.MediaIoBaseUpload._size": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 907}], ["_sleep", {"name": {"googleapiclient.http.MediaIoBaseDownload._sleep": {}, "googleapiclient.http.HttpRequest._sleep": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 971}], ["_stream", {"name": {"googleapiclient.http._StreamSlice._stream": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 993}], ["_streamslice", {"name": {"googleapiclient.http._StreamSlice": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 981}], ["_sym_link_message", {"name": {"googleapiclient._helpers._SYM_LINK_MESSAGE": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 317}], ["_to_json", {"name": {"googleapiclient.http.MediaUpload._to_json": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 869}], ["_to_str_impl", {"name": {"googleapiclient.schema._SchemaToStruct._to_str_impl": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1283}], ["_to_timestamp", {"name": {"googleapiclient.discovery_cache.file_cache._to_timestamp": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1574}], ["_too_many_requests", {"name": {"googleapiclient.http._TOO_MANY_REQUESTS": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 777}], ["_total_size", {"name": {"googleapiclient.http.MediaIoBaseDownload._total_size": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 967}], ["_universe_domain", {"name": {"googleapiclient.discovery.Resource._universe_domain": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1493}], ["_upper_header_keys", {"name": {"googleapiclient.channel._upper_header_keys": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 513}], ["_uri", {"name": {"googleapiclient.http.MediaIoBaseDownload._uri": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 962}], ["_urljoin", {"name": {"googleapiclient.discovery._urljoin": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1420}], ["_validate_credentials", {"name": {"googleapiclient.discovery.Resource._validate_credentials": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1535}], ["abov", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 352}], ["absolut", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._media_path_url_from_info": {}}, "kind": {}, "_index": 1393}], ["abstract", {"name": {}, "names": {"googleapiclient.model._abstract": {}}, "qname": {}, "docstring": {"googleapiclient.discovery_cache.base": {}, "googleapiclient.discovery_cache.base.Cache": {}}, "kind": {}, "_index": 125}], ["accept", {"name": {"googleapiclient.model.BaseModel.accept": {}, "googleapiclient.model.JsonModel.accept": {}, "googleapiclient.model.RawModel.accept": {}, "googleapiclient.model.MediaModel.accept": {}, "googleapiclient.model.ProtocolBufferModel.accept": {}}, "names": {"googleapiclient.model.BaseModel.accept": {}, "googleapiclient.model.JsonModel.accept": {}, "googleapiclient.model.RawModel.accept": {}, "googleapiclient.model.MediaModel.accept": {}, "googleapiclient.model.ProtocolBufferModel.accept": {}}, "qname": {}, "docstring": {"googleapiclient.errors.MediaUploadSizeError": {}, "googleapiclient.mimeparse.best_match": {}, "googleapiclient.model.BaseModel.accept": {}, "googleapiclient.discovery.ResourceMethodParameters.enum_params": {}}, "kind": {}, "_index": 464}], ["access", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery_cache.file_cache": {}, "googleapiclient.schema": {}, "googleapiclient.http.set_user_agent": {}}, "kind": {}, "_index": 136}], ["account", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 363}], ["actual", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http": {}, "googleapiclient.model.BaseModel.serialize": {}, "googleapiclient.model.BaseModel.deserialize": {}, "googleapiclient.model.JsonModel.serialize": {}, "googleapiclient.model.JsonModel.deserialize": {}, "googleapiclient.model.RawModel.deserialize": {}, "googleapiclient.model.MediaModel.deserialize": {}, "googleapiclient.model.ProtocolBufferModel.serialize": {}, "googleapiclient.model.ProtocolBufferModel.deserialize": {}}, "kind": {}, "_index": 154}], ["ad", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest.add": {}}, "kind": {}, "_index": 1102}], ["add", {"name": {"googleapiclient.http.BatchHttpRequest.add": {}}, "names": {"googleapiclient._helpers._add_query_parameter": {}, "googleapiclient.http.HttpRequest.add_response_callback": {}, "googleapiclient.http.BatchHttpRequest.add": {}, "googleapiclient.discovery.Resource._add_basic_methods": {}, "googleapiclient.discovery.Resource._add_nested_resources": {}, "googleapiclient.discovery.Resource._add_next_methods": {}}, "qname": {}, "docstring": {"googleapiclient._helpers._add_query_parameter": {}, "googleapiclient.http.BatchHttpRequest.add": {}, "googleapiclient.schema._SchemaToStruct.emit": {}, "googleapiclient.schema._SchemaToStruct.emitBegin": {}, "googleapiclient.schema._SchemaToStruct.emitEnd": {}, "googleapiclient.discovery._fix_up_parameters": {}, "googleapiclient.discovery._fix_up_media_upload": {}}, "kind": {}, "_index": 407}], ["add_response_callback", {"name": {"googleapiclient.http.HttpRequest.add_response_callback": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1027}], ["add_response_headers_callback", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpRequest.add_response_callback": {}}, "kind": {}, "_index": 1030}], ["addit", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.params": {}, "googleapiclient.mimeparse.parse_media_range": {}}, "kind": {}, "_index": 559}], ["address", {"name": {"googleapiclient.channel.Channel.address": {}}, "names": {"googleapiclient.channel.Channel.address": {}}, "qname": {}, "docstring": {"googleapiclient.channel.Notification.uri": {}, "googleapiclient.channel.Channel.token": {}, "googleapiclient.channel.Channel.address": {}}, "kind": {}, "_index": 529}], ["against", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}, "googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.quality_parsed": {}, "googleapiclient.mimeparse.quality": {}}, "kind": {}, "_index": 164}], ["age", {"name": {}, "names": {"googleapiclient.discovery_cache.DISCOVERY_DOC_MAX_AGE": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache._max_age": {}, "googleapiclient.discovery_cache.file_cache.Cache._max_age": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1549}], ["agent", {"name": {}, "names": {"googleapiclient.http.set_user_agent": {}}, "qname": {}, "docstring": {"googleapiclient.http.set_user_agent": {}}, "kind": {}, "_index": 1211}], ["allow", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.makepatch": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.discovery.createNextMethod": {}}, "kind": {}, "_index": 754}], ["alreadi", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers._add_query_parameter": {}, "googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.quality_parsed": {}, "googleapiclient.http.BatchHttpRequest._new_id": {}}, "kind": {}, "_index": 412}], ["alt", {"name": {}, "names": {"googleapiclient.model.BaseModel.alt_param": {}, "googleapiclient.model.JsonModel.alt_param": {}, "googleapiclient.model.RawModel.alt_param": {}, "googleapiclient.model.MediaModel.alt_param": {}, "googleapiclient.model.ProtocolBufferModel.alt_param": {}}, "qname": {}, "docstring": {"googleapiclient.model.BaseModel.alt_param": {}}, "kind": {}, "_index": 688}], ["alt_param", {"name": {"googleapiclient.model.BaseModel.alt_param": {}, "googleapiclient.model.JsonModel.alt_param": {}, "googleapiclient.model.RawModel.alt_param": {}, "googleapiclient.model.MediaModel.alt_param": {}, "googleapiclient.model.ProtocolBufferModel.alt_param": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 687}], ["alwai", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 83}], ["amongst", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.quality_parsed": {}}, "kind": {}, "_index": 621}], ["and", {"name": {}, "names": {"googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 615}], ["anim", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest": {}}, "kind": {}, "_index": 1051}], ["api", {"name": {}, "names": {"googleapiclient.errors.UnknownApiNameOrVersion": {}, "googleapiclient.discovery.GOOGLE_API_USE_CLIENT_CERTIFICATE": {}, "googleapiclient.discovery.GOOGLE_API_USE_MTLS_ENDPOINT": {}, "googleapiclient.discovery._check_api_core_compatible_with_credentials_universe": {}}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.discovery": {}, "googleapiclient.model": {}, "googleapiclient.schema": {}, "googleapiclient.errors.UnknownApiNameOrVersion": {}, "googleapiclient.channel.Channel.resource_id": {}, "googleapiclient.schema.Schemas": {}, "googleapiclient.discovery.build": {}, "googleapiclient.discovery._discovery_service_uri_options": {}, "googleapiclient.discovery.build_from_document": {}, "googleapiclient.discovery._media_path_url_from_info": {}, "googleapiclient.discovery._fix_up_parameters": {}, "googleapiclient.discovery.Resource.__init__": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache": {}, "googleapiclient.sample_tools.init": {}}, "kind": {}, "_index": 28}], ["apicore", {"name": {}, "names": {"googleapiclient.discovery.APICoreVersionError": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1337}], ["apicoreversionerror", {"name": {"googleapiclient.discovery.APICoreVersionError": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1336}], ["apinam", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.sample_tools.init": {}}, "kind": {}, "_index": 1593}], ["apiname.dat,", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.sample_tools.init": {}}, "kind": {}, "_index": 1594}], ["app", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.discovery_cache.appengine_memcache": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.set_user_agent": {}, "googleapiclient.http.tunnel_patch": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache": {}}, "kind": {}, "_index": 93}], ["appear", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._fix_up_parameters": {}}, "kind": {}, "_index": 1401}], ["appengine", {"name": {}, "names": {"googleapiclient.discovery_cache.appengine_memcache": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 119}], ["appengine_memcache", {"name": {"googleapiclient.discovery_cache.appengine_memcache": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 118}], ["appli", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials": {}, "googleapiclient.http.tunnel_patch": {}}, "kind": {}, "_index": 1085}], ["applic", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.sample_tools": {}, "googleapiclient._auth.default_credentials": {}, "googleapiclient.mimeparse.parse_mime_type": {}, "googleapiclient.mimeparse.parse_media_range": {}, "googleapiclient.sample_tools.init": {}}, "kind": {}, "_index": 220}], ["apply", {"name": {}, "names": {"googleapiclient._auth.apply_credentials": {}, "googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 295}], ["apply_credentials", {"name": {"googleapiclient._auth.apply_credentials": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 294}], ["appropri", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.body": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.discovery_cache.autodetect": {}}, "kind": {}, "_index": 574}], ["arbitrari", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.token": {}}, "kind": {}, "_index": 545}], ["aren't", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 81}], ["argmap", {"name": {"googleapiclient.discovery.ResourceMethodParameters.argmap": {}}, "names": {"googleapiclient.discovery.ResourceMethodParameters.argmap": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1427}], ["argument", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}, "googleapiclient.channel.Channel.__init__": {}, "googleapiclient.channel.Channel.body": {}}, "kind": {}, "_index": 332}], ["arrai", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.ResourceMethodParameters.param_types": {}}, "kind": {}, "_index": 1446}], ["arriv", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 58}], ["associ", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.token": {}, "googleapiclient.discovery.ResourceMethodParameters": {}}, "kind": {}, "_index": 546}], ["atom", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model": {}}, "kind": {}, "_index": 204}], ["attach", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.createMethod": {}, "googleapiclient.discovery.createNextMethod": {}}, "kind": {}, "_index": 1464}], ["attempt", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._discovery_service_uri_options": {}}, "kind": {}, "_index": 1365}], ["attr", {"name": {}, "names": {"googleapiclient.discovery.Resource._set_dynamic_attr": {}}, "qname": {}, "docstring": {"googleapiclient.discovery.Resource.__getstate__": {}, "googleapiclient.discovery.Resource.__setstate__": {}}, "kind": {}, "_index": 1499}], ["attribut", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.BaseModel": {}, "googleapiclient.discovery.Resource._set_dynamic_attr": {}}, "kind": {}, "_index": 679}], ["attrs", {"name": {}, "names": {"googleapiclient.discovery.Resource._dynamic_attrs": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1472}], ["auth", {"name": {}, "names": {"googleapiclient._auth": {}, "googleapiclient._auth.HAS_GOOGLE_AUTH": {}}, "qname": {}, "docstring": {"googleapiclient._auth": {}, "googleapiclient.http.set_user_agent": {}}, "kind": {}, "_index": 3}], ["authent", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._auth": {}}, "kind": {}, "_index": 6}], ["author", {"name": {}, "names": {"googleapiclient.errors.__author__": {}, "googleapiclient.discovery.__author__": {}, "googleapiclient.mimeparse.__author__": {}, "googleapiclient.http.__author__": {}, "googleapiclient.model.__author__": {}, "googleapiclient.schema.__author__": {}, "googleapiclient.sample_tools.__author__": {}}, "qname": {}, "docstring": {"googleapiclient._auth.authorized_http": {}}, "kind": {}, "_index": 290}], ["authorized", {"name": {}, "names": {"googleapiclient._auth.authorized_http": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 288}], ["authorized_http", {"name": {"googleapiclient._auth.authorized_http": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 287}], ["auto", {"name": {}, "names": {"googleapiclient.http.BatchHttpRequest._last_auto_id": {}}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest._new_id": {}}, "kind": {}, "_index": 1073}], ["autodetect", {"name": {"googleapiclient.discovery_cache.autodetect": {}}, "names": {"googleapiclient.discovery_cache.autodetect": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1553}], ["avail", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}, "googleapiclient.discovery._fix_up_parameters": {}}, "kind": {}, "_index": 250}], ["avoid", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.BatchHttpRequest._new_id": {}, "googleapiclient.http.BatchHttpRequest.add": {}, "googleapiclient.discovery.fix_method_name": {}}, "kind": {}, "_index": 893}], ["back", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest.add": {}}, "kind": {}, "_index": 1105}], ["bahav", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.quality_parsed": {}}, "kind": {}, "_index": 631}], ["base", {"name": {"googleapiclient.discovery_cache.base": {}}, "names": {"googleapiclient.discovery_cache.base": {}, "googleapiclient.model.BaseModel": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaIoBaseDownload": {}, "googleapiclient.http.BatchHttpRequest._base_id": {}, "googleapiclient.discovery._fix_up_media_path_base_url": {}, "googleapiclient.discovery.Resource._baseUrl": {}}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.discovery": {}, "googleapiclient.discovery_cache.appengine_memcache": {}, "googleapiclient.discovery_cache.file_cache": {}, "googleapiclient.schema": {}, "googleapiclient.errors.Error": {}, "googleapiclient.model.Model": {}, "googleapiclient.model.BaseModel": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.schema._SchemaToStruct._to_str_impl": {}, "googleapiclient.schema._SchemaToStruct.to_str": {}, "googleapiclient.discovery._cast": {}, "googleapiclient.discovery._fix_up_parameters": {}, "googleapiclient.discovery._fix_up_media_path_base_url": {}, "googleapiclient.discovery.ResourceMethodParameters.path_params": {}, "googleapiclient.discovery.ResourceMethodParameters.set_parameters": {}, "googleapiclient.discovery_cache.base.Cache": {}, "googleapiclient.discovery_cache.file_cache.Cache": {}}, "kind": {}, "_index": 26}], ["basemodel", {"name": {"googleapiclient.model.BaseModel": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 675}], ["basic", {"name": {}, "names": {"googleapiclient.discovery.Resource._add_basic_methods": {}}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}}, "kind": {}, "_index": 162}], ["batch", {"name": {}, "names": {"googleapiclient.errors.BatchError": {}, "googleapiclient.http.MAX_BATCH_LIMIT": {}, "googleapiclient.http._LEGACY_BATCH_URI": {}, "googleapiclient.http.BatchHttpRequest": {}, "googleapiclient.http.BatchHttpRequest._batch_uri": {}}, "qname": {}, "docstring": {"googleapiclient.errors.BatchError": {}, "googleapiclient.http.BatchHttpRequest": {}, "googleapiclient.http.BatchHttpRequest._execute": {}, "googleapiclient.http.BatchHttpRequest.execute": {}}, "kind": {}, "_index": 478}], ["batch.add(service.animals().list(),", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest": {}}, "kind": {}, "_index": 1056}], ["batch.add(service.farmers().list(),", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest": {}}, "kind": {}, "_index": 1058}], ["batch.execute(http=http)", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest": {}}, "kind": {}, "_index": 1060}], ["batcherror", {"name": {"googleapiclient.errors.BatchError": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 477}], ["batchhttprequest", {"name": {"googleapiclient.http.BatchHttpRequest": {}}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest": {}, "googleapiclient.http.BatchHttpRequest.__init__": {}}, "kind": {}, "_index": 1047}], ["be", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.channel.Notification.state": {}, "googleapiclient.channel.Notification.uri": {}, "googleapiclient.channel.Channel.resource_id": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaUpload.stream": {}, "googleapiclient.http.MediaIoBaseUpload.stream": {}, "googleapiclient.http.HttpRequest.next_chunk": {}, "googleapiclient.discovery.Resource.__setstate__": {}}, "kind": {}, "_index": 66}], ["becom", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 354}], ["befor", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.model.makepatch": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.build_http": {}, "googleapiclient.discovery._urljoin": {}}, "kind": {}, "_index": 54}], ["begin", {"name": {}, "names": {"googleapiclient.http._StreamSlice._begin": {}, "googleapiclient.schema._SchemaToStruct.emitBegin": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 996}], ["behavior", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}, "googleapiclient.channel.Channel.params": {}, "googleapiclient.http.BatchHttpRequest.add": {}, "googleapiclient.http.HttpRequestMock.execute": {}}, "kind": {}, "_index": 374}], ["behavour", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpMockSequence": {}}, "kind": {}, "_index": 1194}], ["best", {"name": {}, "names": {"googleapiclient.mimeparse.best_match": {}}, "qname": {}, "docstring": {"googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.quality_parsed": {}, "googleapiclient.mimeparse.best_match": {}}, "kind": {}, "_index": 620}], ["best_match", {"name": {"googleapiclient.mimeparse.best_match": {}}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}}, "kind": {}, "_index": 191}], ["best_match(['application/xbel+xml',", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.best_match": {}}, "kind": {}, "_index": 647}], ["between", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.model": {}, "googleapiclient.model.Model": {}, "googleapiclient.model.JsonModel": {}, "googleapiclient.model.RawModel": {}, "googleapiclient.model.MediaModel": {}, "googleapiclient.model.makepatch": {}}, "kind": {}, "_index": 37}], ["binari", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.ProtocolBufferModel": {}}, "kind": {}, "_index": 738}], ["bit", {"name": {}, "names": {"googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1305}], ["blank", {"name": {}, "names": {"googleapiclient.mimeparse._filter_blank": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 654}], ["blindli", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http._StreamSlice": {}}, "kind": {}, "_index": 988}], ["bodi", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.errors.UnexpectedBodyError": {}, "googleapiclient.channel.Channel.body": {}, "googleapiclient.model.Model.request": {}, "googleapiclient.model.BaseModel.request": {}, "googleapiclient.model.JsonModel": {}, "googleapiclient.model.RawModel": {}, "googleapiclient.model.MediaModel": {}, "googleapiclient.model.ProtocolBufferModel": {}, "googleapiclient.model.makepatch": {}, "googleapiclient.http.MediaUpload.mimetype": {}, "googleapiclient.http.MediaIoBaseUpload.mimetype": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.HttpMockSequence": {}}, "kind": {}, "_index": 493}], ["body", {"name": {"googleapiclient.channel.Channel.body": {}, "googleapiclient.http.HttpRequest.body": {}, "googleapiclient.http.HttpMock.body": {}}, "names": {"googleapiclient.errors.UnexpectedBodyError": {}, "googleapiclient.channel.Channel.body": {}, "googleapiclient.http.HttpRequest.body": {}, "googleapiclient.http.HttpRequest.body_size": {}, "googleapiclient.http.HttpMock.body": {}, "googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 491}], ["body=channel.body()).execute()", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 64}], ["body=makepatch(original,", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.makepatch": {}}, "kind": {}, "_index": 765}], ["body_parameter_default_value", {"name": {"googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1308}], ["body_size", {"name": {"googleapiclient.http.HttpRequest.body_size": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1018}], ["boolean", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder.__init__": {}, "googleapiclient.discovery.ResourceMethodParameters.param_types": {}}, "kind": {}, "_index": 1155}], ["bucket=\"some_bucket_id\",", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 63}], ["buffer", {"name": {}, "names": {"googleapiclient.model.ProtocolBufferModel": {}, "googleapiclient.model.ProtocolBufferModel._protocol_buffer": {}}, "qname": {}, "docstring": {"googleapiclient.model.ProtocolBufferModel": {}, "googleapiclient.model.ProtocolBufferModel.__init__": {}}, "kind": {}, "_index": 736}], ["build", {"name": {"googleapiclient.discovery.build": {}}, "names": {"googleapiclient.model.BaseModel._build_query": {}, "googleapiclient.http.build_http": {}, "googleapiclient.discovery.build": {}, "googleapiclient.discovery.build_from_document": {}}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.body": {}, "googleapiclient.model.BaseModel._build_query": {}, "googleapiclient.http.RequestMockBuilder.__call__": {}, "googleapiclient.http.build_http": {}, "googleapiclient.discovery._discovery_service_uri_options": {}, "googleapiclient.discovery.build_from_document": {}, "googleapiclient.discovery.Resource.__init__": {}}, "kind": {}, "_index": 573}], ["build('farm',", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest": {}}, "kind": {}, "_index": 1054}], ["build_from_document", {"name": {"googleapiclient.discovery.build_from_document": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1375}], ["build_http", {"name": {"googleapiclient.http.build_http": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1231}], ["builder", {"name": {}, "names": {"googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.discovery.Resource._requestBuilder": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1126}], ["by", {"name": {}, "names": {"googleapiclient.schema.Schemas._prettyPrintByName": {}, "googleapiclient.schema.Schemas.prettyPrintByName": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1244}], ["byte", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.RawModel": {}, "googleapiclient.model.MediaModel": {}, "googleapiclient.http.MediaUpload.getbytes": {}, "googleapiclient.http.MediaIoBaseUpload.getbytes": {}, "googleapiclient.http.MediaInMemoryUpload": {}, "googleapiclient.http._StreamSlice.read": {}}, "kind": {}, "_index": 721}], ["bytes", {"name": {}, "names": {"googleapiclient.discovery._BytesGenerator": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1345}], ["bytesio('...som", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseUpload": {}}, "kind": {}, "_index": 881}], ["cach", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery_cache": {}, "googleapiclient.discovery_cache.appengine_memcache": {}, "googleapiclient.discovery_cache.base": {}, "googleapiclient.discovery_cache.file_cache": {}, "googleapiclient.discovery._retrieve_discovery_doc": {}, "googleapiclient.discovery_cache.autodetect": {}, "googleapiclient.discovery_cache.base.Cache": {}, "googleapiclient.discovery_cache.base.Cache.set": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache.set": {}, "googleapiclient.discovery_cache.file_cache.Cache": {}, "googleapiclient.discovery_cache.file_cache.Cache.set": {}}, "kind": {}, "_index": 116}], ["cache", {"name": {"googleapiclient.discovery_cache.base.Cache": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache": {}, "googleapiclient.discovery_cache.appengine_memcache.cache": {}, "googleapiclient.discovery_cache.file_cache.Cache": {}, "googleapiclient.discovery_cache.file_cache.cache": {}}, "names": {"googleapiclient.discovery_cache": {}, "googleapiclient.discovery_cache.file_cache": {}, "googleapiclient.schema._SchemaToStruct.from_cache": {}, "googleapiclient.discovery_cache.base.Cache": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache": {}, "googleapiclient.discovery_cache.appengine_memcache.cache": {}, "googleapiclient.discovery_cache.file_cache._read_or_initialize_cache": {}, "googleapiclient.discovery_cache.file_cache.Cache": {}, "googleapiclient.discovery_cache.file_cache.cache": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 114}], ["calcul", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.errors.HttpError._get_reason": {}}, "kind": {}, "_index": 439}], ["call", {"name": {}, "names": {"googleapiclient.http.RequestMockBuilder.__call__": {}}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient._helpers.positional": {}, "googleapiclient.errors.UnexpectedMethodError": {}, "googleapiclient.channel.Channel.__init__": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.HttpMockSequence": {}, "googleapiclient.http.build_http": {}}, "kind": {}, "_index": 38}], ["callabl", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder.__init__": {}, "googleapiclient.http.RequestMockBuilder.__call__": {}}, "kind": {}, "_index": 1152}], ["callback", {"name": {}, "names": {"googleapiclient.http.HttpRequest.add_response_callback": {}, "googleapiclient.http.BatchHttpRequest._callback": {}}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest.add": {}}, "kind": {}, "_index": 1028}], ["callbacks", {"name": {}, "names": {"googleapiclient.http.HttpRequest.response_callbacks": {}, "googleapiclient.http.BatchHttpRequest._callbacks": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1014}], ["caller", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.http.BatchHttpRequest.add": {}}, "kind": {}, "_index": 39}], ["can't", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}}, "kind": {}, "_index": 853}], ["candid", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}, "googleapiclient.mimeparse.best_match": {}}, "kind": {}, "_index": 194}], ["canonic", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.resource_uri": {}}, "kind": {}, "_index": 565}], ["card", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}}, "kind": {}, "_index": 182}], ["carv", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.parse_mime_type": {}, "googleapiclient.mimeparse.parse_media_range": {}}, "kind": {}, "_index": 600}], ["case", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.mimeparse.best_match": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.set_user_agent": {}, "googleapiclient.discovery._fix_up_media_path_base_url": {}}, "kind": {}, "_index": 78}], ["cast", {"name": {}, "names": {"googleapiclient.discovery._cast": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1379}], ["certain", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}}, "kind": {}, "_index": 836}], ["certificate", {"name": {}, "names": {"googleapiclient.discovery.GOOGLE_API_USE_CLIENT_CERTIFICATE": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1319}], ["chang", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.http.tunnel_patch": {}, "googleapiclient.discovery._fix_up_method_description": {}}, "kind": {}, "_index": 30}], ["channel", {"name": {"googleapiclient.channel": {}, "googleapiclient.channel.Channel": {}}, "names": {"googleapiclient.channel": {}, "googleapiclient.channel.CHANNEL_PARAMS": {}, "googleapiclient.channel.X_GOOG_CHANNEL_ID": {}, "googleapiclient.channel.Channel": {}, "googleapiclient.channel.new_webhook_channel": {}}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.errors.InvalidNotificationError": {}, "googleapiclient.channel.Notification": {}, "googleapiclient.channel.Channel": {}, "googleapiclient.channel.Channel.type": {}, "googleapiclient.channel.Channel.id": {}, "googleapiclient.channel.Channel.token": {}, "googleapiclient.channel.Channel.address": {}, "googleapiclient.channel.Channel.expiration": {}, "googleapiclient.channel.Channel.params": {}, "googleapiclient.channel.Channel.__init__": {}, "googleapiclient.channel.Channel.body": {}, "googleapiclient.channel.Channel.update": {}, "googleapiclient.channel.new_webhook_channel": {}}, "kind": {}, "_index": 17}], ["channel.update(resp)", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 65}], ["channel_params", {"name": {"googleapiclient.channel.CHANNEL_PARAMS": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 497}], ["charact", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.fix_method_name": {}}, "kind": {}, "_index": 1352}], ["check", {"name": {}, "names": {"googleapiclient.http.RequestMockBuilder.check_unexpected": {}, "googleapiclient.discovery._check_api_core_compatible_with_credentials_universe": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1159}], ["check_unexpect", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}}, "kind": {}, "_index": 1145}], ["check_unexpected", {"name": {"googleapiclient.http.RequestMockBuilder.check_unexpected": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1158}], ["choos", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}}, "kind": {}, "_index": 192}], ["chunk", {"name": {}, "names": {"googleapiclient.errors.InvalidChunkSizeError": {}, "googleapiclient.http.DEFAULT_CHUNK_SIZE": {}, "googleapiclient.http.MediaIoBaseDownload.next_chunk": {}, "googleapiclient.http.HttpRequest.next_chunk": {}}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaUpload.chunksize": {}, "googleapiclient.http.MediaIoBaseUpload.chunksize": {}, "googleapiclient.http.MediaInMemoryUpload": {}, "googleapiclient.http.MediaIoBaseDownload.next_chunk": {}, "googleapiclient.http._StreamSlice": {}, "googleapiclient.http.HttpRequest._process_response": {}}, "kind": {}, "_index": 471}], ["chunksiz", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.errors.InvalidChunkSizeError": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}}, "kind": {}, "_index": 473}], ["chunksize", {"name": {"googleapiclient.http.MediaUpload.chunksize": {}, "googleapiclient.http.MediaIoBaseUpload.chunksize": {}}, "names": {"googleapiclient.http.MediaUpload.chunksize": {}, "googleapiclient.http.MediaIoBaseUpload._chunksize": {}, "googleapiclient.http.MediaIoBaseUpload.chunksize": {}, "googleapiclient.http.MediaIoBaseDownload._chunksize": {}, "googleapiclient.http._StreamSlice._chunksize": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 855}], ["chunksize=1000,", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpRequest.next_chunk": {}}, "kind": {}, "_index": 1034}], ["chunksize=1024*1024)", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseDownload": {}}, "kind": {}, "_index": 950}], ["chunksize=1024*1024,", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}}, "kind": {}, "_index": 884}], ["cl", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 365}], ["class", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.discovery_cache.base": {}, "googleapiclient.http": {}, "googleapiclient.model": {}, "googleapiclient._helpers.positional": {}, "googleapiclient.model.Model": {}, "googleapiclient.model.BaseModel": {}, "googleapiclient.model.JsonModel": {}, "googleapiclient.model.RawModel": {}, "googleapiclient.model.MediaModel": {}, "googleapiclient.model.ProtocolBufferModel": {}, "googleapiclient.model.ProtocolBufferModel.__init__": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaUpload.new_from_json": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaIoBaseDownload": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}, "googleapiclient.discovery.Resource": {}, "googleapiclient.discovery_cache.base.Cache": {}}, "kind": {"googleapiclient.channel.Notification": {}, "googleapiclient.channel.Channel": {}, "googleapiclient.model.Model": {}, "googleapiclient.model.BaseModel": {}, "googleapiclient.model.JsonModel": {}, "googleapiclient.model.RawModel": {}, "googleapiclient.model.MediaModel": {}, "googleapiclient.model.ProtocolBufferModel": {}, "googleapiclient.http.MediaUploadProgress": {}, "googleapiclient.http.MediaDownloadProgress": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaUpload.new_from_json": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.MediaInMemoryUpload": {}, "googleapiclient.http.MediaIoBaseDownload": {}, "googleapiclient.http._StreamSlice": {}, "googleapiclient.http.HttpRequest": {}, "googleapiclient.http.BatchHttpRequest": {}, "googleapiclient.http.HttpRequestMock": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.HttpMock": {}, "googleapiclient.http.HttpMockSequence": {}, "googleapiclient.schema.Schemas": {}, "googleapiclient.schema._SchemaToStruct": {}, "googleapiclient.discovery._BytesGenerator": {}, "googleapiclient.discovery.ResourceMethodParameters": {}, "googleapiclient.discovery.Resource": {}, "googleapiclient.discovery_cache.base.Cache": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache": {}, "googleapiclient.discovery_cache.file_cache.Cache": {}}, "_index": 21}], ["classmethod", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 372}], ["client", {"name": {}, "names": {"googleapiclient.discovery.GOOGLE_API_USE_CLIENT_CERTIFICATE": {}}, "qname": {}, "docstring": {"googleapiclient.discovery": {}, "googleapiclient._auth.authorized_http": {}}, "kind": {}, "_index": 109}], ["client'", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.Resource._validate_credentials": {}}, "kind": {}, "_index": 1538}], ["client_options.api_endpoint.", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._fix_up_media_path_base_url": {}}, "kind": {}, "_index": 1419}], ["client_secrets.json", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.sample_tools.init": {}}, "kind": {}, "_index": 1595}], ["close", {"name": {"googleapiclient.http.HttpMock.close": {}, "googleapiclient.discovery.Resource.close": {}}, "names": {"googleapiclient.http.HttpMock.close": {}, "googleapiclient.discovery.Resource.close": {}}, "qname": {}, "docstring": {"googleapiclient.discovery.Resource.close": {}}, "kind": {}, "_index": 1178}], ["cloud", {"name": {}, "names": {"googleapiclient.discovery.GOOGLE_CLOUD_UNIVERSE_DOMAIN": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1325}], ["code", {"name": {}, "names": {"googleapiclient.errors.HttpError.status_code": {}}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.sample_tools": {}, "googleapiclient.errors.HttpError.status_code": {}, "googleapiclient.channel.Channel.__init__": {}, "googleapiclient.schema._SchemaToStruct._to_str_impl": {}, "googleapiclient.schema._SchemaToStruct.to_str": {}}, "kind": {}, "_index": 25}], ["collect", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}}, "kind": {}, "_index": 237}], ["come", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest.add": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}}, "kind": {}, "_index": 1106}], ["command", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http": {}}, "kind": {}, "_index": 150}], ["comment", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema._SchemaToStruct.emitEnd": {}, "googleapiclient.schema._SchemaToStruct._to_str_impl": {}, "googleapiclient.schema._SchemaToStruct.to_str": {}}, "kind": {}, "_index": 1276}], ["common", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.sample_tools.init": {}}, "kind": {}, "_index": 1589}], ["commonli", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers": {}, "googleapiclient.sample_tools": {}}, "kind": {}, "_index": 15}], ["compar", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}, "googleapiclient.mimeparse.quality": {}, "googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 187}], ["compat", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaIoBaseDownload": {}, "googleapiclient.http.RequestMockBuilder.__call__": {}}, "kind": {}, "_index": 839}], ["compatible", {"name": {}, "names": {"googleapiclient.discovery._check_api_core_compatible_with_credentials_universe": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1373}], ["complet", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}, "googleapiclient.http.MediaUploadProgress.progress": {}, "googleapiclient.http.MediaDownloadProgress.progress": {}, "googleapiclient.http.MediaIoBaseDownload": {}, "googleapiclient.http.HttpRequest.next_chunk": {}}, "kind": {}, "_index": 173}], ["compon", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}, "googleapiclient.mimeparse.parse_mime_type": {}, "googleapiclient.mimeparse.parse_media_range": {}}, "kind": {}, "_index": 178}], ["conflict", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest._new_id": {}, "googleapiclient.discovery.fix_method_name": {}}, "kind": {}, "_index": 1100}], ["conform", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}, "googleapiclient.mimeparse.best_match": {}, "googleapiclient.http.BatchHttpRequest._header_to_id": {}}, "kind": {}, "_index": 228}], ["connect", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.discovery.Resource.close": {}}, "kind": {}, "_index": 894}], ["consid", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.update_query_params": {}}, "kind": {}, "_index": 401}], ["consist", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.Resource._validate_credentials": {}}, "kind": {}, "_index": 1540}], ["consolid", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.sample_tools": {}, "googleapiclient.sample_tools.init": {}}, "kind": {}, "_index": 217}], ["constant", {"name": {}, "names": {}, "qname": {}, "docstring": {}, "kind": {"googleapiclient._helpers.POSITIONAL_WARNING": {}, "googleapiclient._helpers.POSITIONAL_EXCEPTION": {}, "googleapiclient._helpers.POSITIONAL_IGNORE": {}, "googleapiclient._helpers.POSITIONAL_SET": {}, "googleapiclient._helpers._SYM_LINK_MESSAGE": {}, "googleapiclient._helpers._IS_DIR_MESSAGE": {}, "googleapiclient._helpers._MISSING_FILE_MESSAGE": {}, "googleapiclient.channel.EPOCH": {}, "googleapiclient.channel.CHANNEL_PARAMS": {}, "googleapiclient.channel.X_GOOG_CHANNEL_ID": {}, "googleapiclient.channel.X_GOOG_MESSAGE_NUMBER": {}, "googleapiclient.channel.X_GOOG_RESOURCE_STATE": {}, "googleapiclient.channel.X_GOOG_RESOURCE_URI": {}, "googleapiclient.channel.X_GOOG_RESOURCE_ID": {}, "googleapiclient.model._PY_VERSION": {}, "googleapiclient.model.LOGGER": {}, "googleapiclient.http.LOGGER": {}, "googleapiclient.http.DEFAULT_CHUNK_SIZE": {}, "googleapiclient.http.MAX_URI_LENGTH": {}, "googleapiclient.http.MAX_BATCH_LIMIT": {}, "googleapiclient.http._TOO_MANY_REQUESTS": {}, "googleapiclient.http.DEFAULT_HTTP_TIMEOUT_SEC": {}, "googleapiclient.http._LEGACY_BATCH_URI": {}, "googleapiclient.discovery.URITEMPLATE": {}, "googleapiclient.discovery.VARNAME": {}, "googleapiclient.discovery.DISCOVERY_URI": {}, "googleapiclient.discovery.V2_DISCOVERY_URI": {}, "googleapiclient.discovery.DEFAULT_METHOD_DOC": {}, "googleapiclient.discovery.HTTP_PAYLOAD_METHODS": {}, "googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS": {}, "googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery.MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery._PAGE_TOKEN_NAMES": {}, "googleapiclient.discovery.GOOGLE_API_USE_CLIENT_CERTIFICATE": {}, "googleapiclient.discovery.GOOGLE_API_USE_MTLS_ENDPOINT": {}, "googleapiclient.discovery.GOOGLE_CLOUD_UNIVERSE_DOMAIN": {}, "googleapiclient.discovery.DEFAULT_UNIVERSE": {}, "googleapiclient.discovery.STACK_QUERY_PARAMETERS": {}, "googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery.RESERVED_WORDS": {}, "googleapiclient.discovery_cache.LOGGER": {}, "googleapiclient.discovery_cache.DISCOVERY_DOC_MAX_AGE": {}, "googleapiclient.discovery_cache.DISCOVERY_DOC_DIR": {}, "googleapiclient.discovery_cache.appengine_memcache.LOGGER": {}, "googleapiclient.discovery_cache.appengine_memcache.NAMESPACE": {}, "googleapiclient.discovery_cache.file_cache.LOGGER": {}, "googleapiclient.discovery_cache.file_cache.FILENAME": {}, "googleapiclient.discovery_cache.file_cache.EPOCH": {}}, "_index": 308}], ["construct", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Notification": {}, "googleapiclient.channel.Channel": {}, "googleapiclient.channel.Channel.body": {}, "googleapiclient.model.JsonModel.__init__": {}, "googleapiclient.model.ProtocolBufferModel.__init__": {}, "googleapiclient.model.makepatch": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.HttpRequestMock": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}, "googleapiclient.discovery.build": {}, "googleapiclient.discovery.build_from_document": {}, "googleapiclient.discovery._media_path_url_from_info": {}}, "kind": {}, "_index": 518}], ["constructor", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}, "googleapiclient.errors.UnexpectedMethodError.__init__": {}, "googleapiclient.errors.UnexpectedBodyError.__init__": {}, "googleapiclient.channel.Notification.__init__": {}, "googleapiclient.channel.Channel.__init__": {}, "googleapiclient.http.MediaUploadProgress.__init__": {}, "googleapiclient.http.MediaDownloadProgress.__init__": {}, "googleapiclient.http.MediaIoBaseUpload.__init__": {}, "googleapiclient.http.MediaFileUpload.__init__": {}, "googleapiclient.http.MediaIoBaseDownload.__init__": {}, "googleapiclient.http._StreamSlice.__init__": {}, "googleapiclient.http.HttpRequest.__init__": {}, "googleapiclient.http.BatchHttpRequest.__init__": {}, "googleapiclient.http.HttpRequestMock.__init__": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}, "googleapiclient.schema.Schemas.__init__": {}, "googleapiclient.schema._SchemaToStruct.__init__": {}, "googleapiclient.discovery.ResourceMethodParameters.__init__": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache.__init__": {}, "googleapiclient.discovery_cache.file_cache.Cache.__init__": {}}, "kind": {}, "_index": 260}], ["content", {"name": {"googleapiclient.errors.HttpError.content": {}, "googleapiclient.errors.BatchError.content": {}, "googleapiclient.http.HttpRequestMock.content": {}}, "names": {"googleapiclient.errors.HttpError.content": {}, "googleapiclient.errors.BatchError.content": {}, "googleapiclient.model.BaseModel.content_type": {}, "googleapiclient.model.BaseModel.no_content_response": {}, "googleapiclient.model.JsonModel.content_type": {}, "googleapiclient.model.JsonModel.no_content_response": {}, "googleapiclient.model.RawModel.content_type": {}, "googleapiclient.model.RawModel.no_content_response": {}, "googleapiclient.model.MediaModel.content_type": {}, "googleapiclient.model.MediaModel.no_content_response": {}, "googleapiclient.model.ProtocolBufferModel.content_type": {}, "googleapiclient.model.ProtocolBufferModel.no_content_response": {}, "googleapiclient.http.HttpRequestMock.content": {}}, "qname": {}, "docstring": {"googleapiclient.discovery_cache.file_cache": {}, "googleapiclient.mimeparse": {}, "googleapiclient._helpers.parse_unique_urlencoded": {}, "googleapiclient.errors.HttpError.status_code": {}, "googleapiclient.errors.HttpError._get_reason": {}, "googleapiclient.model.BaseModel.content_type": {}, "googleapiclient.model.BaseModel.no_content_response": {}, "googleapiclient.http.BatchHttpRequest._id_to_header": {}, "googleapiclient.http.BatchHttpRequest._header_to_id": {}, "googleapiclient.http.BatchHttpRequest._deserialize_response": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}, "googleapiclient.http.HttpMockSequence": {}, "googleapiclient.discovery_cache.base.Cache.get": {}, "googleapiclient.discovery_cache.base.Cache.set": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache.get": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache.set": {}, "googleapiclient.discovery_cache.file_cache.Cache.get": {}, "googleapiclient.discovery_cache.file_cache.Cache.set": {}}, "kind": {}, "_index": 137}], ["content_type", {"name": {"googleapiclient.model.BaseModel.content_type": {}, "googleapiclient.model.JsonModel.content_type": {}, "googleapiclient.model.RawModel.content_type": {}, "googleapiclient.model.MediaModel.content_type": {}, "googleapiclient.model.ProtocolBufferModel.content_type": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 681}], ["control", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}, "googleapiclient.channel.Channel.params": {}, "googleapiclient.http.MediaUpload": {}}, "kind": {}, "_index": 375}], ["convert", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model": {}, "googleapiclient.model.Model.response": {}, "googleapiclient.model.BaseModel.response": {}, "googleapiclient.http.BatchHttpRequest._id_to_header": {}, "googleapiclient.http.BatchHttpRequest._header_to_id": {}, "googleapiclient.http.BatchHttpRequest._serialize_request": {}, "googleapiclient.http.BatchHttpRequest._deserialize_response": {}, "googleapiclient.schema._SchemaToStruct": {}, "googleapiclient.discovery.key2param": {}, "googleapiclient.discovery._cast": {}, "googleapiclient.discovery._media_size_to_long": {}}, "kind": {}, "_index": 206}], ["copy.deepcopy(item)", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.makepatch": {}}, "kind": {}, "_index": 761}], ["core", {"name": {}, "names": {"googleapiclient.discovery._check_api_core_compatible_with_credentials_universe": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1372}], ["correct", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 71}], ["correspond", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.update_query_params": {}, "googleapiclient.discovery_cache.get_static_doc": {}}, "kind": {}, "_index": 405}], ["corrupt", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery_cache.file_cache": {}}, "kind": {}, "_index": 138}], ["creat", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.channel.Channel.__init__": {}, "googleapiclient.channel.new_webhook_channel": {}, "googleapiclient.model.makepatch": {}, "googleapiclient.http.MediaUpload._to_json": {}, "googleapiclient.http.MediaUpload.to_json": {}, "googleapiclient.http.MediaFileUpload.to_json": {}, "googleapiclient.http.MediaInMemoryUpload.__init__": {}, "googleapiclient.http.BatchHttpRequest._new_id": {}, "googleapiclient.http.HttpMockSequence": {}, "googleapiclient.discovery.build_from_document": {}, "googleapiclient.discovery._media_path_url_from_info": {}, "googleapiclient.discovery.createMethod": {}, "googleapiclient.discovery.createNextMethod": {}}, "kind": {}, "_index": 43}], ["create", {"name": {}, "names": {"googleapiclient.discovery.createMethod": {}, "googleapiclient.discovery.createNextMethod": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1462}], ["createmethod", {"name": {"googleapiclient.discovery.createMethod": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1461}], ["createnextmethod", {"name": {"googleapiclient.discovery.createNextMethod": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1465}], ["credenti", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._auth.credentials_from_file": {}, "googleapiclient._auth.default_credentials": {}, "googleapiclient._auth.with_scopes": {}, "googleapiclient._auth.authorized_http": {}, "googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials": {}, "googleapiclient.discovery.Resource._validate_credentials": {}, "googleapiclient.sample_tools.init": {}}, "kind": {}, "_index": 277}], ["credentials", {"name": {}, "names": {"googleapiclient._auth.credentials_from_file": {}, "googleapiclient._auth.default_credentials": {}, "googleapiclient._auth.refresh_credentials": {}, "googleapiclient._auth.apply_credentials": {}, "googleapiclient._auth.get_credentials_from_http": {}, "googleapiclient.http.BatchHttpRequest._refreshed_credentials": {}, "googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials": {}, "googleapiclient.discovery._check_api_core_compatible_with_credentials_universe": {}, "googleapiclient.discovery.Resource._credentials_validated": {}, "googleapiclient.discovery.Resource._validate_credentials": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 274}], ["credentials_from_file", {"name": {"googleapiclient._auth.credentials_from_file": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 273}], ["credits", {"name": {}, "names": {"googleapiclient.mimeparse.__credits__": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 596}], ["current", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers._add_query_parameter": {}}, "kind": {}, "_index": 411}], ["custom", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.__init__": {}, "googleapiclient.discovery._urljoin": {}}, "kind": {}, "_index": 570}], ["d", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseDownload": {}, "googleapiclient.http.HttpRequest.next_chunk": {}}, "kind": {}, "_index": 954}], ["data", {"name": {"googleapiclient.http.HttpMock.data": {}}, "names": {"googleapiclient.model.JsonModel._data_wrapper": {}, "googleapiclient.http.HttpMock.data": {}}, "qname": {}, "docstring": {"googleapiclient.errors.HttpError": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaUpload.stream": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaIoBaseUpload.stream": {}, "googleapiclient.http._StreamSlice": {}, "googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 418}], ["de", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.Model": {}, "googleapiclient.model.JsonModel": {}, "googleapiclient.model.RawModel": {}, "googleapiclient.model.MediaModel": {}, "googleapiclient.model.ProtocolBufferModel": {}, "googleapiclient.model.ProtocolBufferModel.__init__": {}}, "kind": {}, "_index": 671}], ["debug", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.BaseModel._log_request": {}, "googleapiclient.model.BaseModel._log_response": {}}, "kind": {}, "_index": 693}], ["declar", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 330}], ["decor", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 329}], ["decreas", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema._SchemaToStruct.undent": {}}, "kind": {}, "_index": 1282}], ["dedupl", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 31}], ["def", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}, "googleapiclient.http.BatchHttpRequest": {}}, "kind": {}, "_index": 340}], ["default", {"name": {}, "names": {"googleapiclient._auth.default_credentials": {}, "googleapiclient.http.DEFAULT_CHUNK_SIZE": {}, "googleapiclient.http.DEFAULT_HTTP_TIMEOUT_SEC": {}, "googleapiclient.discovery.DEFAULT_METHOD_DOC": {}, "googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery.MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery.DEFAULT_UNIVERSE": {}, "googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE": {}}, "qname": {}, "docstring": {"googleapiclient.schema": {}, "googleapiclient._auth.default_credentials": {}, "googleapiclient._helpers.positional": {}, "googleapiclient.mimeparse.parse_media_range": {}, "googleapiclient.http.BatchHttpRequest.add": {}, "googleapiclient.http.build_http": {}, "googleapiclient.discovery.ResourceMethodParameters.__init__": {}}, "kind": {}, "_index": 241}], ["default_chunk_size", {"name": {"googleapiclient.http.DEFAULT_CHUNK_SIZE": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 768}], ["default_credentials", {"name": {"googleapiclient._auth.default_credentials": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 279}], ["default_http_timeout_sec", {"name": {"googleapiclient.http.DEFAULT_HTTP_TIMEOUT_SEC": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 782}], ["default_method_doc", {"name": {"googleapiclient.discovery.DEFAULT_METHOD_DOC": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1297}], ["default_universe", {"name": {"googleapiclient.discovery.DEFAULT_UNIVERSE": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1328}], ["defer", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.ResourceMethodParameters.__init__": {}}, "kind": {}, "_index": 1455}], ["defin", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.errors": {}, "googleapiclient._helpers.positional": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.discovery_cache.get_static_doc": {}}, "kind": {}, "_index": 145}], ["del", {"name": {}, "names": {"googleapiclient.http.MediaFileUpload.__del__": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 930}], ["deliv", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.token": {}, "googleapiclient.channel.Channel.address": {}}, "kind": {}, "_index": 547}], ["deliveri", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.type": {}, "googleapiclient.channel.Channel.params": {}}, "kind": {}, "_index": 539}], ["dent", {"name": {"googleapiclient.schema._SchemaToStruct.dent": {}}, "names": {"googleapiclient.schema._SchemaToStruct.dent": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1261}], ["depend", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}}, "kind": {}, "_index": 890}], ["deprec", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaInMemoryUpload": {}, "googleapiclient.http.MediaInMemoryUpload.__init__": {}}, "kind": {}, "_index": 940}], ["desc", {"name": {}, "names": {"googleapiclient.discovery.Resource._resourceDesc": {}, "googleapiclient.discovery.Resource._rootDesc": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1487}], ["describ", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}}, "kind": {}, "_index": 824}], ["descript", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}, "googleapiclient.http.RequestMockBuilder.__call__": {}, "googleapiclient.discovery._fix_up_parameters": {}, "googleapiclient.discovery._fix_up_media_upload": {}, "googleapiclient.discovery._fix_up_method_description": {}, "googleapiclient.discovery.ResourceMethodParameters.set_parameters": {}, "googleapiclient.discovery.Resource.__init__": {}, "googleapiclient.discovery._methodProperties": {}}, "kind": {}, "_index": 236}], ["description", {"name": {}, "names": {"googleapiclient.discovery._fix_up_method_description": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1410}], ["deseri", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}, "googleapiclient.model.BaseModel": {}, "googleapiclient.model.BaseModel.no_content_response": {}, "googleapiclient.model.BaseModel.deserialize": {}, "googleapiclient.model.JsonModel.deserialize": {}, "googleapiclient.model.RawModel.deserialize": {}, "googleapiclient.model.MediaModel.deserialize": {}, "googleapiclient.model.ProtocolBufferModel.deserialize": {}, "googleapiclient.schema.Schemas.get": {}}, "kind": {}, "_index": 224}], ["deserialize", {"name": {"googleapiclient.model.BaseModel.deserialize": {}, "googleapiclient.model.JsonModel.deserialize": {}, "googleapiclient.model.RawModel.deserialize": {}, "googleapiclient.model.MediaModel.deserialize": {}, "googleapiclient.model.ProtocolBufferModel.deserialize": {}}, "names": {"googleapiclient.model.BaseModel.deserialize": {}, "googleapiclient.model.JsonModel.deserialize": {}, "googleapiclient.model.RawModel.deserialize": {}, "googleapiclient.model.MediaModel.deserialize": {}, "googleapiclient.model.ProtocolBufferModel.deserialize": {}, "googleapiclient.http.BatchHttpRequest._deserialize_response": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 703}], ["desir", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.best_match": {}, "googleapiclient.http.HttpMockSequence": {}}, "kind": {}, "_index": 644}], ["detail", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.discovery._cast": {}}, "kind": {}, "_index": 1148}], ["details", {"name": {}, "names": {"googleapiclient.errors.HttpError.error_details": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 428}], ["detect", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery_cache.autodetect": {}}, "kind": {}, "_index": 1555}], ["determin", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}, "googleapiclient.http._should_retry_response": {}}, "kind": {}, "_index": 186}], ["developer", {"name": {}, "names": {"googleapiclient.discovery.Resource._developerKey": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1481}], ["dict", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.params": {}, "googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 558}], ["dictionari", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.channel.Channel.params": {}, "googleapiclient.channel.Channel.body": {}, "googleapiclient.channel.Channel.update": {}, "googleapiclient.mimeparse.parse_mime_type": {}, "googleapiclient.mimeparse.parse_media_range": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}, "googleapiclient.discovery._fix_up_parameters": {}, "googleapiclient.discovery._fix_up_method_description": {}, "googleapiclient.discovery.ResourceMethodParameters.set_parameters": {}}, "kind": {}, "_index": 80}], ["differ", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.resource_id": {}, "googleapiclient.model.makepatch": {}, "googleapiclient.http.HttpMockSequence": {}, "googleapiclient.http.tunnel_patch": {}}, "kind": {}, "_index": 563}], ["dir", {"name": {}, "names": {"googleapiclient._helpers._IS_DIR_MESSAGE": {}, "googleapiclient.discovery_cache.DISCOVERY_DOC_DIR": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 323}], ["directli", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Notification": {}, "googleapiclient.channel.Channel": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.HttpRequestMock": {}}, "kind": {}, "_index": 519}], ["directori", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery_cache.get_static_doc": {}, "googleapiclient.sample_tools.init": {}}, "kind": {}, "_index": 1558}], ["discoveri", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery": {}, "googleapiclient.discovery_cache": {}, "googleapiclient.discovery_cache.appengine_memcache": {}, "googleapiclient.discovery_cache.base": {}, "googleapiclient.discovery_cache.file_cache": {}, "googleapiclient.schema": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}, "googleapiclient.discovery.build": {}, "googleapiclient.discovery._discovery_service_uri_options": {}, "googleapiclient.discovery.build_from_document": {}, "googleapiclient.discovery._media_path_url_from_info": {}, "googleapiclient.discovery._fix_up_parameters": {}, "googleapiclient.discovery._fix_up_method_description": {}, "googleapiclient.discovery_cache.get_static_doc": {}, "googleapiclient.discovery_cache.file_cache.Cache": {}}, "kind": {}, "_index": 110}], ["discovery", {"name": {"googleapiclient.discovery": {}}, "names": {"googleapiclient.discovery": {}, "googleapiclient.discovery_cache": {}, "googleapiclient.discovery.DISCOVERY_URI": {}, "googleapiclient.discovery.V2_DISCOVERY_URI": {}, "googleapiclient.discovery._discovery_service_uri_options": {}, "googleapiclient.discovery._retrieve_discovery_doc": {}, "googleapiclient.discovery_cache.DISCOVERY_DOC_MAX_AGE": {}, "googleapiclient.discovery_cache.DISCOVERY_DOC_DIR": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 107}], ["discovery.build()", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder.__call__": {}}, "kind": {}, "_index": 1163}], ["discovery_cache", {"name": {"googleapiclient.discovery_cache": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 113}], ["discovery_doc", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._retrieve_discovery_doc": {}}, "kind": {}, "_index": 1369}], ["discovery_doc_dir", {"name": {"googleapiclient.discovery_cache.DISCOVERY_DOC_DIR": {}}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery_cache.get_static_doc": {}}, "kind": {}, "_index": 1551}], ["discovery_doc_max_age", {"name": {"googleapiclient.discovery_cache.DISCOVERY_DOC_MAX_AGE": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1548}], ["discovery_uri", {"name": {"googleapiclient.discovery.DISCOVERY_URI": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1293}], ["do", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.set_user_agent": {}}, "kind": {}, "_index": 1217}], ["doc", {"name": {}, "names": {"googleapiclient.discovery.DEFAULT_METHOD_DOC": {}, "googleapiclient.discovery._retrieve_discovery_doc": {}, "googleapiclient.discovery_cache.DISCOVERY_DOC_MAX_AGE": {}, "googleapiclient.discovery_cache.DISCOVERY_DOC_DIR": {}, "googleapiclient.discovery_cache.get_static_doc": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1298}], ["document", {"name": {}, "names": {"googleapiclient.discovery.build_from_document": {}}, "qname": {}, "docstring": {"googleapiclient.discovery_cache": {}, "googleapiclient.discovery_cache.appengine_memcache": {}, "googleapiclient.discovery_cache.base": {}, "googleapiclient.discovery_cache.file_cache": {}, "googleapiclient.schema": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}, "googleapiclient.discovery.build_from_document": {}, "googleapiclient.discovery._media_path_url_from_info": {}, "googleapiclient.discovery._fix_up_parameters": {}, "googleapiclient.discovery._fix_up_method_description": {}, "googleapiclient.discovery_cache.get_static_doc": {}, "googleapiclient.discovery_cache.file_cache.Cache": {}}, "kind": {}, "_index": 117}], ["doesn't", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.tunnel_patch": {}, "googleapiclient.discovery._fix_up_media_path_base_url": {}}, "kind": {}, "_index": 1227}], ["domain", {"name": {}, "names": {"googleapiclient.discovery.GOOGLE_CLOUD_UNIVERSE_DOMAIN": {}, "googleapiclient.discovery.Resource._universe_domain": {}}, "qname": {}, "docstring": {"googleapiclient.discovery.Resource._validate_credentials": {}}, "kind": {}, "_index": 1326}], ["don't", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.RawModel": {}, "googleapiclient.discovery._fix_up_parameters": {}}, "kind": {}, "_index": 720}], ["done", {"name": {}, "names": {"googleapiclient.http.MediaIoBaseDownload._done": {}}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseDownload": {}}, "kind": {}, "_index": 951}], ["down", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.Resource.__getstate__": {}}, "kind": {}, "_index": 1507}], ["download", {"name": {}, "names": {"googleapiclient.http.MediaDownloadProgress": {}, "googleapiclient.http.MediaIoBaseDownload": {}}, "qname": {}, "docstring": {"googleapiclient.http.MediaDownloadProgress": {}, "googleapiclient.http.MediaDownloadProgress.progress": {}, "googleapiclient.http.MediaIoBaseDownload": {}, "googleapiclient.http.MediaIoBaseDownload.next_chunk": {}}, "kind": {}, "_index": 816}], ["downloader.next_chunk()", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseDownload": {}}, "kind": {}, "_index": 953}], ["dump", {"name": {}, "names": {"googleapiclient.model.dump_request_response": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 664}], ["dump_request_response", {"name": {"googleapiclient.model.dump_request_response": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 663}], ["dure", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.errors.ResumableUploadError": {}, "googleapiclient.errors.BatchError": {}}, "kind": {}, "_index": 468}], ["dynam", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.Resource._set_dynamic_attr": {}}, "kind": {}, "_index": 1502}], ["dynamic", {"name": {}, "names": {"googleapiclient.discovery.Resource._dynamic_attrs": {}, "googleapiclient.discovery.Resource._set_dynamic_attr": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1471}], ["each", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model": {}, "googleapiclient._helpers.update_query_params": {}, "googleapiclient.channel.Channel.token": {}, "googleapiclient.channel.Channel.__init__": {}, "googleapiclient.http.BatchHttpRequest.add": {}, "googleapiclient.http.HttpMockSequence": {}, "googleapiclient.discovery.ResourceMethodParameters.enum_params": {}, "googleapiclient.discovery.ResourceMethodParameters.set_parameters": {}}, "kind": {}, "_index": 198}], ["easi", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}, "googleapiclient.model.makepatch": {}, "googleapiclient.discovery.createNextMethod": {}}, "kind": {}, "_index": 334}], ["echo_request_bodi", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpMockSequence": {}}, "kind": {}, "_index": 1198}], ["echo_request_head", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpMockSequence": {}}, "kind": {}, "_index": 1188}], ["echo_request_headers_as_json", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpMockSequence": {}}, "kind": {}, "_index": 1197}], ["echo_request_uri", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpMockSequence": {}}, "kind": {}, "_index": 1199}], ["effect", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._fix_up_parameters": {}, "googleapiclient.discovery._fix_up_media_upload": {}, "googleapiclient.discovery._fix_up_method_description": {}}, "kind": {}, "_index": 1404}], ["effici", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.makepatch": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}}, "kind": {}, "_index": 751}], ["elif", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 102}], ["email", {"name": {}, "names": {"googleapiclient.mimeparse.__email__": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 590}], ["emit", {"name": {"googleapiclient.schema._SchemaToStruct.emit": {}}, "names": {"googleapiclient.schema._SchemaToStruct.emit": {}, "googleapiclient.schema._SchemaToStruct.emitBegin": {}, "googleapiclient.schema._SchemaToStruct.emitEnd": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1267}], ["emitbegin", {"name": {"googleapiclient.schema._SchemaToStruct.emitBegin": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1271}], ["emitend", {"name": {"googleapiclient.schema._SchemaToStruct.emitEnd": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1274}], ["empti", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery_cache.file_cache": {}, "googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 140}], ["encapsul", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http": {}, "googleapiclient.http.HttpRequest": {}}, "kind": {}, "_index": 148}], ["end", {"name": {}, "names": {"googleapiclient.schema._SchemaToStruct.emitEnd": {}}, "qname": {}, "docstring": {"googleapiclient.http._StreamSlice": {}}, "kind": {}, "_index": 990}], ["endpoint", {"name": {}, "names": {"googleapiclient.discovery.GOOGLE_API_USE_MTLS_ENDPOINT": {}}, "qname": {}, "docstring": {"googleapiclient.http.set_user_agent": {}}, "kind": {}, "_index": 1220}], ["engin", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery_cache.appengine_memcache": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache": {}}, "kind": {}, "_index": 122}], ["ensur", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest.add": {}}, "kind": {}, "_index": 1110}], ["enter", {"name": {}, "names": {"googleapiclient.discovery.Resource.__enter__": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1519}], ["entir", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}}, "kind": {}, "_index": 891}], ["entiti", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.address": {}}, "kind": {}, "_index": 551}], ["enum", {"name": {}, "names": {"googleapiclient.discovery.ResourceMethodParameters.enum_params": {}}, "qname": {}, "docstring": {"googleapiclient.discovery.ResourceMethodParameters.enum_params": {}}, "kind": {}, "_index": 1451}], ["enum_params", {"name": {"googleapiclient.discovery.ResourceMethodParameters.enum_params": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1450}], ["environ", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}}, "kind": {}, "_index": 832}], ["epoch", {"name": {"googleapiclient.channel.EPOCH": {}, "googleapiclient.discovery_cache.file_cache.EPOCH": {}}, "names": {"googleapiclient.channel.EPOCH": {}, "googleapiclient.discovery_cache.file_cache.EPOCH": {}}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.expiration": {}}, "kind": {}, "_index": 495}], ["error", {"name": {"googleapiclient.errors.Error": {}}, "names": {"googleapiclient.errors.Error": {}, "googleapiclient.errors.HttpError": {}, "googleapiclient.errors.HttpError.error_details": {}, "googleapiclient.errors.InvalidJsonError": {}, "googleapiclient.errors.UnacceptableMimeTypeError": {}, "googleapiclient.errors.MediaUploadSizeError": {}, "googleapiclient.errors.ResumableUploadError": {}, "googleapiclient.errors.InvalidChunkSizeError": {}, "googleapiclient.errors.InvalidNotificationError": {}, "googleapiclient.errors.BatchError": {}, "googleapiclient.errors.UnexpectedMethodError": {}, "googleapiclient.errors.UnexpectedBodyError": {}, "googleapiclient.http.HttpRequest._in_error_state": {}, "googleapiclient.discovery.APICoreVersionError": {}}, "qname": {}, "docstring": {"googleapiclient.errors": {}, "googleapiclient._helpers.update_query_params": {}, "googleapiclient.errors.Error": {}, "googleapiclient.errors.HttpError._get_reason": {}, "googleapiclient.errors.ResumableUploadError": {}, "googleapiclient.errors.BatchError": {}, "googleapiclient.http._retry_request": {}, "googleapiclient.http.BatchHttpRequest.add": {}}, "kind": {}, "_index": 143}], ["error_details", {"name": {"googleapiclient.errors.HttpError.error_details": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 427}], ["errors", {"name": {"googleapiclient.errors": {}}, "names": {"googleapiclient.errors": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 141}], ["etag", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}}, "kind": {}, "_index": 234}], ["etc", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model": {}}, "kind": {}, "_index": 205}], ["event", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Notification.resource_id": {}, "googleapiclient.channel.Channel.token": {}, "googleapiclient.channel.Channel.address": {}}, "kind": {}, "_index": 532}], ["exampl", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.schema": {}, "googleapiclient._helpers.positional": {}, "googleapiclient.channel.Channel.type": {}, "googleapiclient.mimeparse.parse_mime_type": {}, "googleapiclient.mimeparse.parse_media_range": {}, "googleapiclient.mimeparse.quality": {}, "googleapiclient.model.makepatch": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.MediaIoBaseDownload": {}, "googleapiclient.http.HttpRequest.next_chunk": {}, "googleapiclient.http.BatchHttpRequest": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.set_user_agent": {}, "googleapiclient.http.tunnel_patch": {}, "googleapiclient.discovery.key2param": {}}, "kind": {}, "_index": 40}], ["except", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.errors": {}, "googleapiclient.mimeparse": {}, "googleapiclient._helpers.positional": {}, "googleapiclient.errors.UnexpectedMethodError": {}, "googleapiclient.errors.UnexpectedBodyError": {}, "googleapiclient.mimeparse.quality_parsed": {}, "googleapiclient.http.BatchHttpRequest": {}, "googleapiclient.http.BatchHttpRequest.add": {}}, "kind": {}, "_index": 144}], ["exception", {"name": {}, "names": {"googleapiclient._helpers.POSITIONAL_EXCEPTION": {}}, "qname": {}, "docstring": {}, "kind": {"googleapiclient.errors.Error": {}, "googleapiclient.errors.HttpError": {}, "googleapiclient.errors.InvalidJsonError": {}, "googleapiclient.errors.UnknownFileType": {}, "googleapiclient.errors.UnknownLinkType": {}, "googleapiclient.errors.UnknownApiNameOrVersion": {}, "googleapiclient.errors.UnacceptableMimeTypeError": {}, "googleapiclient.errors.MediaUploadSizeError": {}, "googleapiclient.errors.ResumableUploadError": {}, "googleapiclient.errors.InvalidChunkSizeError": {}, "googleapiclient.errors.InvalidNotificationError": {}, "googleapiclient.errors.BatchError": {}, "googleapiclient.errors.UnexpectedMethodError": {}, "googleapiclient.errors.UnexpectedBodyError": {}, "googleapiclient.discovery.APICoreVersionError": {}}, "_index": 310}], ["excpet", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 1144}], ["execut", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http": {}, "googleapiclient.http.HttpRequest.execute": {}, "googleapiclient.http.HttpRequest.next_chunk": {}, "googleapiclient.http.BatchHttpRequest.execute": {}, "googleapiclient.http.HttpRequestMock.execute": {}}, "kind": {}, "_index": 153}], ["execute", {"name": {"googleapiclient.http.HttpRequest.execute": {}, "googleapiclient.http.BatchHttpRequest.execute": {}, "googleapiclient.http.HttpRequestMock.execute": {}}, "names": {"googleapiclient.http.HttpRequest.execute": {}, "googleapiclient.http.BatchHttpRequest._execute": {}, "googleapiclient.http.BatchHttpRequest.execute": {}, "googleapiclient.http.HttpRequestMock.execute": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1025}], ["exist", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient._helpers.update_query_params": {}, "googleapiclient._helpers._add_query_parameter": {}, "googleapiclient.errors.UnknownApiNameOrVersion": {}, "googleapiclient.http.MediaUpload": {}}, "kind": {}, "_index": 103}], ["exit", {"name": {}, "names": {"googleapiclient.discovery.Resource.__exit__": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1522}], ["expect", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder.__call__": {}}, "kind": {}, "_index": 1164}], ["experiment", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 27}], ["expir", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.expiration": {}}, "kind": {}, "_index": 556}], ["expiration", {"name": {"googleapiclient.channel.Channel.expiration": {}}, "names": {"googleapiclient.channel.Channel.expiration": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 552}], ["explan", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}}, "kind": {}, "_index": 174}], ["express", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.ResourceMethodParameters.pattern_params": {}}, "kind": {}, "_index": 1438}], ["extra", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._fix_up_method_description": {}}, "kind": {}, "_index": 1412}], ["fact", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.Resource.__getstate__": {}, "googleapiclient.discovery.Resource.__setstate__": {}}, "kind": {}, "_index": 1509}], ["factor", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}}, "kind": {}, "_index": 828}], ["fail", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http._retry_request": {}}, "kind": {}, "_index": 798}], ["fals", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseDownload": {}}, "kind": {}, "_index": 952}], ["farm.animals().insert(", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.HttpRequest.next_chunk": {}}, "kind": {}, "_index": 886}], ["farmer", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest": {}}, "kind": {}, "_index": 1053}], ["farms.animals().get_media(id='cow')", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseDownload": {}}, "kind": {}, "_index": 946}], ["faster", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}}, "kind": {}, "_index": 852}], ["fd", {"name": {}, "names": {"googleapiclient.http.MediaIoBaseUpload._fd": {}, "googleapiclient.http.MediaFileUpload._fd": {}, "googleapiclient.http.MediaIoBaseDownload._fd": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 899}], ["fh", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaIoBaseDownload": {}}, "kind": {}, "_index": 880}], ["field", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder.__init__": {}, "googleapiclient.discovery._findPageTokenName": {}, "googleapiclient.discovery._methodProperties": {}}, "kind": {}, "_index": 1154}], ["file", {"name": {}, "names": {"googleapiclient.discovery_cache.file_cache": {}, "googleapiclient._auth.credentials_from_file": {}, "googleapiclient._helpers._MISSING_FILE_MESSAGE": {}, "googleapiclient.errors.UnknownFileType": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.discovery_cache.file_cache.Cache._file": {}}, "qname": {}, "docstring": {"googleapiclient.discovery_cache.file_cache": {}, "googleapiclient.errors": {}, "googleapiclient._auth.credentials_from_file": {}, "googleapiclient.errors.UnknownFileType": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.MediaIoBaseDownload": {}, "googleapiclient.discovery_cache.file_cache.Cache": {}, "googleapiclient.sample_tools.init": {}}, "kind": {}, "_index": 127}], ["file_cache", {"name": {"googleapiclient.discovery_cache.file_cache": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 126}], ["filename", {"name": {"googleapiclient.discovery_cache.file_cache.FILENAME": {}}, "names": {"googleapiclient.http.MediaFileUpload._filename": {}, "googleapiclient.discovery_cache.file_cache.FILENAME": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 927}], ["fill", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.parse_media_range": {}}, "kind": {}, "_index": 611}], ["filter", {"name": {}, "names": {"googleapiclient.mimeparse._filter_blank": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 653}], ["find", {"name": {}, "names": {"googleapiclient.discovery._findPageTokenName": {}}, "qname": {}, "docstring": {"googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.quality_parsed": {}, "googleapiclient.mimeparse.best_match": {}}, "kind": {}, "_index": 619}], ["first", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 331}], ["fit", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.fitness_and_quality_parsed": {}}, "kind": {}, "_index": 623}], ["fitness", {"name": {}, "names": {"googleapiclient.mimeparse.fitness_and_quality_parsed": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 614}], ["fitness_and_quality_parsed", {"name": {"googleapiclient.mimeparse.fitness_and_quality_parsed": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 613}], ["fix", {"name": {}, "names": {"googleapiclient.discovery.fix_method_name": {}, "googleapiclient.discovery._fix_up_parameters": {}, "googleapiclient.discovery._fix_up_media_upload": {}, "googleapiclient.discovery._fix_up_method_description": {}, "googleapiclient.discovery._fix_up_media_path_base_url": {}}, "qname": {}, "docstring": {"googleapiclient.discovery.fix_method_name": {}}, "kind": {}, "_index": 1349}], ["fix_method_name", {"name": {"googleapiclient.discovery.fix_method_name": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1348}], ["flag", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpRequest.next_chunk": {}}, "kind": {}, "_index": 1033}], ["float", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUploadProgress.progress": {}, "googleapiclient.http.MediaDownloadProgress.progress": {}}, "kind": {}, "_index": 814}], ["fn", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 358}], ["fn(10)", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 359}], ["fn(10,", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 346}], ["fn(pos1,", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 341}], ["fn(required_kw):", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 357}], ["fn(required_kw=10)", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 360}], ["follow", {"name": {}, "names": {"googleapiclient.http.HttpMockSequence.follow_redirects": {}}, "qname": {}, "docstring": {"googleapiclient.schema": {}, "googleapiclient.model.BaseModel": {}}, "kind": {}, "_index": 257}], ["follow_redirects", {"name": {"googleapiclient.http.HttpMockSequence.follow_redirects": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1204}], ["foo", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}}, "kind": {}, "_index": 231}], ["format", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model": {}, "googleapiclient.mimeparse.best_match": {}, "googleapiclient.model.Model": {}, "googleapiclient.model.Model.response": {}, "googleapiclient.model.BaseModel.response": {}, "googleapiclient.http.BatchHttpRequest._header_to_id": {}}, "kind": {}, "_index": 208}], ["found", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.quality_parsed": {}, "googleapiclient.sample_tools.init": {}}, "kind": {}, "_index": 627}], ["from", {"name": {}, "names": {"googleapiclient._auth.credentials_from_file": {}, "googleapiclient._auth.get_credentials_from_http": {}, "googleapiclient.channel.notification_from_headers": {}, "googleapiclient.http.MediaUpload.new_from_json": {}, "googleapiclient.http.MediaFileUpload.from_json": {}, "googleapiclient.http.HttpRequest.from_json": {}, "googleapiclient.schema._SchemaToStruct.from_cache": {}, "googleapiclient.discovery.build_from_document": {}, "googleapiclient.discovery._media_path_url_from_info": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 275}], ["from_cache", {"name": {"googleapiclient.schema._SchemaToStruct.from_cache": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1263}], ["from_json", {"name": {"googleapiclient.http.MediaFileUpload.from_json": {}, "googleapiclient.http.HttpRequest.from_json": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 933}], ["function", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers": {}, "googleapiclient.channel": {}, "googleapiclient.mimeparse": {}, "googleapiclient._helpers.positional": {}, "googleapiclient.channel.Notification": {}, "googleapiclient.channel.Channel": {}, "googleapiclient.channel.Channel.__init__": {}, "googleapiclient.mimeparse.parse_media_range": {}, "googleapiclient.mimeparse.quality_parsed": {}, "googleapiclient.http.MediaUpload._to_json": {}, "googleapiclient.sample_tools.init": {}}, "kind": {"googleapiclient._auth.credentials_from_file": {}, "googleapiclient._auth.default_credentials": {}, "googleapiclient._auth.with_scopes": {}, "googleapiclient._auth.authorized_http": {}, "googleapiclient._auth.refresh_credentials": {}, "googleapiclient._auth.apply_credentials": {}, "googleapiclient._auth.is_valid": {}, "googleapiclient._auth.get_credentials_from_http": {}, "googleapiclient._helpers.positional": {}, "googleapiclient._helpers.parse_unique_urlencoded": {}, "googleapiclient._helpers.update_query_params": {}, "googleapiclient._helpers._add_query_parameter": {}, "googleapiclient.channel._upper_header_keys": {}, "googleapiclient.channel.notification_from_headers": {}, "googleapiclient.channel.new_webhook_channel": {}, "googleapiclient.mimeparse.parse_mime_type": {}, "googleapiclient.mimeparse.parse_media_range": {}, "googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.quality_parsed": {}, "googleapiclient.mimeparse.quality": {}, "googleapiclient.mimeparse.best_match": {}, "googleapiclient.mimeparse._filter_blank": {}, "googleapiclient.model._abstract": {}, "googleapiclient.model.makepatch": {}, "googleapiclient.http._should_retry_response": {}, "googleapiclient.http._retry_request": {}, "googleapiclient.http.set_user_agent": {}, "googleapiclient.http.tunnel_patch": {}, "googleapiclient.http.build_http": {}, "googleapiclient.discovery.fix_method_name": {}, "googleapiclient.discovery.key2param": {}, "googleapiclient.discovery.build": {}, "googleapiclient.discovery._discovery_service_uri_options": {}, "googleapiclient.discovery._retrieve_discovery_doc": {}, "googleapiclient.discovery._check_api_core_compatible_with_credentials_universe": {}, "googleapiclient.discovery.build_from_document": {}, "googleapiclient.discovery._cast": {}, "googleapiclient.discovery._media_size_to_long": {}, "googleapiclient.discovery._media_path_url_from_info": {}, "googleapiclient.discovery._fix_up_parameters": {}, "googleapiclient.discovery._fix_up_media_upload": {}, "googleapiclient.discovery._fix_up_method_description": {}, "googleapiclient.discovery._fix_up_media_path_base_url": {}, "googleapiclient.discovery._urljoin": {}, "googleapiclient.discovery.createMethod": {}, "googleapiclient.discovery.createNextMethod": {}, "googleapiclient.discovery._findPageTokenName": {}, "googleapiclient.discovery._methodProperties": {}, "googleapiclient.discovery_cache.autodetect": {}, "googleapiclient.discovery_cache.get_static_doc": {}, "googleapiclient.discovery_cache.file_cache._to_timestamp": {}, "googleapiclient.discovery_cache.file_cache._read_or_initialize_cache": {}, "googleapiclient.sample_tools.init": {}}, "_index": 14}], ["further", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}}, "kind": {}, "_index": 249}], ["gener", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest.add": {}, "googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 1108}], ["generator", {"name": {}, "names": {"googleapiclient.discovery._BytesGenerator": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1346}], ["get", {"name": {"googleapiclient.schema.Schemas.get": {}, "googleapiclient.discovery_cache.base.Cache.get": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache.get": {}, "googleapiclient.discovery_cache.file_cache.Cache.get": {}}, "names": {"googleapiclient._auth.get_credentials_from_http": {}, "googleapiclient.errors.HttpError._get_reason": {}, "googleapiclient.schema.Schemas.get": {}, "googleapiclient.discovery_cache.get_static_doc": {}, "googleapiclient.discovery_cache.base.Cache.get": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache.get": {}, "googleapiclient.discovery_cache.file_cache.Cache.get": {}}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.discovery_cache.base.Cache.get": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache.get": {}, "googleapiclient.discovery_cache.file_cache.Cache.get": {}}, "kind": {}, "_index": 45}], ["get_credentials_from_http", {"name": {"googleapiclient._auth.get_credentials_from_http": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 300}], ["get_static_doc", {"name": {"googleapiclient.discovery_cache.get_static_doc": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1556}], ["getbytes", {"name": {"googleapiclient.http.MediaUpload.getbytes": {}, "googleapiclient.http.MediaIoBaseUpload.getbytes": {}}, "names": {"googleapiclient.http.MediaUpload.getbytes": {}, "googleapiclient.http.MediaIoBaseUpload.getbytes": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 861}], ["getstate", {"name": {}, "names": {"googleapiclient.discovery.Resource.__getstate__": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1504}], ["given", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}, "googleapiclient._auth.authorized_http": {}, "googleapiclient._helpers.update_query_params": {}, "googleapiclient.errors.InvalidChunkSizeError": {}, "googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.quality_parsed": {}, "googleapiclient.model.ProtocolBufferModel.__init__": {}, "googleapiclient.discovery.build_from_document": {}, "googleapiclient.discovery_cache.base.Cache.get": {}, "googleapiclient.discovery_cache.base.Cache.set": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache.get": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache.set": {}, "googleapiclient.discovery_cache.file_cache.Cache.get": {}, "googleapiclient.discovery_cache.file_cache.Cache.set": {}}, "kind": {}, "_index": 229}], ["global", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._fix_up_parameters": {}}, "kind": {}, "_index": 1399}], ["goog", {"name": {}, "names": {"googleapiclient.channel.X_GOOG_CHANNEL_ID": {}, "googleapiclient.channel.X_GOOG_MESSAGE_NUMBER": {}, "googleapiclient.channel.X_GOOG_RESOURCE_STATE": {}, "googleapiclient.channel.X_GOOG_RESOURCE_URI": {}, "googleapiclient.channel.X_GOOG_RESOURCE_ID": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 501}], ["googl", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._auth": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}}, "kind": {}, "_index": 9}], ["google", {"name": {}, "names": {"googleapiclient._auth.HAS_GOOGLE_AUTH": {}, "googleapiclient.discovery.GOOGLE_API_USE_CLIENT_CERTIFICATE": {}, "googleapiclient.discovery.GOOGLE_API_USE_MTLS_ENDPOINT": {}, "googleapiclient.discovery.GOOGLE_CLOUD_UNIVERSE_DOMAIN": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 268}], ["google'", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery": {}}, "kind": {}, "_index": 112}], ["google_api_use_client_certificate", {"name": {"googleapiclient.discovery.GOOGLE_API_USE_CLIENT_CERTIFICATE": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1317}], ["google_api_use_mtls_endpoint", {"name": {"googleapiclient.discovery.GOOGLE_API_USE_MTLS_ENDPOINT": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1321}], ["google_cloud_universe_domain", {"name": {"googleapiclient.discovery.GOOGLE_CLOUD_UNIVERSE_DOMAIN": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1324}], ["googleapiclient", {"name": {"googleapiclient": {}}, "names": {"googleapiclient": {}}, "qname": {"googleapiclient": {}}, "docstring": {}, "kind": {}, "_index": 0}], ["googleapiclient._auth", {"name": {}, "names": {}, "qname": {"googleapiclient._auth": {}}, "docstring": {}, "kind": {}, "_index": 4}], ["googleapiclient._auth.apply_credentials", {"name": {}, "names": {}, "qname": {"googleapiclient._auth.apply_credentials": {}}, "docstring": {}, "kind": {}, "_index": 296}], ["googleapiclient._auth.authorized_http", {"name": {}, "names": {}, "qname": {"googleapiclient._auth.authorized_http": {}}, "docstring": {}, "kind": {}, "_index": 289}], ["googleapiclient._auth.credentials_from_file", {"name": {}, "names": {}, "qname": {"googleapiclient._auth.credentials_from_file": {}}, "docstring": {}, "kind": {}, "_index": 276}], ["googleapiclient._auth.default_credentials", {"name": {}, "names": {}, "qname": {"googleapiclient._auth.default_credentials": {}}, "docstring": {}, "kind": {}, "_index": 280}], ["googleapiclient._auth.get_credentials_from_http", {"name": {}, "names": {}, "qname": {"googleapiclient._auth.get_credentials_from_http": {}}, "docstring": {}, "kind": {}, "_index": 301}], ["googleapiclient._auth.has_google_auth", {"name": {}, "names": {}, "qname": {"googleapiclient._auth.HAS_GOOGLE_AUTH": {}}, "docstring": {}, "kind": {}, "_index": 269}], ["googleapiclient._auth.has_oauth2client", {"name": {}, "names": {}, "qname": {"googleapiclient._auth.HAS_OAUTH2CLIENT": {}}, "docstring": {}, "kind": {}, "_index": 272}], ["googleapiclient._auth.is_valid", {"name": {}, "names": {}, "qname": {"googleapiclient._auth.is_valid": {}}, "docstring": {}, "kind": {}, "_index": 299}], ["googleapiclient._auth.refresh_credentials", {"name": {}, "names": {}, "qname": {"googleapiclient._auth.refresh_credentials": {}}, "docstring": {}, "kind": {}, "_index": 293}], ["googleapiclient._auth.with_scopes", {"name": {}, "names": {}, "qname": {"googleapiclient._auth.with_scopes": {}}, "docstring": {}, "kind": {}, "_index": 284}], ["googleapiclient._helpers", {"name": {}, "names": {}, "qname": {"googleapiclient._helpers": {}}, "docstring": {}, "kind": {}, "_index": 13}], ["googleapiclient._helpers._add_query_parameter", {"name": {}, "names": {}, "qname": {"googleapiclient._helpers._add_query_parameter": {}}, "docstring": {}, "kind": {}, "_index": 409}], ["googleapiclient._helpers._is_dir_message", {"name": {}, "names": {}, "qname": {"googleapiclient._helpers._IS_DIR_MESSAGE": {}}, "docstring": {}, "kind": {}, "_index": 324}], ["googleapiclient._helpers._missing_file_message", {"name": {}, "names": {}, "qname": {"googleapiclient._helpers._MISSING_FILE_MESSAGE": {}}, "docstring": {}, "kind": {}, "_index": 327}], ["googleapiclient._helpers._sym_link_message", {"name": {}, "names": {}, "qname": {"googleapiclient._helpers._SYM_LINK_MESSAGE": {}}, "docstring": {}, "kind": {}, "_index": 321}], ["googleapiclient._helpers.logger", {"name": {}, "names": {}, "qname": {"googleapiclient._helpers.logger": {}}, "docstring": {}, "kind": {}, "_index": 303}], ["googleapiclient._helpers.parse_unique_urlencoded", {"name": {}, "names": {}, "qname": {"googleapiclient._helpers.parse_unique_urlencoded": {}}, "docstring": {}, "kind": {}, "_index": 390}], ["googleapiclient._helpers.positional", {"name": {}, "names": {}, "qname": {"googleapiclient._helpers.positional": {}}, "docstring": {}, "kind": {}, "_index": 328}], ["googleapiclient._helpers.positional_exception", {"name": {}, "names": {}, "qname": {"googleapiclient._helpers.POSITIONAL_EXCEPTION": {}}, "docstring": {}, "kind": {}, "_index": 311}], ["googleapiclient._helpers.positional_ignore", {"name": {}, "names": {}, "qname": {"googleapiclient._helpers.POSITIONAL_IGNORE": {}}, "docstring": {}, "kind": {}, "_index": 314}], ["googleapiclient._helpers.positional_set", {"name": {}, "names": {}, "qname": {"googleapiclient._helpers.POSITIONAL_SET": {}}, "docstring": {}, "kind": {}, "_index": 316}], ["googleapiclient._helpers.positional_warning", {"name": {}, "names": {}, "qname": {"googleapiclient._helpers.POSITIONAL_WARNING": {}}, "docstring": {}, "kind": {}, "_index": 307}], ["googleapiclient._helpers.update_query_params", {"name": {}, "names": {}, "qname": {"googleapiclient._helpers.update_query_params": {}}, "docstring": {}, "kind": {}, "_index": 397}], ["googleapiclient.channel", {"name": {}, "names": {}, "qname": {"googleapiclient.channel": {}}, "docstring": {}, "kind": {}, "_index": 18}], ["googleapiclient.channel._upper_header_keys", {"name": {}, "names": {}, "qname": {"googleapiclient.channel._upper_header_keys": {}}, "docstring": {}, "kind": {}, "_index": 515}], ["googleapiclient.channel.channel", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Channel": {}}, "docstring": {}, "kind": {}, "_index": 536}], ["googleapiclient.channel.channel.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Channel.__init__": {}}, "docstring": {}, "kind": {}, "_index": 566}], ["googleapiclient.channel.channel.address", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Channel.address": {}}, "docstring": {}, "kind": {}, "_index": 550}], ["googleapiclient.channel.channel.body", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Channel.body": {}}, "docstring": {}, "kind": {}, "_index": 572}], ["googleapiclient.channel.channel.expiration", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Channel.expiration": {}}, "docstring": {}, "kind": {}, "_index": 553}], ["googleapiclient.channel.channel.id", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Channel.id": {}}, "docstring": {}, "kind": {}, "_index": 542}], ["googleapiclient.channel.channel.params", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Channel.params": {}}, "docstring": {}, "kind": {}, "_index": 557}], ["googleapiclient.channel.channel.resource_id", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Channel.resource_id": {}}, "docstring": {}, "kind": {}, "_index": 560}], ["googleapiclient.channel.channel.resource_uri", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Channel.resource_uri": {}}, "docstring": {}, "kind": {}, "_index": 564}], ["googleapiclient.channel.channel.token", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Channel.token": {}}, "docstring": {}, "kind": {}, "_index": 544}], ["googleapiclient.channel.channel.type", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Channel.type": {}}, "docstring": {}, "kind": {}, "_index": 538}], ["googleapiclient.channel.channel.update", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Channel.update": {}}, "docstring": {}, "kind": {}, "_index": 575}], ["googleapiclient.channel.channel_params", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.CHANNEL_PARAMS": {}}, "docstring": {}, "kind": {}, "_index": 498}], ["googleapiclient.channel.epoch", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.EPOCH": {}}, "docstring": {}, "kind": {}, "_index": 496}], ["googleapiclient.channel.new_webhook_channel", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.new_webhook_channel": {}}, "docstring": {}, "kind": {}, "_index": 581}], ["googleapiclient.channel.notification", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Notification": {}}, "docstring": {}, "kind": {}, "_index": 516}], ["googleapiclient.channel.notification.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Notification.__init__": {}}, "docstring": {}, "kind": {}, "_index": 533}], ["googleapiclient.channel.notification.message_number", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Notification.message_number": {}}, "docstring": {}, "kind": {}, "_index": 522}], ["googleapiclient.channel.notification.resource_id", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Notification.resource_id": {}}, "docstring": {}, "kind": {}, "_index": 530}], ["googleapiclient.channel.notification.resource_uri", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Notification.resource_uri": {}}, "docstring": {}, "kind": {}, "_index": 535}], ["googleapiclient.channel.notification.state", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Notification.state": {}}, "docstring": {}, "kind": {}, "_index": 524}], ["googleapiclient.channel.notification.uri", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Notification.uri": {}}, "docstring": {}, "kind": {}, "_index": 528}], ["googleapiclient.channel.notification_from_headers", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.notification_from_headers": {}}, "docstring": {}, "kind": {}, "_index": 580}], ["googleapiclient.channel.x_goog_channel_id", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.X_GOOG_CHANNEL_ID": {}}, "docstring": {}, "kind": {}, "_index": 502}], ["googleapiclient.channel.x_goog_message_number", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.X_GOOG_MESSAGE_NUMBER": {}}, "docstring": {}, "kind": {}, "_index": 505}], ["googleapiclient.channel.x_goog_resource_id", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.X_GOOG_RESOURCE_ID": {}}, "docstring": {}, "kind": {}, "_index": 512}], ["googleapiclient.channel.x_goog_resource_state", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.X_GOOG_RESOURCE_STATE": {}}, "docstring": {}, "kind": {}, "_index": 508}], ["googleapiclient.channel.x_goog_resource_uri", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.X_GOOG_RESOURCE_URI": {}}, "docstring": {}, "kind": {}, "_index": 510}], ["googleapiclient.discovery", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery": {}}, "docstring": {}, "kind": {}, "_index": 108}], ["googleapiclient.discovery.__author__", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.__author__": {}}, "docstring": {}, "kind": {}, "_index": 582}], ["googleapiclient.discovery._bytesgenerator", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._BytesGenerator": {}}, "docstring": {}, "kind": {}, "_index": 1347}], ["googleapiclient.discovery._cast", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._cast": {}}, "docstring": {}, "kind": {}, "_index": 1380}], ["googleapiclient.discovery._check_api_core_compatible_with_credentials_universe", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._check_api_core_compatible_with_credentials_universe": {}}, "docstring": {}, "kind": {}, "_index": 1374}], ["googleapiclient.discovery._discovery_service_uri_options", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._discovery_service_uri_options": {}}, "docstring": {}, "kind": {}, "_index": 1364}], ["googleapiclient.discovery._findpagetokenname", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._findPageTokenName": {}}, "docstring": {}, "kind": {}, "_index": 1542}], ["googleapiclient.discovery._fix_up_media_path_base_url", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._fix_up_media_path_base_url": {}}, "docstring": {}, "kind": {}, "_index": 1415}], ["googleapiclient.discovery._fix_up_media_upload", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._fix_up_media_upload": {}}, "docstring": {}, "kind": {}, "_index": 1406}], ["googleapiclient.discovery._fix_up_method_description", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._fix_up_method_description": {}}, "docstring": {}, "kind": {}, "_index": 1411}], ["googleapiclient.discovery._fix_up_parameters", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._fix_up_parameters": {}}, "docstring": {}, "kind": {}, "_index": 1397}], ["googleapiclient.discovery._media_path_url_from_info", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._media_path_url_from_info": {}}, "docstring": {}, "kind": {}, "_index": 1392}], ["googleapiclient.discovery._media_size_bit_shifts", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS": {}}, "docstring": {}, "kind": {}, "_index": 1307}], ["googleapiclient.discovery._media_size_to_long", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._media_size_to_long": {}}, "docstring": {}, "kind": {}, "_index": 1386}], ["googleapiclient.discovery._methodproperties", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._methodProperties": {}}, "docstring": {}, "kind": {}, "_index": 1546}], ["googleapiclient.discovery._page_token_names", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._PAGE_TOKEN_NAMES": {}}, "docstring": {}, "kind": {}, "_index": 1316}], ["googleapiclient.discovery._retrieve_discovery_doc", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._retrieve_discovery_doc": {}}, "docstring": {}, "kind": {}, "_index": 1368}], ["googleapiclient.discovery._urljoin", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._urljoin": {}}, "docstring": {}, "kind": {}, "_index": 1422}], ["googleapiclient.discovery.apicoreversionerror", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.APICoreVersionError": {}}, "docstring": {}, "kind": {}, "_index": 1338}], ["googleapiclient.discovery.apicoreversionerror.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.APICoreVersionError.__init__": {}}, "docstring": {}, "kind": {}, "_index": 1339}], ["googleapiclient.discovery.body_parameter_default_value", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE": {}}, "docstring": {}, "kind": {}, "_index": 1309}], ["googleapiclient.discovery.build", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.build": {}}, "docstring": {}, "kind": {}, "_index": 1359}], ["googleapiclient.discovery.build(\"plus\",", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 1141}], ["googleapiclient.discovery.build_from_document", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.build_from_document": {}}, "docstring": {}, "kind": {}, "_index": 1376}], ["googleapiclient.discovery.createmethod", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.createMethod": {}}, "docstring": {}, "kind": {}, "_index": 1463}], ["googleapiclient.discovery.createnextmethod", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.createNextMethod": {}}, "docstring": {}, "kind": {}, "_index": 1466}], ["googleapiclient.discovery.default_method_doc", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.DEFAULT_METHOD_DOC": {}}, "docstring": {}, "kind": {}, "_index": 1299}], ["googleapiclient.discovery.default_universe", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.DEFAULT_UNIVERSE": {}}, "docstring": {}, "kind": {}, "_index": 1329}], ["googleapiclient.discovery.discovery_uri", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.DISCOVERY_URI": {}}, "docstring": {}, "kind": {}, "_index": 1294}], ["googleapiclient.discovery.fix_method_name", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.fix_method_name": {}}, "docstring": {}, "kind": {}, "_index": 1350}], ["googleapiclient.discovery.google_api_use_client_certificate", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.GOOGLE_API_USE_CLIENT_CERTIFICATE": {}}, "docstring": {}, "kind": {}, "_index": 1320}], ["googleapiclient.discovery.google_api_use_mtls_endpoint", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.GOOGLE_API_USE_MTLS_ENDPOINT": {}}, "docstring": {}, "kind": {}, "_index": 1323}], ["googleapiclient.discovery.google_cloud_universe_domain", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.GOOGLE_CLOUD_UNIVERSE_DOMAIN": {}}, "docstring": {}, "kind": {}, "_index": 1327}], ["googleapiclient.discovery.has_universe", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.HAS_UNIVERSE": {}}, "docstring": {}, "kind": {}, "_index": 585}], ["googleapiclient.discovery.http_payload_methods", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.HTTP_PAYLOAD_METHODS": {}}, "docstring": {}, "kind": {}, "_index": 1303}], ["googleapiclient.discovery.key2param", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.key2param": {}}, "docstring": {}, "kind": {}, "_index": 1356}], ["googleapiclient.discovery.logger", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.logger": {}}, "docstring": {}, "kind": {}, "_index": 1288}], ["googleapiclient.discovery.media_body_parameter_default_value", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE": {}}, "docstring": {}, "kind": {}, "_index": 1311}], ["googleapiclient.discovery.media_mime_type_parameter_default_value", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE": {}}, "docstring": {}, "kind": {}, "_index": 1313}], ["googleapiclient.discovery.reserved_words", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.RESERVED_WORDS": {}}, "docstring": {}, "kind": {}, "_index": 1343}], ["googleapiclient.discovery.resource", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource": {}}, "docstring": {}, "kind": {}, "_index": 1468}], ["googleapiclient.discovery.resource.__enter__", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource.__enter__": {}}, "docstring": {}, "kind": {}, "_index": 1520}], ["googleapiclient.discovery.resource.__exit__", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource.__exit__": {}}, "docstring": {}, "kind": {}, "_index": 1523}], ["googleapiclient.discovery.resource.__getstate__", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource.__getstate__": {}}, "docstring": {}, "kind": {}, "_index": 1505}], ["googleapiclient.discovery.resource.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource.__init__": {}}, "docstring": {}, "kind": {}, "_index": 1469}], ["googleapiclient.discovery.resource.__setstate__", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource.__setstate__": {}}, "docstring": {}, "kind": {}, "_index": 1516}], ["googleapiclient.discovery.resource._add_basic_methods", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._add_basic_methods": {}}, "docstring": {}, "kind": {}, "_index": 1528}], ["googleapiclient.discovery.resource._add_nested_resources", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._add_nested_resources": {}}, "docstring": {}, "kind": {}, "_index": 1532}], ["googleapiclient.discovery.resource._add_next_methods", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._add_next_methods": {}}, "docstring": {}, "kind": {}, "_index": 1534}], ["googleapiclient.discovery.resource._baseurl", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._baseUrl": {}}, "docstring": {}, "kind": {}, "_index": 1477}], ["googleapiclient.discovery.resource._credentials_validated", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._credentials_validated": {}}, "docstring": {}, "kind": {}, "_index": 1497}], ["googleapiclient.discovery.resource._developerkey", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._developerKey": {}}, "docstring": {}, "kind": {}, "_index": 1483}], ["googleapiclient.discovery.resource._dynamic_attrs", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._dynamic_attrs": {}}, "docstring": {}, "kind": {}, "_index": 1473}], ["googleapiclient.discovery.resource._http", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._http": {}}, "docstring": {}, "kind": {}, "_index": 1475}], ["googleapiclient.discovery.resource._model", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._model": {}}, "docstring": {}, "kind": {}, "_index": 1479}], ["googleapiclient.discovery.resource._requestbuilder", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._requestBuilder": {}}, "docstring": {}, "kind": {}, "_index": 1485}], ["googleapiclient.discovery.resource._resourcedesc", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._resourceDesc": {}}, "docstring": {}, "kind": {}, "_index": 1488}], ["googleapiclient.discovery.resource._rootdesc", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._rootDesc": {}}, "docstring": {}, "kind": {}, "_index": 1490}], ["googleapiclient.discovery.resource._schema", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._schema": {}}, "docstring": {}, "kind": {}, "_index": 1492}], ["googleapiclient.discovery.resource._set_dynamic_attr", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._set_dynamic_attr": {}}, "docstring": {}, "kind": {}, "_index": 1500}], ["googleapiclient.discovery.resource._set_service_methods", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._set_service_methods": {}}, "docstring": {}, "kind": {}, "_index": 1526}], ["googleapiclient.discovery.resource._universe_domain", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._universe_domain": {}}, "docstring": {}, "kind": {}, "_index": 1494}], ["googleapiclient.discovery.resource._validate_credentials", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._validate_credentials": {}}, "docstring": {}, "kind": {}, "_index": 1537}], ["googleapiclient.discovery.resource.close", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource.close": {}}, "docstring": {}, "kind": {}, "_index": 1524}], ["googleapiclient.discovery.resourcemethodparameters", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.ResourceMethodParameters": {}}, "docstring": {}, "kind": {}, "_index": 1425}], ["googleapiclient.discovery.resourcemethodparameters.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.ResourceMethodParameters.__init__": {}}, "docstring": {}, "kind": {}, "_index": 1453}], ["googleapiclient.discovery.resourcemethodparameters.argmap", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.ResourceMethodParameters.argmap": {}}, "docstring": {}, "kind": {}, "_index": 1428}], ["googleapiclient.discovery.resourcemethodparameters.enum_params", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.ResourceMethodParameters.enum_params": {}}, "docstring": {}, "kind": {}, "_index": 1452}], ["googleapiclient.discovery.resourcemethodparameters.param_types", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.ResourceMethodParameters.param_types": {}}, "docstring": {}, "kind": {}, "_index": 1445}], ["googleapiclient.discovery.resourcemethodparameters.path_params", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.ResourceMethodParameters.path_params": {}}, "docstring": {}, "kind": {}, "_index": 1442}], ["googleapiclient.discovery.resourcemethodparameters.pattern_params", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.ResourceMethodParameters.pattern_params": {}}, "docstring": {}, "kind": {}, "_index": 1436}], ["googleapiclient.discovery.resourcemethodparameters.query_params", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.ResourceMethodParameters.query_params": {}}, "docstring": {}, "kind": {}, "_index": 1440}], ["googleapiclient.discovery.resourcemethodparameters.repeated_params", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.ResourceMethodParameters.repeated_params": {}}, "docstring": {}, "kind": {}, "_index": 1434}], ["googleapiclient.discovery.resourcemethodparameters.required_params", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.ResourceMethodParameters.required_params": {}}, "docstring": {}, "kind": {}, "_index": 1431}], ["googleapiclient.discovery.resourcemethodparameters.set_parameters", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.ResourceMethodParameters.set_parameters": {}}, "docstring": {}, "kind": {}, "_index": 1458}], ["googleapiclient.discovery.stack_query_parameter_default_value", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE": {}}, "docstring": {}, "kind": {}, "_index": 1335}], ["googleapiclient.discovery.stack_query_parameters", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.STACK_QUERY_PARAMETERS": {}}, "docstring": {}, "kind": {}, "_index": 1333}], ["googleapiclient.discovery.uritemplate", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.URITEMPLATE": {}}, "docstring": {}, "kind": {}, "_index": 1290}], ["googleapiclient.discovery.v2_discovery_uri", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.V2_DISCOVERY_URI": {}}, "docstring": {}, "kind": {}, "_index": 1296}], ["googleapiclient.discovery.varname", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.VARNAME": {}}, "docstring": {}, "kind": {}, "_index": 1292}], ["googleapiclient.discovery_cache", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache": {}}, "docstring": {}, "kind": {}, "_index": 115}], ["googleapiclient.discovery_cache.appengine_memcache", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.appengine_memcache": {}}, "docstring": {}, "kind": {}, "_index": 121}], ["googleapiclient.discovery_cache.appengine_memcache.cache", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.appengine_memcache.Cache": {}, "googleapiclient.discovery_cache.appengine_memcache.cache": {}}, "docstring": {}, "kind": {}, "_index": 1565}], ["googleapiclient.discovery_cache.appengine_memcache.cache.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.appengine_memcache.Cache.__init__": {}}, "docstring": {}, "kind": {}, "_index": 1566}], ["googleapiclient.discovery_cache.appengine_memcache.cache._max_age", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.appengine_memcache.Cache._max_age": {}}, "docstring": {}, "kind": {}, "_index": 1568}], ["googleapiclient.discovery_cache.appengine_memcache.cache.get", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.appengine_memcache.Cache.get": {}}, "docstring": {}, "kind": {}, "_index": 1569}], ["googleapiclient.discovery_cache.appengine_memcache.cache.set", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.appengine_memcache.Cache.set": {}}, "docstring": {}, "kind": {}, "_index": 1570}], ["googleapiclient.discovery_cache.appengine_memcache.logger", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.appengine_memcache.LOGGER": {}}, "docstring": {}, "kind": {}, "_index": 1562}], ["googleapiclient.discovery_cache.appengine_memcache.namespace", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.appengine_memcache.NAMESPACE": {}}, "docstring": {}, "kind": {}, "_index": 1564}], ["googleapiclient.discovery_cache.autodetect", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.autodetect": {}}, "docstring": {}, "kind": {}, "_index": 1554}], ["googleapiclient.discovery_cache.base", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.base": {}}, "docstring": {}, "kind": {}, "_index": 124}], ["googleapiclient.discovery_cache.base.cache", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.base.Cache": {}}, "docstring": {}, "kind": {}, "_index": 1559}], ["googleapiclient.discovery_cache.base.cache.get", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.base.Cache.get": {}}, "docstring": {}, "kind": {}, "_index": 1560}], ["googleapiclient.discovery_cache.base.cache.set", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.base.Cache.set": {}}, "docstring": {}, "kind": {}, "_index": 1561}], ["googleapiclient.discovery_cache.discovery_doc_dir", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.DISCOVERY_DOC_DIR": {}}, "docstring": {}, "kind": {}, "_index": 1552}], ["googleapiclient.discovery_cache.discovery_doc_max_age", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.DISCOVERY_DOC_MAX_AGE": {}}, "docstring": {}, "kind": {}, "_index": 1550}], ["googleapiclient.discovery_cache.file_cache", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.file_cache": {}}, "docstring": {}, "kind": {}, "_index": 128}], ["googleapiclient.discovery_cache.file_cache._read_or_initialize_cache", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.file_cache._read_or_initialize_cache": {}}, "docstring": {}, "kind": {}, "_index": 1579}], ["googleapiclient.discovery_cache.file_cache._to_timestamp", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.file_cache._to_timestamp": {}}, "docstring": {}, "kind": {}, "_index": 1576}], ["googleapiclient.discovery_cache.file_cache.cache", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.file_cache.Cache": {}, "googleapiclient.discovery_cache.file_cache.cache": {}}, "docstring": {}, "kind": {}, "_index": 1580}], ["googleapiclient.discovery_cache.file_cache.cache.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.file_cache.Cache.__init__": {}}, "docstring": {}, "kind": {}, "_index": 1581}], ["googleapiclient.discovery_cache.file_cache.cache._file", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.file_cache.Cache._file": {}}, "docstring": {}, "kind": {}, "_index": 1584}], ["googleapiclient.discovery_cache.file_cache.cache._max_age", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.file_cache.Cache._max_age": {}}, "docstring": {}, "kind": {}, "_index": 1582}], ["googleapiclient.discovery_cache.file_cache.cache.get", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.file_cache.Cache.get": {}}, "docstring": {}, "kind": {}, "_index": 1585}], ["googleapiclient.discovery_cache.file_cache.cache.set", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.file_cache.Cache.set": {}}, "docstring": {}, "kind": {}, "_index": 1586}], ["googleapiclient.discovery_cache.file_cache.epoch", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.file_cache.EPOCH": {}}, "docstring": {}, "kind": {}, "_index": 1573}], ["googleapiclient.discovery_cache.file_cache.filename", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.file_cache.FILENAME": {}}, "docstring": {}, "kind": {}, "_index": 1572}], ["googleapiclient.discovery_cache.file_cache.logger", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.file_cache.LOGGER": {}}, "docstring": {}, "kind": {}, "_index": 1571}], ["googleapiclient.discovery_cache.get_static_doc", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.get_static_doc": {}}, "docstring": {}, "kind": {}, "_index": 1557}], ["googleapiclient.discovery_cache.logger", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.LOGGER": {}}, "docstring": {}, "kind": {}, "_index": 1547}], ["googleapiclient.errors", {"name": {}, "names": {}, "qname": {"googleapiclient.errors": {}}, "docstring": {}, "kind": {}, "_index": 142}], ["googleapiclient.errors.__author__", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.__author__": {}}, "docstring": {}, "kind": {}, "_index": 414}], ["googleapiclient.errors.batcherror", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.BatchError": {}}, "docstring": {}, "kind": {}, "_index": 479}], ["googleapiclient.errors.batcherror.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.BatchError.__init__": {}}, "docstring": {}, "kind": {}, "_index": 480}], ["googleapiclient.errors.batcherror.__repr__", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.BatchError.__repr__": {}}, "docstring": {}, "kind": {}, "_index": 484}], ["googleapiclient.errors.batcherror.content", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.BatchError.content": {}}, "docstring": {}, "kind": {}, "_index": 482}], ["googleapiclient.errors.batcherror.reason", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.BatchError.reason": {}}, "docstring": {}, "kind": {}, "_index": 483}], ["googleapiclient.errors.batcherror.resp", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.BatchError.resp": {}}, "docstring": {}, "kind": {}, "_index": 481}], ["googleapiclient.errors.error", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.Error": {}}, "docstring": {}, "kind": {}, "_index": 415}], ["googleapiclient.errors.httperror", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.HttpError": {}}, "docstring": {}, "kind": {}, "_index": 417}], ["googleapiclient.errors.httperror.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.HttpError.__init__": {}}, "docstring": {}, "kind": {}, "_index": 422}], ["googleapiclient.errors.httperror.__repr__", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.HttpError.__repr__": {}}, "docstring": {}, "kind": {}, "_index": 442}], ["googleapiclient.errors.httperror._get_reason", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.HttpError._get_reason": {}}, "docstring": {}, "kind": {}, "_index": 438}], ["googleapiclient.errors.httperror.content", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.HttpError.content": {}}, "docstring": {}, "kind": {}, "_index": 425}], ["googleapiclient.errors.httperror.error_details", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.HttpError.error_details": {}}, "docstring": {}, "kind": {}, "_index": 429}], ["googleapiclient.errors.httperror.reason", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.HttpError.reason": {}}, "docstring": {}, "kind": {}, "_index": 431}], ["googleapiclient.errors.httperror.resp", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.HttpError.resp": {}}, "docstring": {}, "kind": {}, "_index": 423}], ["googleapiclient.errors.httperror.status_code", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.HttpError.status_code": {}}, "docstring": {}, "kind": {}, "_index": 434}], ["googleapiclient.errors.httperror.uri", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.HttpError.uri": {}}, "docstring": {}, "kind": {}, "_index": 426}], ["googleapiclient.errors.invalidchunksizeerror", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.InvalidChunkSizeError": {}}, "docstring": {}, "kind": {}, "_index": 472}], ["googleapiclient.errors.invalidjsonerror", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.InvalidJsonError": {}}, "docstring": {}, "kind": {}, "_index": 444}], ["googleapiclient.errors.invalidnotificationerror", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.InvalidNotificationError": {}}, "docstring": {}, "kind": {}, "_index": 476}], ["googleapiclient.errors.mediauploadsizeerror", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.MediaUploadSizeError": {}}, "docstring": {}, "kind": {}, "_index": 462}], ["googleapiclient.errors.resumableuploaderror", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.ResumableUploadError": {}}, "docstring": {}, "kind": {}, "_index": 467}], ["googleapiclient.errors.unacceptablemimetypeerror", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.UnacceptableMimeTypeError": {}}, "docstring": {}, "kind": {}, "_index": 455}], ["googleapiclient.errors.unexpectedbodyerror", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.UnexpectedBodyError": {}}, "docstring": {}, "kind": {}, "_index": 492}], ["googleapiclient.errors.unexpectedbodyerror.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.UnexpectedBodyError.__init__": {}}, "docstring": {}, "kind": {}, "_index": 494}], ["googleapiclient.errors.unexpectedmethoderror", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.UnexpectedMethodError": {}}, "docstring": {}, "kind": {}, "_index": 487}], ["googleapiclient.errors.unexpectedmethoderror.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.UnexpectedMethodError.__init__": {}}, "docstring": {}, "kind": {}, "_index": 489}], ["googleapiclient.errors.unknownapinameorversion", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.UnknownApiNameOrVersion": {}}, "docstring": {}, "kind": {}, "_index": 452}], ["googleapiclient.errors.unknownfiletype", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.UnknownFileType": {}}, "docstring": {}, "kind": {}, "_index": 447}], ["googleapiclient.errors.unknownlinktype", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.UnknownLinkType": {}}, "docstring": {}, "kind": {}, "_index": 449}], ["googleapiclient.http", {"name": {}, "names": {}, "qname": {"googleapiclient.http": {}}, "docstring": {"googleapiclient.http.BatchHttpRequest": {}}, "kind": {}, "_index": 147}], ["googleapiclient.http.__author__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.__author__": {}}, "docstring": {}, "kind": {}, "_index": 656}], ["googleapiclient.http._legacy_batch_uri", {"name": {}, "names": {}, "qname": {"googleapiclient.http._LEGACY_BATCH_URI": {}}, "docstring": {}, "kind": {}, "_index": 788}], ["googleapiclient.http._retry_request", {"name": {}, "names": {}, "qname": {"googleapiclient.http._retry_request": {}}, "docstring": {}, "kind": {}, "_index": 796}], ["googleapiclient.http._should_retry_response", {"name": {}, "names": {}, "qname": {"googleapiclient.http._should_retry_response": {}}, "docstring": {}, "kind": {}, "_index": 792}], ["googleapiclient.http._streamslice", {"name": {}, "names": {}, "qname": {"googleapiclient.http._StreamSlice": {}}, "docstring": {}, "kind": {}, "_index": 983}], ["googleapiclient.http._streamslice.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.http._StreamSlice.__init__": {}}, "docstring": {}, "kind": {}, "_index": 992}], ["googleapiclient.http._streamslice._begin", {"name": {}, "names": {}, "qname": {"googleapiclient.http._StreamSlice._begin": {}}, "docstring": {}, "kind": {}, "_index": 997}], ["googleapiclient.http._streamslice._chunksize", {"name": {}, "names": {}, "qname": {"googleapiclient.http._StreamSlice._chunksize": {}}, "docstring": {}, "kind": {}, "_index": 998}], ["googleapiclient.http._streamslice._stream", {"name": {}, "names": {}, "qname": {"googleapiclient.http._StreamSlice._stream": {}}, "docstring": {}, "kind": {}, "_index": 994}], ["googleapiclient.http._streamslice.read", {"name": {}, "names": {}, "qname": {"googleapiclient.http._StreamSlice.read": {}}, "docstring": {}, "kind": {}, "_index": 999}], ["googleapiclient.http._too_many_requests", {"name": {}, "names": {}, "qname": {"googleapiclient.http._TOO_MANY_REQUESTS": {}}, "docstring": {}, "kind": {}, "_index": 781}], ["googleapiclient.http.batchhttprequest", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest": {}}, "docstring": {}, "kind": {}, "_index": 1048}], ["googleapiclient.http.batchhttprequest.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest.__init__": {}}, "docstring": {}, "kind": {}, "_index": 1061}], ["googleapiclient.http.batchhttprequest._base_id", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._base_id": {}}, "docstring": {}, "kind": {}, "_index": 1076}], ["googleapiclient.http.batchhttprequest._batch_uri", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._batch_uri": {}}, "docstring": {}, "kind": {}, "_index": 1063}], ["googleapiclient.http.batchhttprequest._callback", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._callback": {}}, "docstring": {}, "kind": {}, "_index": 1065}], ["googleapiclient.http.batchhttprequest._callbacks", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._callbacks": {}}, "docstring": {}, "kind": {}, "_index": 1069}], ["googleapiclient.http.batchhttprequest._deserialize_response", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._deserialize_response": {}}, "docstring": {}, "kind": {}, "_index": 1095}], ["googleapiclient.http.batchhttprequest._execute", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._execute": {}}, "docstring": {}, "kind": {}, "_index": 1112}], ["googleapiclient.http.batchhttprequest._header_to_id", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._header_to_id": {}}, "docstring": {}, "kind": {}, "_index": 1089}], ["googleapiclient.http.batchhttprequest._id_to_header", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._id_to_header": {}}, "docstring": {}, "kind": {}, "_index": 1087}], ["googleapiclient.http.batchhttprequest._last_auto_id", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._last_auto_id": {}}, "docstring": {}, "kind": {}, "_index": 1074}], ["googleapiclient.http.batchhttprequest._new_id", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._new_id": {}}, "docstring": {}, "kind": {}, "_index": 1098}], ["googleapiclient.http.batchhttprequest._order", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._order": {}}, "docstring": {}, "kind": {}, "_index": 1071}], ["googleapiclient.http.batchhttprequest._refresh_and_apply_credentials", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials": {}}, "docstring": {}, "kind": {}, "_index": 1084}], ["googleapiclient.http.batchhttprequest._refreshed_credentials", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._refreshed_credentials": {}}, "docstring": {}, "kind": {}, "_index": 1082}], ["googleapiclient.http.batchhttprequest._requests", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._requests": {}}, "docstring": {}, "kind": {}, "_index": 1067}], ["googleapiclient.http.batchhttprequest._responses", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._responses": {}}, "docstring": {}, "kind": {}, "_index": 1079}], ["googleapiclient.http.batchhttprequest._serialize_request", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._serialize_request": {}}, "docstring": {}, "kind": {}, "_index": 1093}], ["googleapiclient.http.batchhttprequest.add", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest.add": {}}, "docstring": {}, "kind": {}, "_index": 1101}], ["googleapiclient.http.batchhttprequest.execute", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest.execute": {}}, "docstring": {}, "kind": {}, "_index": 1113}], ["googleapiclient.http.build_http", {"name": {}, "names": {}, "qname": {"googleapiclient.http.build_http": {}}, "docstring": {}, "kind": {}, "_index": 1232}], ["googleapiclient.http.default_chunk_size", {"name": {}, "names": {}, "qname": {"googleapiclient.http.DEFAULT_CHUNK_SIZE": {}}, "docstring": {}, "kind": {}, "_index": 769}], ["googleapiclient.http.default_http_timeout_sec", {"name": {}, "names": {}, "qname": {"googleapiclient.http.DEFAULT_HTTP_TIMEOUT_SEC": {}}, "docstring": {}, "kind": {}, "_index": 785}], ["googleapiclient.http.httpmock", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMock": {}}, "docstring": {}, "kind": {}, "_index": 1167}], ["googleapiclient.http.httpmock.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMock.__init__": {}}, "docstring": {}, "kind": {}, "_index": 1169}], ["googleapiclient.http.httpmock.body", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMock.body": {}}, "docstring": {}, "kind": {}, "_index": 1176}], ["googleapiclient.http.httpmock.close", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMock.close": {}}, "docstring": {}, "kind": {}, "_index": 1179}], ["googleapiclient.http.httpmock.data", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMock.data": {}}, "docstring": {}, "kind": {}, "_index": 1170}], ["googleapiclient.http.httpmock.headers", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMock.headers": {}}, "docstring": {}, "kind": {}, "_index": 1173}], ["googleapiclient.http.httpmock.method", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMock.method": {}}, "docstring": {}, "kind": {}, "_index": 1175}], ["googleapiclient.http.httpmock.request", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMock.request": {}}, "docstring": {}, "kind": {}, "_index": 1177}], ["googleapiclient.http.httpmock.response_headers", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMock.response_headers": {}}, "docstring": {}, "kind": {}, "_index": 1172}], ["googleapiclient.http.httpmock.uri", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMock.uri": {}}, "docstring": {}, "kind": {}, "_index": 1174}], ["googleapiclient.http.httpmocksequence", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMockSequence": {}}, "docstring": {}, "kind": {}, "_index": 1182}], ["googleapiclient.http.httpmocksequence.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMockSequence.__init__": {}}, "docstring": {}, "kind": {}, "_index": 1200}], ["googleapiclient.http.httpmocksequence._iterable", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMockSequence._iterable": {}}, "docstring": {}, "kind": {}, "_index": 1203}], ["googleapiclient.http.httpmocksequence.follow_redirects", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMockSequence.follow_redirects": {}}, "docstring": {}, "kind": {}, "_index": 1206}], ["googleapiclient.http.httpmocksequence.request", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMockSequence.request": {}}, "docstring": {}, "kind": {}, "_index": 1209}], ["googleapiclient.http.httpmocksequence.request_sequence", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMockSequence.request_sequence": {}}, "docstring": {}, "kind": {}, "_index": 1208}], ["googleapiclient.http.httprequest", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest": {}}, "docstring": {}, "kind": {}, "_index": 1001}], ["googleapiclient.http.httprequest.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.__init__": {}}, "docstring": {}, "kind": {}, "_index": 1002}], ["googleapiclient.http.httprequest._in_error_state", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest._in_error_state": {}}, "docstring": {}, "kind": {}, "_index": 1017}], ["googleapiclient.http.httprequest._process_response", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest._process_response": {}}, "docstring": {}, "kind": {}, "_index": 1039}], ["googleapiclient.http.httprequest._rand", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest._rand": {}}, "docstring": {}, "kind": {}, "_index": 1023}], ["googleapiclient.http.httprequest._sleep", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest._sleep": {}}, "docstring": {}, "kind": {}, "_index": 1024}], ["googleapiclient.http.httprequest.add_response_callback", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.add_response_callback": {}}, "docstring": {}, "kind": {}, "_index": 1029}], ["googleapiclient.http.httprequest.body", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.body": {}}, "docstring": {}, "kind": {}, "_index": 1005}], ["googleapiclient.http.httprequest.body_size", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.body_size": {}}, "docstring": {}, "kind": {}, "_index": 1019}], ["googleapiclient.http.httprequest.execute", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.execute": {}}, "docstring": {}, "kind": {}, "_index": 1026}], ["googleapiclient.http.httprequest.from_json", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.from_json": {}}, "docstring": {}, "kind": {}, "_index": 1041}], ["googleapiclient.http.httprequest.headers", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.headers": {}}, "docstring": {}, "kind": {}, "_index": 1006}], ["googleapiclient.http.httprequest.http", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.http": {}}, "docstring": {}, "kind": {}, "_index": 1009}], ["googleapiclient.http.httprequest.method", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.method": {}}, "docstring": {}, "kind": {}, "_index": 1004}], ["googleapiclient.http.httprequest.methodid", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.methodId": {}}, "docstring": {}, "kind": {}, "_index": 1008}], ["googleapiclient.http.httprequest.next_chunk", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.next_chunk": {}}, "docstring": {}, "kind": {}, "_index": 1031}], ["googleapiclient.http.httprequest.null_postproc", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.null_postproc": {}}, "docstring": {}, "kind": {}, "_index": 1046}], ["googleapiclient.http.httprequest.postproc", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.postproc": {}}, "docstring": {}, "kind": {}, "_index": 1011}], ["googleapiclient.http.httprequest.response_callbacks", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.response_callbacks": {}}, "docstring": {}, "kind": {}, "_index": 1015}], ["googleapiclient.http.httprequest.resumable", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.resumable": {}}, "docstring": {}, "kind": {}, "_index": 1012}], ["googleapiclient.http.httprequest.resumable_progress", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.resumable_progress": {}}, "docstring": {}, "kind": {}, "_index": 1022}], ["googleapiclient.http.httprequest.resumable_uri", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.resumable_uri": {}}, "docstring": {}, "kind": {}, "_index": 1021}], ["googleapiclient.http.httprequest.to_json", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.to_json": {}}, "docstring": {}, "kind": {}, "_index": 1040}], ["googleapiclient.http.httprequest.uri", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.uri": {}}, "docstring": {}, "kind": {}, "_index": 1003}], ["googleapiclient.http.httprequestmock", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequestMock": {}}, "docstring": {}, "kind": {}, "_index": 1116}], ["googleapiclient.http.httprequestmock.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequestMock.__init__": {}}, "docstring": {}, "kind": {}, "_index": 1117}], ["googleapiclient.http.httprequestmock.content", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequestMock.content": {}}, "docstring": {}, "kind": {}, "_index": 1119}], ["googleapiclient.http.httprequestmock.execute", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequestMock.execute": {}}, "docstring": {}, "kind": {}, "_index": 1121}], ["googleapiclient.http.httprequestmock.postproc", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequestMock.postproc": {}}, "docstring": {}, "kind": {}, "_index": 1120}], ["googleapiclient.http.httprequestmock.resp", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequestMock.resp": {}}, "docstring": {}, "kind": {}, "_index": 1118}], ["googleapiclient.http.logger", {"name": {}, "names": {}, "qname": {"googleapiclient.http.LOGGER": {}}, "docstring": {}, "kind": {}, "_index": 767}], ["googleapiclient.http.max_batch_limit", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MAX_BATCH_LIMIT": {}}, "docstring": {}, "kind": {}, "_index": 776}], ["googleapiclient.http.max_uri_length", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MAX_URI_LENGTH": {}}, "docstring": {}, "kind": {}, "_index": 773}], ["googleapiclient.http.mediadownloadprogress", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaDownloadProgress": {}}, "docstring": {}, "kind": {}, "_index": 817}], ["googleapiclient.http.mediadownloadprogress.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaDownloadProgress.__init__": {}}, "docstring": {}, "kind": {}, "_index": 818}], ["googleapiclient.http.mediadownloadprogress.progress", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaDownloadProgress.progress": {}}, "docstring": {}, "kind": {}, "_index": 821}], ["googleapiclient.http.mediadownloadprogress.resumable_progress", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaDownloadProgress.resumable_progress": {}}, "docstring": {}, "kind": {}, "_index": 819}], ["googleapiclient.http.mediadownloadprogress.total_size", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaDownloadProgress.total_size": {}}, "docstring": {}, "kind": {}, "_index": 820}], ["googleapiclient.http.mediafileupload", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaFileUpload": {}}, "docstring": {}, "kind": {}, "_index": 919}], ["googleapiclient.http.mediafileupload.__del__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaFileUpload.__del__": {}}, "docstring": {}, "kind": {}, "_index": 931}], ["googleapiclient.http.mediafileupload.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaFileUpload.__init__": {}}, "docstring": {}, "kind": {}, "_index": 924}], ["googleapiclient.http.mediafileupload._fd", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaFileUpload._fd": {}}, "docstring": {}, "kind": {}, "_index": 925}], ["googleapiclient.http.mediafileupload._filename", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaFileUpload._filename": {}}, "docstring": {}, "kind": {}, "_index": 928}], ["googleapiclient.http.mediafileupload.from_json", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaFileUpload.from_json": {}}, "docstring": {}, "kind": {}, "_index": 934}], ["googleapiclient.http.mediafileupload.to_json", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaFileUpload.to_json": {}}, "docstring": {}, "kind": {}, "_index": 932}], ["googleapiclient.http.mediainmemoryupload", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaInMemoryUpload": {}}, "docstring": {}, "kind": {}, "_index": 939}], ["googleapiclient.http.mediainmemoryupload.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaInMemoryUpload.__init__": {}}, "docstring": {}, "kind": {}, "_index": 943}], ["googleapiclient.http.mediaiobasedownload", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseDownload": {}}, "docstring": {}, "kind": {}, "_index": 945}], ["googleapiclient.http.mediaiobasedownload.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseDownload.__init__": {}}, "docstring": {}, "kind": {}, "_index": 958}], ["googleapiclient.http.mediaiobasedownload._chunksize", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseDownload._chunksize": {}}, "docstring": {}, "kind": {}, "_index": 964}], ["googleapiclient.http.mediaiobasedownload._done", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseDownload._done": {}}, "docstring": {}, "kind": {}, "_index": 970}], ["googleapiclient.http.mediaiobasedownload._fd", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseDownload._fd": {}}, "docstring": {}, "kind": {}, "_index": 959}], ["googleapiclient.http.mediaiobasedownload._headers", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseDownload._headers": {}}, "docstring": {}, "kind": {}, "_index": 978}], ["googleapiclient.http.mediaiobasedownload._progress", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseDownload._progress": {}}, "docstring": {}, "kind": {}, "_index": 966}], ["googleapiclient.http.mediaiobasedownload._rand", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseDownload._rand": {}}, "docstring": {}, "kind": {}, "_index": 976}], ["googleapiclient.http.mediaiobasedownload._request", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseDownload._request": {}}, "docstring": {}, "kind": {}, "_index": 961}], ["googleapiclient.http.mediaiobasedownload._sleep", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseDownload._sleep": {}}, "docstring": {}, "kind": {}, "_index": 973}], ["googleapiclient.http.mediaiobasedownload._total_size", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseDownload._total_size": {}}, "docstring": {}, "kind": {}, "_index": 968}], ["googleapiclient.http.mediaiobasedownload._uri", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseDownload._uri": {}}, "docstring": {}, "kind": {}, "_index": 963}], ["googleapiclient.http.mediaiobasedownload.next_chunk", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseDownload.next_chunk": {}}, "docstring": {}, "kind": {}, "_index": 980}], ["googleapiclient.http.mediaiobaseupload", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload": {}}, "docstring": {}, "kind": {}, "_index": 879}], ["googleapiclient.http.mediaiobaseupload.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload.__init__": {}}, "docstring": {}, "kind": {}, "_index": 897}], ["googleapiclient.http.mediaiobaseupload._chunksize", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload._chunksize": {}}, "docstring": {}, "kind": {}, "_index": 904}], ["googleapiclient.http.mediaiobaseupload._fd", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload._fd": {}}, "docstring": {}, "kind": {}, "_index": 900}], ["googleapiclient.http.mediaiobaseupload._mimetype", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload._mimetype": {}}, "docstring": {}, "kind": {}, "_index": 902}], ["googleapiclient.http.mediaiobaseupload._resumable", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload._resumable": {}}, "docstring": {}, "kind": {}, "_index": 906}], ["googleapiclient.http.mediaiobaseupload._size", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload._size": {}}, "docstring": {}, "kind": {}, "_index": 908}], ["googleapiclient.http.mediaiobaseupload.chunksize", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload.chunksize": {}}, "docstring": {}, "kind": {}, "_index": 909}], ["googleapiclient.http.mediaiobaseupload.getbytes", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload.getbytes": {}}, "docstring": {}, "kind": {}, "_index": 913}], ["googleapiclient.http.mediaiobaseupload.has_stream", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload.has_stream": {}}, "docstring": {}, "kind": {}, "_index": 914}], ["googleapiclient.http.mediaiobaseupload.mimetype", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload.mimetype": {}}, "docstring": {}, "kind": {}, "_index": 910}], ["googleapiclient.http.mediaiobaseupload.resumable", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload.resumable": {}}, "docstring": {}, "kind": {}, "_index": 912}], ["googleapiclient.http.mediaiobaseupload.size", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload.size": {}}, "docstring": {}, "kind": {}, "_index": 911}], ["googleapiclient.http.mediaiobaseupload.stream", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload.stream": {}}, "docstring": {}, "kind": {}, "_index": 915}], ["googleapiclient.http.mediaiobaseupload.to_json", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload.to_json": {}}, "docstring": {}, "kind": {}, "_index": 916}], ["googleapiclient.http.mediaupload", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUpload": {}}, "docstring": {}, "kind": {}, "_index": 823}], ["googleapiclient.http.mediaupload._to_json", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUpload._to_json": {}}, "docstring": {}, "kind": {}, "_index": 871}], ["googleapiclient.http.mediaupload.chunksize", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUpload.chunksize": {}}, "docstring": {}, "kind": {}, "_index": 856}], ["googleapiclient.http.mediaupload.getbytes", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUpload.getbytes": {}}, "docstring": {}, "kind": {}, "_index": 862}], ["googleapiclient.http.mediaupload.has_stream", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUpload.has_stream": {}}, "docstring": {}, "kind": {}, "_index": 863}], ["googleapiclient.http.mediaupload.mimetype", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUpload.mimetype": {}}, "docstring": {}, "kind": {}, "_index": 858}], ["googleapiclient.http.mediaupload.new_from_json", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUpload.new_from_json": {}}, "docstring": {}, "kind": {}, "_index": 875}], ["googleapiclient.http.mediaupload.resumable", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUpload.resumable": {}}, "docstring": {}, "kind": {}, "_index": 860}], ["googleapiclient.http.mediaupload.size", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUpload.size": {}}, "docstring": {}, "kind": {}, "_index": 859}], ["googleapiclient.http.mediaupload.stream", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUpload.stream": {}}, "docstring": {}, "kind": {}, "_index": 868}], ["googleapiclient.http.mediaupload.to_json", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUpload.to_json": {}}, "docstring": {}, "kind": {}, "_index": 873}], ["googleapiclient.http.mediauploadprogress", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUploadProgress": {}}, "docstring": {}, "kind": {}, "_index": 805}], ["googleapiclient.http.mediauploadprogress.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUploadProgress.__init__": {}}, "docstring": {}, "kind": {}, "_index": 806}], ["googleapiclient.http.mediauploadprogress.progress", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUploadProgress.progress": {}}, "docstring": {}, "kind": {}, "_index": 812}], ["googleapiclient.http.mediauploadprogress.resumable_progress", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUploadProgress.resumable_progress": {}}, "docstring": {}, "kind": {}, "_index": 808}], ["googleapiclient.http.mediauploadprogress.total_size", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUploadProgress.total_size": {}}, "docstring": {}, "kind": {}, "_index": 811}], ["googleapiclient.http.requestmockbuilder", {"name": {}, "names": {}, "qname": {"googleapiclient.http.RequestMockBuilder": {}}, "docstring": {}, "kind": {}, "_index": 1127}], ["googleapiclient.http.requestmockbuilder.__call__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.RequestMockBuilder.__call__": {}}, "docstring": {}, "kind": {}, "_index": 1162}], ["googleapiclient.http.requestmockbuilder.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.RequestMockBuilder.__init__": {}}, "docstring": {}, "kind": {}, "_index": 1151}], ["googleapiclient.http.requestmockbuilder.check_unexpected", {"name": {}, "names": {}, "qname": {"googleapiclient.http.RequestMockBuilder.check_unexpected": {}}, "docstring": {}, "kind": {}, "_index": 1160}], ["googleapiclient.http.requestmockbuilder.responses", {"name": {}, "names": {}, "qname": {"googleapiclient.http.RequestMockBuilder.responses": {}}, "docstring": {}, "kind": {}, "_index": 1157}], ["googleapiclient.http.set_user_agent", {"name": {}, "names": {}, "qname": {"googleapiclient.http.set_user_agent": {}}, "docstring": {}, "kind": {}, "_index": 1212}], ["googleapiclient.http.tunnel_patch", {"name": {}, "names": {}, "qname": {"googleapiclient.http.tunnel_patch": {}}, "docstring": {}, "kind": {}, "_index": 1223}], ["googleapiclient.mimeparse", {"name": {}, "names": {}, "qname": {"googleapiclient.mimeparse": {}}, "docstring": {}, "kind": {}, "_index": 156}], ["googleapiclient.mimeparse.__author__", {"name": {}, "names": {}, "qname": {"googleapiclient.mimeparse.__author__": {}}, "docstring": {}, "kind": {}, "_index": 588}], ["googleapiclient.mimeparse.__credits__", {"name": {}, "names": {}, "qname": {"googleapiclient.mimeparse.__credits__": {}}, "docstring": {}, "kind": {}, "_index": 597}], ["googleapiclient.mimeparse.__email__", {"name": {}, "names": {}, "qname": {"googleapiclient.mimeparse.__email__": {}}, "docstring": {}, "kind": {}, "_index": 591}], ["googleapiclient.mimeparse.__license__", {"name": {}, "names": {}, "qname": {"googleapiclient.mimeparse.__license__": {}}, "docstring": {}, "kind": {}, "_index": 594}], ["googleapiclient.mimeparse.__version__", {"name": {}, "names": {}, "qname": {"googleapiclient.mimeparse.__version__": {}}, "docstring": {}, "kind": {}, "_index": 587}], ["googleapiclient.mimeparse._filter_blank", {"name": {}, "names": {}, "qname": {"googleapiclient.mimeparse._filter_blank": {}}, "docstring": {}, "kind": {}, "_index": 655}], ["googleapiclient.mimeparse.best_match", {"name": {}, "names": {}, "qname": {"googleapiclient.mimeparse.best_match": {}}, "docstring": {}, "kind": {}, "_index": 640}], ["googleapiclient.mimeparse.fitness_and_quality_parsed", {"name": {}, "names": {}, "qname": {"googleapiclient.mimeparse.fitness_and_quality_parsed": {}}, "docstring": {}, "kind": {}, "_index": 618}], ["googleapiclient.mimeparse.parse_media_range", {"name": {}, "names": {}, "qname": {"googleapiclient.mimeparse.parse_media_range": {}}, "docstring": {}, "kind": {}, "_index": 608}], ["googleapiclient.mimeparse.parse_mime_type", {"name": {}, "names": {}, "qname": {"googleapiclient.mimeparse.parse_mime_type": {}}, "docstring": {}, "kind": {}, "_index": 599}], ["googleapiclient.mimeparse.quality", {"name": {}, "names": {}, "qname": {"googleapiclient.mimeparse.quality": {}}, "docstring": {}, "kind": {}, "_index": 632}], ["googleapiclient.mimeparse.quality_parsed", {"name": {}, "names": {}, "qname": {"googleapiclient.mimeparse.quality_parsed": {}}, "docstring": {}, "kind": {}, "_index": 630}], ["googleapiclient.model", {"name": {}, "names": {}, "qname": {"googleapiclient.model": {}}, "docstring": {}, "kind": {}, "_index": 196}], ["googleapiclient.model.__author__", {"name": {}, "names": {}, "qname": {"googleapiclient.model.__author__": {}}, "docstring": {}, "kind": {}, "_index": 657}], ["googleapiclient.model._abstract", {"name": {}, "names": {}, "qname": {"googleapiclient.model._abstract": {}}, "docstring": {}, "kind": {}, "_index": 668}], ["googleapiclient.model._py_version", {"name": {}, "names": {}, "qname": {"googleapiclient.model._PY_VERSION": {}}, "docstring": {}, "kind": {}, "_index": 661}], ["googleapiclient.model.basemodel", {"name": {}, "names": {}, "qname": {"googleapiclient.model.BaseModel": {}}, "docstring": {}, "kind": {}, "_index": 676}], ["googleapiclient.model.basemodel._build_query", {"name": {}, "names": {}, "qname": {"googleapiclient.model.BaseModel._build_query": {}}, "docstring": {}, "kind": {}, "_index": 696}], ["googleapiclient.model.basemodel._log_request", {"name": {}, "names": {}, "qname": {"googleapiclient.model.BaseModel._log_request": {}}, "docstring": {}, "kind": {}, "_index": 692}], ["googleapiclient.model.basemodel._log_response", {"name": {}, "names": {}, "qname": {"googleapiclient.model.BaseModel._log_response": {}}, "docstring": {}, "kind": {}, "_index": 698}], ["googleapiclient.model.basemodel.accept", {"name": {}, "names": {}, "qname": {"googleapiclient.model.BaseModel.accept": {}}, "docstring": {}, "kind": {}, "_index": 680}], ["googleapiclient.model.basemodel.alt_param", {"name": {}, "names": {}, "qname": {"googleapiclient.model.BaseModel.alt_param": {}}, "docstring": {}, "kind": {}, "_index": 689}], ["googleapiclient.model.basemodel.content_type", {"name": {}, "names": {}, "qname": {"googleapiclient.model.BaseModel.content_type": {}}, "docstring": {}, "kind": {}, "_index": 682}], ["googleapiclient.model.basemodel.deserialize", {"name": {}, "names": {}, "qname": {"googleapiclient.model.BaseModel.deserialize": {}}, "docstring": {}, "kind": {}, "_index": 704}], ["googleapiclient.model.basemodel.no_content_response", {"name": {}, "names": {}, "qname": {"googleapiclient.model.BaseModel.no_content_response": {}}, "docstring": {}, "kind": {}, "_index": 685}], ["googleapiclient.model.basemodel.request", {"name": {}, "names": {}, "qname": {"googleapiclient.model.BaseModel.request": {}}, "docstring": {}, "kind": {}, "_index": 694}], ["googleapiclient.model.basemodel.response", {"name": {}, "names": {}, "qname": {"googleapiclient.model.BaseModel.response": {}}, "docstring": {}, "kind": {}, "_index": 699}], ["googleapiclient.model.basemodel.serialize", {"name": {}, "names": {}, "qname": {"googleapiclient.model.BaseModel.serialize": {}}, "docstring": {}, "kind": {}, "_index": 701}], ["googleapiclient.model.dump_request_response", {"name": {}, "names": {}, "qname": {"googleapiclient.model.dump_request_response": {}}, "docstring": {}, "kind": {}, "_index": 666}], ["googleapiclient.model.jsonmodel", {"name": {}, "names": {}, "qname": {"googleapiclient.model.JsonModel": {}}, "docstring": {}, "kind": {}, "_index": 706}], ["googleapiclient.model.jsonmodel.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.model.JsonModel.__init__": {}}, "docstring": {}, "kind": {}, "_index": 710}], ["googleapiclient.model.jsonmodel._data_wrapper", {"name": {}, "names": {}, "qname": {"googleapiclient.model.JsonModel._data_wrapper": {}}, "docstring": {}, "kind": {}, "_index": 713}], ["googleapiclient.model.jsonmodel.accept", {"name": {}, "names": {}, "qname": {"googleapiclient.model.JsonModel.accept": {}}, "docstring": {}, "kind": {}, "_index": 707}], ["googleapiclient.model.jsonmodel.alt_param", {"name": {}, "names": {}, "qname": {"googleapiclient.model.JsonModel.alt_param": {}}, "docstring": {}, "kind": {}, "_index": 709}], ["googleapiclient.model.jsonmodel.content_type", {"name": {}, "names": {}, "qname": {"googleapiclient.model.JsonModel.content_type": {}}, "docstring": {}, "kind": {}, "_index": 708}], ["googleapiclient.model.jsonmodel.deserialize", {"name": {}, "names": {}, "qname": {"googleapiclient.model.JsonModel.deserialize": {}}, "docstring": {}, "kind": {}, "_index": 715}], ["googleapiclient.model.jsonmodel.no_content_response", {"name": {}, "names": {}, "qname": {"googleapiclient.model.JsonModel.no_content_response": {}}, "docstring": {}, "kind": {}, "_index": 716}], ["googleapiclient.model.jsonmodel.serialize", {"name": {}, "names": {}, "qname": {"googleapiclient.model.JsonModel.serialize": {}}, "docstring": {}, "kind": {}, "_index": 714}], ["googleapiclient.model.logger", {"name": {}, "names": {}, "qname": {"googleapiclient.model.LOGGER": {}}, "docstring": {}, "kind": {}, "_index": 662}], ["googleapiclient.model.makepatch", {"name": {}, "names": {}, "qname": {"googleapiclient.model.makepatch": {}}, "docstring": {}, "kind": {}, "_index": 749}], ["googleapiclient.model.mediamodel", {"name": {}, "names": {}, "qname": {"googleapiclient.model.MediaModel": {}}, "docstring": {}, "kind": {}, "_index": 728}], ["googleapiclient.model.mediamodel.accept", {"name": {}, "names": {}, "qname": {"googleapiclient.model.MediaModel.accept": {}}, "docstring": {}, "kind": {}, "_index": 729}], ["googleapiclient.model.mediamodel.alt_param", {"name": {}, "names": {}, "qname": {"googleapiclient.model.MediaModel.alt_param": {}}, "docstring": {}, "kind": {}, "_index": 731}], ["googleapiclient.model.mediamodel.content_type", {"name": {}, "names": {}, "qname": {"googleapiclient.model.MediaModel.content_type": {}}, "docstring": {}, "kind": {}, "_index": 730}], ["googleapiclient.model.mediamodel.deserialize", {"name": {}, "names": {}, "qname": {"googleapiclient.model.MediaModel.deserialize": {}}, "docstring": {}, "kind": {}, "_index": 732}], ["googleapiclient.model.mediamodel.no_content_response", {"name": {}, "names": {}, "qname": {"googleapiclient.model.MediaModel.no_content_response": {}}, "docstring": {}, "kind": {}, "_index": 733}], ["googleapiclient.model.model", {"name": {}, "names": {}, "qname": {"googleapiclient.model.Model": {}}, "docstring": {}, "kind": {}, "_index": 669}], ["googleapiclient.model.model.request", {"name": {}, "names": {}, "qname": {"googleapiclient.model.Model.request": {}}, "docstring": {}, "kind": {}, "_index": 672}], ["googleapiclient.model.model.response", {"name": {}, "names": {}, "qname": {"googleapiclient.model.Model.response": {}}, "docstring": {}, "kind": {}, "_index": 674}], ["googleapiclient.model.protocolbuffermodel", {"name": {}, "names": {}, "qname": {"googleapiclient.model.ProtocolBufferModel": {}}, "docstring": {}, "kind": {}, "_index": 737}], ["googleapiclient.model.protocolbuffermodel.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.model.ProtocolBufferModel.__init__": {}}, "docstring": {}, "kind": {}, "_index": 742}], ["googleapiclient.model.protocolbuffermodel._protocol_buffer", {"name": {}, "names": {}, "qname": {"googleapiclient.model.ProtocolBufferModel._protocol_buffer": {}}, "docstring": {}, "kind": {}, "_index": 744}], ["googleapiclient.model.protocolbuffermodel.accept", {"name": {}, "names": {}, "qname": {"googleapiclient.model.ProtocolBufferModel.accept": {}}, "docstring": {}, "kind": {}, "_index": 739}], ["googleapiclient.model.protocolbuffermodel.alt_param", {"name": {}, "names": {}, "qname": {"googleapiclient.model.ProtocolBufferModel.alt_param": {}}, "docstring": {}, "kind": {}, "_index": 741}], ["googleapiclient.model.protocolbuffermodel.content_type", {"name": {}, "names": {}, "qname": {"googleapiclient.model.ProtocolBufferModel.content_type": {}}, "docstring": {}, "kind": {}, "_index": 740}], ["googleapiclient.model.protocolbuffermodel.deserialize", {"name": {}, "names": {}, "qname": {"googleapiclient.model.ProtocolBufferModel.deserialize": {}}, "docstring": {}, "kind": {}, "_index": 746}], ["googleapiclient.model.protocolbuffermodel.no_content_response", {"name": {}, "names": {}, "qname": {"googleapiclient.model.ProtocolBufferModel.no_content_response": {}}, "docstring": {}, "kind": {}, "_index": 747}], ["googleapiclient.model.protocolbuffermodel.serialize", {"name": {}, "names": {}, "qname": {"googleapiclient.model.ProtocolBufferModel.serialize": {}}, "docstring": {}, "kind": {}, "_index": 745}], ["googleapiclient.model.rawmodel", {"name": {}, "names": {}, "qname": {"googleapiclient.model.RawModel": {}}, "docstring": {}, "kind": {}, "_index": 719}], ["googleapiclient.model.rawmodel.accept", {"name": {}, "names": {}, "qname": {"googleapiclient.model.RawModel.accept": {}}, "docstring": {}, "kind": {}, "_index": 722}], ["googleapiclient.model.rawmodel.alt_param", {"name": {}, "names": {}, "qname": {"googleapiclient.model.RawModel.alt_param": {}}, "docstring": {}, "kind": {}, "_index": 724}], ["googleapiclient.model.rawmodel.content_type", {"name": {}, "names": {}, "qname": {"googleapiclient.model.RawModel.content_type": {}}, "docstring": {}, "kind": {}, "_index": 723}], ["googleapiclient.model.rawmodel.deserialize", {"name": {}, "names": {}, "qname": {"googleapiclient.model.RawModel.deserialize": {}}, "docstring": {}, "kind": {}, "_index": 725}], ["googleapiclient.model.rawmodel.no_content_response", {"name": {}, "names": {}, "qname": {"googleapiclient.model.RawModel.no_content_response": {}}, "docstring": {}, "kind": {}, "_index": 726}], ["googleapiclient.sample_tools", {"name": {}, "names": {}, "qname": {"googleapiclient.sample_tools": {}}, "docstring": {}, "kind": {}, "_index": 214}], ["googleapiclient.sample_tools.__author__", {"name": {}, "names": {}, "qname": {"googleapiclient.sample_tools.__author__": {}}, "docstring": {}, "kind": {}, "_index": 1587}], ["googleapiclient.sample_tools.init", {"name": {}, "names": {}, "qname": {"googleapiclient.sample_tools.init": {}}, "docstring": {}, "kind": {}, "_index": 1588}], ["googleapiclient.schema", {"name": {}, "names": {}, "qname": {"googleapiclient.schema": {}}, "docstring": {}, "kind": {}, "_index": 222}], ["googleapiclient.schema.__author__", {"name": {}, "names": {}, "qname": {"googleapiclient.schema.__author__": {}}, "docstring": {}, "kind": {}, "_index": 1236}], ["googleapiclient.schema._schematostruct", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct": {}}, "docstring": {}, "kind": {}, "_index": 1255}], ["googleapiclient.schema._schematostruct.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct.__init__": {}}, "docstring": {}, "kind": {}, "_index": 1256}], ["googleapiclient.schema._schematostruct._to_str_impl", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct._to_str_impl": {}}, "docstring": {}, "kind": {}, "_index": 1285}], ["googleapiclient.schema._schematostruct.dent", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct.dent": {}}, "docstring": {}, "kind": {}, "_index": 1262}], ["googleapiclient.schema._schematostruct.emit", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct.emit": {}}, "docstring": {}, "kind": {}, "_index": 1268}], ["googleapiclient.schema._schematostruct.emitbegin", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct.emitBegin": {}}, "docstring": {}, "kind": {}, "_index": 1272}], ["googleapiclient.schema._schematostruct.emitend", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct.emitEnd": {}}, "docstring": {}, "kind": {}, "_index": 1275}], ["googleapiclient.schema._schematostruct.from_cache", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct.from_cache": {}}, "docstring": {}, "kind": {}, "_index": 1264}], ["googleapiclient.schema._schematostruct.indent", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct.indent": {}}, "docstring": {}, "kind": {}, "_index": 1278}], ["googleapiclient.schema._schematostruct.schema", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct.schema": {}}, "docstring": {}, "kind": {}, "_index": 1260}], ["googleapiclient.schema._schematostruct.seen", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct.seen": {}}, "docstring": {}, "kind": {}, "_index": 1266}], ["googleapiclient.schema._schematostruct.string", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct.string": {}}, "docstring": {}, "kind": {}, "_index": 1259}], ["googleapiclient.schema._schematostruct.to_str", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct.to_str": {}}, "docstring": {}, "kind": {}, "_index": 1287}], ["googleapiclient.schema._schematostruct.undent", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct.undent": {}}, "docstring": {}, "kind": {}, "_index": 1281}], ["googleapiclient.schema._schematostruct.value", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct.value": {}}, "docstring": {}, "kind": {}, "_index": 1258}], ["googleapiclient.schema.schemas", {"name": {}, "names": {}, "qname": {"googleapiclient.schema.Schemas": {}}, "docstring": {}, "kind": {}, "_index": 1238}], ["googleapiclient.schema.schemas.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.schema.Schemas.__init__": {}}, "docstring": {}, "kind": {}, "_index": 1239}], ["googleapiclient.schema.schemas._prettyprintbyname", {"name": {}, "names": {}, "qname": {"googleapiclient.schema.Schemas._prettyPrintByName": {}}, "docstring": {}, "kind": {}, "_index": 1245}], ["googleapiclient.schema.schemas._prettyprintschema", {"name": {}, "names": {}, "qname": {"googleapiclient.schema.Schemas._prettyPrintSchema": {}}, "docstring": {}, "kind": {}, "_index": 1249}], ["googleapiclient.schema.schemas.get", {"name": {}, "names": {}, "qname": {"googleapiclient.schema.Schemas.get": {}}, "docstring": {}, "kind": {}, "_index": 1252}], ["googleapiclient.schema.schemas.pretty", {"name": {}, "names": {}, "qname": {"googleapiclient.schema.Schemas.pretty": {}}, "docstring": {}, "kind": {}, "_index": 1242}], ["googleapiclient.schema.schemas.prettyprintbyname", {"name": {}, "names": {}, "qname": {"googleapiclient.schema.Schemas.prettyPrintByName": {}}, "docstring": {}, "kind": {}, "_index": 1247}], ["googleapiclient.schema.schemas.prettyprintschema", {"name": {}, "names": {}, "qname": {"googleapiclient.schema.Schemas.prettyPrintSchema": {}}, "docstring": {}, "kind": {}, "_index": 1251}], ["googleapiclient.schema.schemas.schemas", {"name": {}, "names": {}, "qname": {"googleapiclient.schema.Schemas.schemas": {}}, "docstring": {}, "kind": {}, "_index": 1240}], ["googleapiclient.version", {"name": {}, "names": {}, "qname": {"googleapiclient.version": {}}, "docstring": {}, "kind": {}, "_index": 265}], ["googleapiclient.version.__version__", {"name": {}, "names": {}, "qname": {"googleapiclient.version.__version__": {}}, "docstring": {}, "kind": {}, "_index": 658}], ["guarante", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.mimeparse.parse_media_range": {}}, "kind": {}, "_index": 82}], ["h", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.set_user_agent": {}, "googleapiclient.http.tunnel_patch": {}}, "kind": {}, "_index": 1213}], ["handl", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.mimeparse": {}, "googleapiclient.http._retry_request": {}}, "kind": {}, "_index": 100}], ["happen", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._fix_up_media_path_base_url": {}}, "kind": {}, "_index": 1417}], ["hardcod", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}}, "kind": {}, "_index": 834}], ["has", {"name": {}, "names": {"googleapiclient._auth.HAS_GOOGLE_AUTH": {}, "googleapiclient._auth.HAS_OAUTH2CLIENT": {}, "googleapiclient.discovery.HAS_UNIVERSE": {}, "googleapiclient.http.MediaUpload.has_stream": {}, "googleapiclient.http.MediaIoBaseUpload.has_stream": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 267}], ["has_google_auth", {"name": {"googleapiclient._auth.HAS_GOOGLE_AUTH": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 266}], ["has_oauth2client", {"name": {"googleapiclient._auth.HAS_OAUTH2CLIENT": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 271}], ["has_stream", {"name": {"googleapiclient.http.MediaUpload.has_stream": {}, "googleapiclient.http.MediaIoBaseUpload.has_stream": {}}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}}, "kind": {}, "_index": 844}], ["has_universe", {"name": {"googleapiclient.discovery.HAS_UNIVERSE": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 583}], ["header", {"name": {}, "names": {"googleapiclient.channel._upper_header_keys": {}, "googleapiclient.http.BatchHttpRequest._id_to_header": {}, "googleapiclient.http.BatchHttpRequest._header_to_id": {}}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.channel.notification_from_headers": {}, "googleapiclient.mimeparse.best_match": {}, "googleapiclient.model.BaseModel.accept": {}, "googleapiclient.model.BaseModel.content_type": {}, "googleapiclient.http.BatchHttpRequest._id_to_header": {}, "googleapiclient.http.BatchHttpRequest._header_to_id": {}, "googleapiclient.http.HttpMockSequence": {}}, "kind": {}, "_index": 77}], ["headers", {"name": {"googleapiclient.http.HttpRequest.headers": {}, "googleapiclient.http.HttpMock.headers": {}}, "names": {"googleapiclient.channel.notification_from_headers": {}, "googleapiclient.http.MediaIoBaseDownload._headers": {}, "googleapiclient.http.HttpRequest.headers": {}, "googleapiclient.http.HttpMock.response_headers": {}, "googleapiclient.http.HttpMock.headers": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 579}], ["help", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpMockSequence": {}}, "kind": {}, "_index": 1195}], ["helper", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._auth": {}, "googleapiclient._helpers": {}, "googleapiclient.channel.Channel": {}}, "kind": {}, "_index": 5}], ["helpers", {"name": {}, "names": {"googleapiclient._helpers": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 12}], ["here", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 96}], ["highest", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}, "googleapiclient.mimeparse.best_match": {}}, "kind": {}, "_index": 193}], ["hold", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}, "googleapiclient.discovery.Resource.__getstate__": {}, "googleapiclient.discovery.Resource.__setstate__": {}}, "kind": {}, "_index": 223}], ["http", {"name": {"googleapiclient.http": {}, "googleapiclient.http.HttpRequest.http": {}}, "names": {"googleapiclient.http": {}, "googleapiclient._auth.authorized_http": {}, "googleapiclient._auth.get_credentials_from_http": {}, "googleapiclient.errors.HttpError": {}, "googleapiclient.http.DEFAULT_HTTP_TIMEOUT_SEC": {}, "googleapiclient.http.HttpRequest": {}, "googleapiclient.http.HttpRequest.http": {}, "googleapiclient.http.BatchHttpRequest": {}, "googleapiclient.http.HttpRequestMock": {}, "googleapiclient.http.HttpMock": {}, "googleapiclient.http.HttpMockSequence": {}, "googleapiclient.http.build_http": {}, "googleapiclient.discovery.HTTP_PAYLOAD_METHODS": {}, "googleapiclient.discovery.Resource._http": {}}, "qname": {}, "docstring": {"googleapiclient.http": {}, "googleapiclient.mimeparse": {}, "googleapiclient._auth.authorized_http": {}, "googleapiclient.errors.HttpError": {}, "googleapiclient.errors.HttpError.status_code": {}, "googleapiclient.mimeparse.best_match": {}, "googleapiclient.model.BaseModel.accept": {}, "googleapiclient.model.BaseModel.content_type": {}, "googleapiclient.model.JsonModel": {}, "googleapiclient.model.RawModel": {}, "googleapiclient.model.MediaModel": {}, "googleapiclient.model.ProtocolBufferModel": {}, "googleapiclient.model.ProtocolBufferModel.__init__": {}, "googleapiclient.http._retry_request": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.HttpRequest": {}, "googleapiclient.http.BatchHttpRequest": {}, "googleapiclient.http.BatchHttpRequest.execute": {}, "googleapiclient.http.HttpRequestMock.execute": {}, "googleapiclient.http.HttpMockSequence": {}, "googleapiclient.http.build_http": {}, "googleapiclient.discovery.build_from_document": {}}, "kind": {}, "_index": 146}], ["http.request(\"", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpMockSequence": {}}, "kind": {}, "_index": 1190}], ["http://examples.com", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpMockSequence": {}}, "kind": {}, "_index": 1191}], ["http://tools.ietf.org/html/draft", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._cast": {}, "googleapiclient.discovery.ResourceMethodParameters.param_types": {}}, "kind": {}, "_index": 1381}], ["http://www.w3.org/protocols/rfc2616/rfc2616", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}}, "kind": {}, "_index": 175}], ["http_payload_methods", {"name": {"googleapiclient.discovery.HTTP_PAYLOAD_METHODS": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1300}], ["httperror", {"name": {"googleapiclient.errors.HttpError": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 416}], ["httplib", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}, "googleapiclient.http._StreamSlice": {}}, "kind": {}, "_index": 847}], ["httplib2", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest._deserialize_response": {}, "googleapiclient.discovery.Resource.close": {}}, "kind": {}, "_index": 1096}], ["httplib2.http", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpMock": {}, "googleapiclient.http.HttpMockSequence": {}, "googleapiclient.http.build_http": {}}, "kind": {}, "_index": 1168}], ["httplib2.http()", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.set_user_agent": {}, "googleapiclient.http.tunnel_patch": {}}, "kind": {}, "_index": 1214}], ["httplib2.response,", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 1132}], ["httpmock", {"name": {"googleapiclient.http.HttpMock": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1166}], ["httpmocksequ", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpMockSequence": {}}, "kind": {}, "_index": 1184}], ["httpmocksequence", {"name": {"googleapiclient.http.HttpMockSequence": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1180}], ["httprequest", {"name": {"googleapiclient.http.HttpRequest": {}}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpRequest.__init__": {}, "googleapiclient.http.HttpRequest.to_json": {}, "googleapiclient.http.HttpRequest.from_json": {}, "googleapiclient.http.BatchHttpRequest": {}, "googleapiclient.http.BatchHttpRequest._serialize_request": {}, "googleapiclient.http.HttpRequestMock": {}, "googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 1000}], ["httprequest.execute(),", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpRequestMock.execute": {}}, "kind": {}, "_index": 1122}], ["httprequest.execute().", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder.__call__": {}}, "kind": {}, "_index": 1165}], ["httprequestmock", {"name": {"googleapiclient.http.HttpRequestMock": {}}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpRequestMock.__init__": {}}, "kind": {}, "_index": 1114}], ["httprespons", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder.__init__": {}}, "kind": {}, "_index": 1153}], ["https://example.com/my_web_hook", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 50}], ["i.e.", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload.has_stream": {}, "googleapiclient.http.MediaIoBaseUpload.has_stream": {}, "googleapiclient.sample_tools.init": {}}, "kind": {}, "_index": 866}], ["id", {"name": {"googleapiclient.channel.Channel.id": {}}, "names": {"googleapiclient.channel.X_GOOG_CHANNEL_ID": {}, "googleapiclient.channel.X_GOOG_RESOURCE_ID": {}, "googleapiclient.channel.Notification.resource_id": {}, "googleapiclient.channel.Channel.id": {}, "googleapiclient.channel.Channel.resource_id": {}, "googleapiclient.http.HttpRequest.methodId": {}, "googleapiclient.http.BatchHttpRequest._last_auto_id": {}, "googleapiclient.http.BatchHttpRequest._base_id": {}, "googleapiclient.http.BatchHttpRequest._id_to_header": {}, "googleapiclient.http.BatchHttpRequest._header_to_id": {}, "googleapiclient.http.BatchHttpRequest._new_id": {}}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.channel.Notification.message_number": {}, "googleapiclient.channel.Channel.resource_id": {}, "googleapiclient.channel.Channel.resource_uri": {}, "googleapiclient.http.BatchHttpRequest._id_to_header": {}, "googleapiclient.http.BatchHttpRequest._header_to_id": {}, "googleapiclient.http.BatchHttpRequest._new_id": {}, "googleapiclient.http.BatchHttpRequest.add": {}, "googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 32}], ["id='cow',", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.HttpRequest.next_chunk": {}}, "kind": {}, "_index": 887}], ["identifi", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Notification.resource_id": {}, "googleapiclient.channel.Channel.resource_id": {}}, "kind": {}, "_index": 531}], ["idiom", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.sample_tools.init": {}}, "kind": {}, "_index": 1592}], ["ignore", {"name": {}, "names": {"googleapiclient._helpers.POSITIONAL_IGNORE": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 313}], ["imag", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaFileUpload": {}}, "kind": {}, "_index": 922}], ["impl", {"name": {}, "names": {"googleapiclient.schema._SchemaToStruct._to_str_impl": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1284}], ["implement", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.http": {}, "googleapiclient.model.Model": {}, "googleapiclient.model.BaseModel": {}, "googleapiclient.http.RequestMockBuilder.__call__": {}}, "kind": {}, "_index": 74}], ["import", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}, "googleapiclient.http.BatchHttpRequest": {}}, "kind": {}, "_index": 825}], ["in", {"name": {}, "names": {"googleapiclient.http.MediaInMemoryUpload": {}, "googleapiclient.http.HttpRequest._in_error_state": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 937}], ["includ", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 88}], ["increas", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.best_match": {}, "googleapiclient.schema._SchemaToStruct.indent": {}}, "kind": {}, "_index": 643}], ["increment", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest._new_id": {}}, "kind": {}, "_index": 1099}], ["indent", {"name": {"googleapiclient.schema._SchemaToStruct.indent": {}}, "names": {"googleapiclient.schema._SchemaToStruct.indent": {}}, "qname": {}, "docstring": {"googleapiclient.schema._SchemaToStruct.indent": {}, "googleapiclient.schema._SchemaToStruct.undent": {}}, "kind": {}, "_index": 1277}], ["indic", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}}, "kind": {}, "_index": 841}], ["individu", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}, "googleapiclient.discovery._fix_up_parameters": {}}, "kind": {}, "_index": 833}], ["inequ", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 1134}], ["influenc", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}}, "kind": {}, "_index": 829}], ["info", {"name": {}, "names": {"googleapiclient.discovery._media_path_url_from_info": {}}, "qname": {}, "docstring": {"googleapiclient.http.HttpRequest.from_json": {}}, "kind": {}, "_index": 1043}], ["inform", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.update": {}, "googleapiclient.model.BaseModel._log_request": {}, "googleapiclient.model.BaseModel._log_response": {}}, "kind": {}, "_index": 576}], ["init", {"name": {"googleapiclient.sample_tools.init": {}}, "names": {"googleapiclient.errors.HttpError.__init__": {}, "googleapiclient.errors.BatchError.__init__": {}, "googleapiclient.errors.UnexpectedMethodError.__init__": {}, "googleapiclient.errors.UnexpectedBodyError.__init__": {}, "googleapiclient.channel.Notification.__init__": {}, "googleapiclient.channel.Channel.__init__": {}, "googleapiclient.model.JsonModel.__init__": {}, "googleapiclient.model.ProtocolBufferModel.__init__": {}, "googleapiclient.http.MediaUploadProgress.__init__": {}, "googleapiclient.http.MediaDownloadProgress.__init__": {}, "googleapiclient.http.MediaIoBaseUpload.__init__": {}, "googleapiclient.http.MediaFileUpload.__init__": {}, "googleapiclient.http.MediaInMemoryUpload.__init__": {}, "googleapiclient.http.MediaIoBaseDownload.__init__": {}, "googleapiclient.http._StreamSlice.__init__": {}, "googleapiclient.http.HttpRequest.__init__": {}, "googleapiclient.http.BatchHttpRequest.__init__": {}, "googleapiclient.http.HttpRequestMock.__init__": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}, "googleapiclient.http.HttpMock.__init__": {}, "googleapiclient.http.HttpMockSequence.__init__": {}, "googleapiclient.schema.Schemas.__init__": {}, "googleapiclient.schema._SchemaToStruct.__init__": {}, "googleapiclient.discovery.APICoreVersionError.__init__": {}, "googleapiclient.discovery.ResourceMethodParameters.__init__": {}, "googleapiclient.discovery.Resource.__init__": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache.__init__": {}, "googleapiclient.discovery_cache.file_cache.Cache.__init__": {}, "googleapiclient.sample_tools.init": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 421}], ["initi", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery_cache.file_cache": {}, "googleapiclient.http.HttpMockSequence": {}, "googleapiclient.sample_tools.init": {}}, "kind": {}, "_index": 139}], ["initialize", {"name": {}, "names": {"googleapiclient.discovery_cache.file_cache._read_or_initialize_cache": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1578}], ["insensit", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 79}], ["instanc", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}, "googleapiclient.http.MediaUpload.to_json": {}, "googleapiclient.http.MediaFileUpload.to_json": {}, "googleapiclient.http.HttpMockSequence": {}, "googleapiclient.discovery.Resource._set_dynamic_attr": {}, "googleapiclient.discovery.Resource.__getstate__": {}, "googleapiclient.discovery.Resource.__setstate__": {}}, "kind": {}, "_index": 361}], ["instance", {"name": {}, "names": {}, "qname": {}, "docstring": {}, "kind": {"googleapiclient.errors.HttpError.resp": {}, "googleapiclient.errors.HttpError.content": {}, "googleapiclient.errors.HttpError.uri": {}, "googleapiclient.errors.HttpError.error_details": {}, "googleapiclient.errors.HttpError.reason": {}, "googleapiclient.errors.BatchError.resp": {}, "googleapiclient.errors.BatchError.content": {}, "googleapiclient.errors.BatchError.reason": {}, "googleapiclient.channel.Notification.message_number": {}, "googleapiclient.channel.Notification.state": {}, "googleapiclient.channel.Notification.uri": {}, "googleapiclient.channel.Notification.resource_id": {}, "googleapiclient.channel.Notification.resource_uri": {}, "googleapiclient.channel.Channel.type": {}, "googleapiclient.channel.Channel.id": {}, "googleapiclient.channel.Channel.token": {}, "googleapiclient.channel.Channel.address": {}, "googleapiclient.channel.Channel.expiration": {}, "googleapiclient.channel.Channel.params": {}, "googleapiclient.channel.Channel.resource_id": {}, "googleapiclient.channel.Channel.resource_uri": {}, "googleapiclient.model.BaseModel.accept": {}, "googleapiclient.model.BaseModel.content_type": {}, "googleapiclient.model.BaseModel.no_content_response": {}, "googleapiclient.model.BaseModel.alt_param": {}, "googleapiclient.model.JsonModel.accept": {}, "googleapiclient.model.JsonModel.content_type": {}, "googleapiclient.model.JsonModel.alt_param": {}, "googleapiclient.model.JsonModel._data_wrapper": {}, "googleapiclient.model.RawModel.accept": {}, "googleapiclient.model.RawModel.content_type": {}, "googleapiclient.model.RawModel.alt_param": {}, "googleapiclient.model.MediaModel.accept": {}, "googleapiclient.model.MediaModel.content_type": {}, "googleapiclient.model.MediaModel.alt_param": {}, "googleapiclient.model.ProtocolBufferModel.accept": {}, "googleapiclient.model.ProtocolBufferModel.content_type": {}, "googleapiclient.model.ProtocolBufferModel.alt_param": {}, "googleapiclient.model.ProtocolBufferModel._protocol_buffer": {}, "googleapiclient.http.MediaUploadProgress.resumable_progress": {}, "googleapiclient.http.MediaUploadProgress.total_size": {}, "googleapiclient.http.MediaDownloadProgress.resumable_progress": {}, "googleapiclient.http.MediaDownloadProgress.total_size": {}, "googleapiclient.http.MediaIoBaseUpload._fd": {}, "googleapiclient.http.MediaIoBaseUpload._mimetype": {}, "googleapiclient.http.MediaIoBaseUpload._chunksize": {}, "googleapiclient.http.MediaIoBaseUpload._resumable": {}, "googleapiclient.http.MediaIoBaseUpload._size": {}, "googleapiclient.http.MediaFileUpload._fd": {}, "googleapiclient.http.MediaFileUpload._filename": {}, "googleapiclient.http.MediaIoBaseDownload._fd": {}, "googleapiclient.http.MediaIoBaseDownload._request": {}, "googleapiclient.http.MediaIoBaseDownload._uri": {}, "googleapiclient.http.MediaIoBaseDownload._chunksize": {}, "googleapiclient.http.MediaIoBaseDownload._progress": {}, "googleapiclient.http.MediaIoBaseDownload._total_size": {}, "googleapiclient.http.MediaIoBaseDownload._done": {}, "googleapiclient.http.MediaIoBaseDownload._sleep": {}, "googleapiclient.http.MediaIoBaseDownload._rand": {}, "googleapiclient.http.MediaIoBaseDownload._headers": {}, "googleapiclient.http._StreamSlice._stream": {}, "googleapiclient.http._StreamSlice._begin": {}, "googleapiclient.http._StreamSlice._chunksize": {}, "googleapiclient.http.HttpRequest.uri": {}, "googleapiclient.http.HttpRequest.method": {}, "googleapiclient.http.HttpRequest.body": {}, "googleapiclient.http.HttpRequest.headers": {}, "googleapiclient.http.HttpRequest.methodId": {}, "googleapiclient.http.HttpRequest.http": {}, "googleapiclient.http.HttpRequest.postproc": {}, "googleapiclient.http.HttpRequest.resumable": {}, "googleapiclient.http.HttpRequest.response_callbacks": {}, "googleapiclient.http.HttpRequest._in_error_state": {}, "googleapiclient.http.HttpRequest.body_size": {}, "googleapiclient.http.HttpRequest.resumable_uri": {}, "googleapiclient.http.HttpRequest.resumable_progress": {}, "googleapiclient.http.HttpRequest._rand": {}, "googleapiclient.http.HttpRequest._sleep": {}, "googleapiclient.http.BatchHttpRequest._batch_uri": {}, "googleapiclient.http.BatchHttpRequest._callback": {}, "googleapiclient.http.BatchHttpRequest._requests": {}, "googleapiclient.http.BatchHttpRequest._callbacks": {}, "googleapiclient.http.BatchHttpRequest._order": {}, "googleapiclient.http.BatchHttpRequest._last_auto_id": {}, "googleapiclient.http.BatchHttpRequest._base_id": {}, "googleapiclient.http.BatchHttpRequest._responses": {}, "googleapiclient.http.BatchHttpRequest._refreshed_credentials": {}, "googleapiclient.http.HttpRequestMock.resp": {}, "googleapiclient.http.HttpRequestMock.content": {}, "googleapiclient.http.HttpRequestMock.postproc": {}, "googleapiclient.http.RequestMockBuilder.responses": {}, "googleapiclient.http.RequestMockBuilder.check_unexpected": {}, "googleapiclient.http.HttpMock.data": {}, "googleapiclient.http.HttpMock.response_headers": {}, "googleapiclient.http.HttpMock.headers": {}, "googleapiclient.http.HttpMock.uri": {}, "googleapiclient.http.HttpMock.method": {}, "googleapiclient.http.HttpMock.body": {}, "googleapiclient.http.HttpMockSequence._iterable": {}, "googleapiclient.http.HttpMockSequence.follow_redirects": {}, "googleapiclient.http.HttpMockSequence.request_sequence": {}, "googleapiclient.schema.Schemas.schemas": {}, "googleapiclient.schema.Schemas.pretty": {}, "googleapiclient.schema._SchemaToStruct.value": {}, "googleapiclient.schema._SchemaToStruct.string": {}, "googleapiclient.schema._SchemaToStruct.schema": {}, "googleapiclient.schema._SchemaToStruct.dent": {}, "googleapiclient.schema._SchemaToStruct.from_cache": {}, "googleapiclient.schema._SchemaToStruct.seen": {}, "googleapiclient.discovery.ResourceMethodParameters.argmap": {}, "googleapiclient.discovery.ResourceMethodParameters.required_params": {}, "googleapiclient.discovery.ResourceMethodParameters.repeated_params": {}, "googleapiclient.discovery.ResourceMethodParameters.pattern_params": {}, "googleapiclient.discovery.ResourceMethodParameters.query_params": {}, "googleapiclient.discovery.ResourceMethodParameters.path_params": {}, "googleapiclient.discovery.ResourceMethodParameters.param_types": {}, "googleapiclient.discovery.ResourceMethodParameters.enum_params": {}, "googleapiclient.discovery.Resource._dynamic_attrs": {}, "googleapiclient.discovery.Resource._http": {}, "googleapiclient.discovery.Resource._baseUrl": {}, "googleapiclient.discovery.Resource._model": {}, "googleapiclient.discovery.Resource._developerKey": {}, "googleapiclient.discovery.Resource._requestBuilder": {}, "googleapiclient.discovery.Resource._resourceDesc": {}, "googleapiclient.discovery.Resource._rootDesc": {}, "googleapiclient.discovery.Resource._schema": {}, "googleapiclient.discovery.Resource._universe_domain": {}, "googleapiclient.discovery.Resource._credentials_validated": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache._max_age": {}, "googleapiclient.discovery_cache.file_cache.Cache._max_age": {}, "googleapiclient.discovery_cache.file_cache.Cache._file": {}}, "_index": 424}], ["instanti", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload.new_from_json": {}}, "kind": {}, "_index": 876}], ["instead", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Channel": {}, "googleapiclient.http.HttpRequestMock": {}}, "kind": {}, "_index": 537}], ["int", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Notification.message_number": {}, "googleapiclient.channel.Channel.expiration": {}}, "kind": {}, "_index": 523}], ["int(status.progress()", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseDownload": {}, "googleapiclient.http.HttpRequest.next_chunk": {}}, "kind": {}, "_index": 956}], ["integ", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._media_size_to_long": {}, "googleapiclient.discovery.ResourceMethodParameters.param_types": {}}, "kind": {}, "_index": 1389}], ["interact", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.build_http": {}, "googleapiclient.discovery.build": {}, "googleapiclient.discovery.build_from_document": {}, "googleapiclient.discovery.Resource": {}}, "kind": {}, "_index": 1235}], ["interfac", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.Model": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaUpload.has_stream": {}, "googleapiclient.http.MediaUpload.stream": {}, "googleapiclient.http.MediaIoBaseUpload.has_stream": {}, "googleapiclient.http.MediaIoBaseUpload.stream": {}, "googleapiclient.http.RequestMockBuilder.__call__": {}}, "kind": {}, "_index": 670}], ["internet", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._retrieve_discovery_doc": {}}, "kind": {}, "_index": 1370}], ["invalid", {"name": {}, "names": {"googleapiclient.errors.InvalidJsonError": {}, "googleapiclient.errors.InvalidChunkSizeError": {}, "googleapiclient.errors.InvalidNotificationError": {}}, "qname": {}, "docstring": {"googleapiclient._helpers.update_query_params": {}, "googleapiclient.errors.HttpError": {}, "googleapiclient.errors.InvalidNotificationError": {}}, "kind": {}, "_index": 402}], ["invalidchunksizeerror", {"name": {"googleapiclient.errors.InvalidChunkSizeError": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 470}], ["invalidjsonerror", {"name": {"googleapiclient.errors.InvalidJsonError": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 443}], ["invalidnotificationerror", {"name": {"googleapiclient.errors.InvalidNotificationError": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 474}], ["io", {"name": {}, "names": {"googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaIoBaseDownload": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 878}], ["io.bas", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaIoBaseDownload": {}}, "kind": {}, "_index": 838}], ["io.fileio('cow.png',", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseDownload": {}}, "kind": {}, "_index": 947}], ["io.iobas", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload.has_stream": {}, "googleapiclient.http.MediaIoBaseUpload.has_stream": {}}, "kind": {}, "_index": 865}], ["io.stringio", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaInMemoryUpload": {}, "googleapiclient.http.MediaInMemoryUpload.__init__": {}}, "kind": {}, "_index": 942}], ["io.textiobas", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaInMemoryUpload": {}, "googleapiclient.http.MediaInMemoryUpload.__init__": {}}, "kind": {}, "_index": 941}], ["is", {"name": {}, "names": {"googleapiclient._auth.is_valid": {}, "googleapiclient._helpers._IS_DIR_MESSAGE": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 298}], ["is_valid", {"name": {"googleapiclient._auth.is_valid": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 297}], ["it'", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest.add": {}}, "kind": {}, "_index": 1109}], ["item", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.makepatch": {}}, "kind": {}, "_index": 757}], ["item)).execute()", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.makepatch": {}}, "kind": {}, "_index": 766}], ["item['object']['content']", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.makepatch": {}}, "kind": {}, "_index": 762}], ["iter", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.ResourceMethodParameters.set_parameters": {}, "googleapiclient.discovery.createNextMethod": {}}, "kind": {}, "_index": 1459}], ["iterable", {"name": {}, "names": {"googleapiclient.http.HttpMockSequence._iterable": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1202}], ["json", {"name": {}, "names": {"googleapiclient.errors.InvalidJsonError": {}, "googleapiclient.model.JsonModel": {}, "googleapiclient.http.MediaUpload._to_json": {}, "googleapiclient.http.MediaUpload.to_json": {}, "googleapiclient.http.MediaUpload.new_from_json": {}, "googleapiclient.http.MediaIoBaseUpload.to_json": {}, "googleapiclient.http.MediaFileUpload.to_json": {}, "googleapiclient.http.MediaFileUpload.from_json": {}, "googleapiclient.http.HttpRequest.to_json": {}, "googleapiclient.http.HttpRequest.from_json": {}}, "qname": {}, "docstring": {"googleapiclient.model": {}, "googleapiclient.schema": {}, "googleapiclient.errors.InvalidJsonError": {}, "googleapiclient.model.Model": {}, "googleapiclient.model.JsonModel": {}, "googleapiclient.model.RawModel": {}, "googleapiclient.model.MediaModel": {}, "googleapiclient.http.MediaUpload._to_json": {}, "googleapiclient.http.MediaUpload.to_json": {}, "googleapiclient.http.MediaUpload.new_from_json": {}, "googleapiclient.http.MediaFileUpload.to_json": {}, "googleapiclient.http.HttpRequest.to_json": {}, "googleapiclient.http.HttpRequest.from_json": {}, "googleapiclient.schema.Schemas.get": {}, "googleapiclient.discovery._cast": {}, "googleapiclient.discovery.ResourceMethodParameters.param_types": {}}, "kind": {}, "_index": 203}], ["jsonmodel", {"name": {"googleapiclient.model.JsonModel": {}}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.JsonModel.__init__": {}}, "kind": {}, "_index": 705}], ["keep", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}}, "kind": {}, "_index": 826}], ["kei", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient._helpers.parse_unique_urlencoded": {}, "googleapiclient._helpers.update_query_params": {}, "googleapiclient.discovery.key2param": {}, "googleapiclient.discovery._fix_up_media_upload": {}, "googleapiclient.discovery_cache.base.Cache.get": {}, "googleapiclient.discovery_cache.base.Cache.set": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache.get": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache.set": {}, "googleapiclient.discovery_cache.file_cache.Cache.get": {}, "googleapiclient.discovery_cache.file_cache.Cache.set": {}}, "kind": {}, "_index": 52}], ["key", {"name": {}, "names": {"googleapiclient.discovery.Resource._developerKey": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1482}], ["key2param", {"name": {"googleapiclient.discovery.key2param": {}}, "names": {"googleapiclient.discovery.key2param": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1355}], ["keys", {"name": {}, "names": {"googleapiclient.channel._upper_header_keys": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 514}], ["keyword", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 337}], ["kind", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}}, "kind": {}, "_index": 239}], ["kw1", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 347}], ["kw2", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 348}], ["kwonly1='kw1')", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 350}], ["kwonly1=none):", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 371}], ["kwonly1=none,", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 343}], ["kwonly2=none):", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 344}], ["larg", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}}, "kind": {}, "_index": 827}], ["larger", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.errors.MediaUploadSizeError": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}}, "kind": {}, "_index": 463}], ["last", {"name": {}, "names": {"googleapiclient.http.BatchHttpRequest._last_auto_id": {}}, "qname": {}, "docstring": {"googleapiclient.http._retry_request": {}, "googleapiclient.http.tunnel_patch": {}}, "kind": {}, "_index": 799}], ["later", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http._StreamSlice": {}}, "kind": {}, "_index": 849}], ["legacy", {"name": {}, "names": {"googleapiclient.http._LEGACY_BATCH_URI": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 787}], ["length", {"name": {}, "names": {"googleapiclient.http.MAX_URI_LENGTH": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 772}], ["less", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}}, "kind": {}, "_index": 850}], ["level", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema._SchemaToStruct.indent": {}, "googleapiclient.schema._SchemaToStruct.undent": {}}, "kind": {}, "_index": 1279}], ["librari", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery": {}, "googleapiclient.errors": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.BatchHttpRequest.add": {}, "googleapiclient.discovery._fix_up_parameters": {}}, "kind": {}, "_index": 111}], ["license", {"name": {}, "names": {"googleapiclient.mimeparse.__license__": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 593}], ["limit", {"name": {}, "names": {"googleapiclient.http.MAX_BATCH_LIMIT": {}}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}}, "kind": {}, "_index": 775}], ["line", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema._SchemaToStruct.emit": {}, "googleapiclient.schema._SchemaToStruct.emitBegin": {}, "googleapiclient.schema._SchemaToStruct.emitEnd": {}}, "kind": {}, "_index": 1270}], ["link", {"name": {}, "names": {"googleapiclient._helpers._SYM_LINK_MESSAGE": {}, "googleapiclient.errors.UnknownLinkType": {}}, "qname": {}, "docstring": {"googleapiclient.errors.UnknownLinkType": {}}, "kind": {}, "_index": 319}], ["list", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}, "googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.quality_parsed": {}, "googleapiclient.mimeparse.quality": {}, "googleapiclient.mimeparse.best_match": {}, "googleapiclient.http.BatchHttpRequest": {}, "googleapiclient.discovery._fix_up_parameters": {}, "googleapiclient.discovery.ResourceMethodParameters.required_params": {}, "googleapiclient.discovery.ResourceMethodParameters.repeated_params": {}, "googleapiclient.discovery.ResourceMethodParameters.query_params": {}, "googleapiclient.discovery.ResourceMethodParameters.enum_params": {}, "googleapiclient.discovery.ResourceMethodParameters.set_parameters": {}, "googleapiclient.discovery.createNextMethod": {}, "googleapiclient.discovery.Resource._set_dynamic_attr": {}}, "kind": {}, "_index": 165}], ["list_anim", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest": {}}, "kind": {}, "_index": 1057}], ["list_animals(request_id,", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest": {}}, "kind": {}, "_index": 1049}], ["list_farm", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest": {}}, "kind": {}, "_index": 1059}], ["list_farmers(request_id,", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest": {}}, "kind": {}, "_index": 1052}], ["load", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._auth.credentials_from_file": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}}, "kind": {}, "_index": 278}], ["local", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._fix_up_method_description": {}}, "kind": {}, "_index": 1413}], ["lock", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery_cache.file_cache": {}}, "kind": {}, "_index": 134}], ["log", {"name": {}, "names": {"googleapiclient.model.BaseModel._log_request": {}, "googleapiclient.model.BaseModel._log_response": {}}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}, "googleapiclient.model.BaseModel._log_request": {}, "googleapiclient.model.BaseModel._log_response": {}}, "kind": {}, "_index": 381}], ["logger", {"name": {"googleapiclient._helpers.logger": {}, "googleapiclient.model.LOGGER": {}, "googleapiclient.http.LOGGER": {}, "googleapiclient.discovery.logger": {}, "googleapiclient.discovery_cache.LOGGER": {}, "googleapiclient.discovery_cache.appengine_memcache.LOGGER": {}, "googleapiclient.discovery_cache.file_cache.LOGGER": {}}, "names": {"googleapiclient._helpers.logger": {}, "googleapiclient.model.LOGGER": {}, "googleapiclient.http.LOGGER": {}, "googleapiclient.discovery.logger": {}, "googleapiclient.discovery_cache.LOGGER": {}, "googleapiclient.discovery_cache.appengine_memcache.LOGGER": {}, "googleapiclient.discovery_cache.file_cache.LOGGER": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 302}], ["long", {"name": {}, "names": {"googleapiclient.discovery._media_size_to_long": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1385}], ["look", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}, "googleapiclient.model.makepatch": {}}, "kind": {}, "_index": 262}], ["lot", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.sample_tools": {}}, "kind": {}, "_index": 218}], ["main", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.sample_tools.init": {}}, "kind": {}, "_index": 1596}], ["make", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.sample_tools": {}, "googleapiclient._helpers.positional": {}, "googleapiclient.http.build_http": {}}, "kind": {}, "_index": 215}], ["makepatch", {"name": {"googleapiclient.model.makepatch": {}}, "names": {"googleapiclient.model.makepatch": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 748}], ["mani", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.sample_tools.init": {}}, "kind": {}, "_index": 1591}], ["manual", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.__init__": {}}, "kind": {}, "_index": 569}], ["many", {"name": {}, "names": {"googleapiclient.http._TOO_MANY_REQUESTS": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 779}], ["map", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}, "googleapiclient.discovery.ResourceMethodParameters.argmap": {}, "googleapiclient.discovery.ResourceMethodParameters.pattern_params": {}, "googleapiclient.discovery.ResourceMethodParameters.param_types": {}, "googleapiclient.discovery.ResourceMethodParameters.enum_params": {}, "googleapiclient.discovery.ResourceMethodParameters.set_parameters": {}}, "kind": {}, "_index": 1129}], ["match", {"name": {}, "names": {"googleapiclient.mimeparse.best_match": {}}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}, "googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.quality_parsed": {}, "googleapiclient.mimeparse.best_match": {}, "googleapiclient.discovery._fix_up_media_path_base_url": {}, "googleapiclient.discovery.ResourceMethodParameters.pattern_params": {}}, "kind": {}, "_index": 163}], ["max", {"name": {}, "names": {"googleapiclient.http.MAX_URI_LENGTH": {}, "googleapiclient.http.MAX_BATCH_LIMIT": {}, "googleapiclient.discovery_cache.DISCOVERY_DOC_MAX_AGE": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache._max_age": {}, "googleapiclient.discovery_cache.file_cache.Cache._max_age": {}}, "qname": {}, "docstring": {"googleapiclient.discovery.key2param": {}}, "kind": {}, "_index": 771}], ["max_batch_limit", {"name": {"googleapiclient.http.MAX_BATCH_LIMIT": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 774}], ["max_result", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.key2param": {}}, "kind": {}, "_index": 1358}], ["max_uri_length", {"name": {"googleapiclient.http.MAX_URI_LENGTH": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 770}], ["mean", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload.has_stream": {}, "googleapiclient.http.MediaIoBaseUpload.has_stream": {}, "googleapiclient.http.HttpMockSequence": {}}, "kind": {}, "_index": 864}], ["mechan", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.type": {}}, "kind": {}, "_index": 540}], ["media", {"name": {}, "names": {"googleapiclient.errors.MediaUploadSizeError": {}, "googleapiclient.mimeparse.parse_media_range": {}, "googleapiclient.model.MediaModel": {}, "googleapiclient.http.MediaUploadProgress": {}, "googleapiclient.http.MediaDownloadProgress": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.MediaInMemoryUpload": {}, "googleapiclient.http.MediaIoBaseDownload": {}, "googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS": {}, "googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery.MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery._media_size_to_long": {}, "googleapiclient.discovery._media_path_url_from_info": {}, "googleapiclient.discovery._fix_up_media_upload": {}, "googleapiclient.discovery._fix_up_media_path_base_url": {}}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}, "googleapiclient.errors.MediaUploadSizeError": {}, "googleapiclient.mimeparse.parse_mime_type": {}, "googleapiclient.mimeparse.parse_media_range": {}, "googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.quality_parsed": {}, "googleapiclient.mimeparse.quality": {}, "googleapiclient.mimeparse.best_match": {}, "googleapiclient.model.MediaModel": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaUpload.getbytes": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaIoBaseUpload.getbytes": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.MediaIoBaseDownload": {}, "googleapiclient.http._StreamSlice": {}, "googleapiclient.http.HttpRequest.next_chunk": {}, "googleapiclient.discovery._media_size_to_long": {}, "googleapiclient.discovery._media_path_url_from_info": {}, "googleapiclient.discovery._fix_up_media_path_base_url": {}}, "kind": {}, "_index": 166}], ["media_bodi", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaFileUpload": {}, "googleapiclient.discovery._fix_up_media_upload": {}}, "kind": {}, "_index": 920}], ["media_body=media)", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpRequest.next_chunk": {}}, "kind": {}, "_index": 1035}], ["media_body=media).execute()", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}}, "kind": {}, "_index": 889}], ["media_body_parameter_default_value", {"name": {"googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1310}], ["media_mime_typ", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._fix_up_media_upload": {}}, "kind": {}, "_index": 1407}], ["media_mime_type_parameter_default_value", {"name": {"googleapiclient.discovery.MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1312}], ["media_rang", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.quality_parsed": {}}, "kind": {}, "_index": 622}], ["media_upload", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._fix_up_media_upload": {}}, "kind": {}, "_index": 1408}], ["mediadownloadprogress", {"name": {"googleapiclient.http.MediaDownloadProgress": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 815}], ["mediafileupload", {"name": {"googleapiclient.http.MediaFileUpload": {}}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.MediaFileUpload.to_json": {}}, "kind": {}, "_index": 918}], ["mediafileupload('cow.png',", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.HttpRequest.next_chunk": {}}, "kind": {}, "_index": 923}], ["mediainmemoryupload", {"name": {"googleapiclient.http.MediaInMemoryUpload": {}}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaInMemoryUpload.__init__": {}}, "kind": {}, "_index": 936}], ["mediaiobasedownload", {"name": {"googleapiclient.http.MediaIoBaseDownload": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 944}], ["mediaiobasedownload(fh,", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseDownload": {}}, "kind": {}, "_index": 949}], ["mediaiobaseupload", {"name": {"googleapiclient.http.MediaIoBaseUpload": {}}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaInMemoryUpload": {}, "googleapiclient.http.MediaInMemoryUpload.__init__": {}}, "kind": {}, "_index": 877}], ["mediaiobaseupload(fh,", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseUpload": {}}, "kind": {}, "_index": 882}], ["mediamodel", {"name": {"googleapiclient.model.MediaModel": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 727}], ["mediaupload", {"name": {"googleapiclient.http.MediaUpload": {}}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaUpload._to_json": {}, "googleapiclient.http.MediaUpload.to_json": {}, "googleapiclient.http.MediaUpload.new_from_json": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.MediaInMemoryUpload": {}, "googleapiclient.http.HttpRequest.next_chunk": {}, "googleapiclient.discovery._fix_up_media_upload": {}}, "kind": {}, "_index": 822}], ["mediauploadprogress", {"name": {"googleapiclient.http.MediaUploadProgress": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 803}], ["mediauploadsizeerror", {"name": {"googleapiclient.errors.MediaUploadSizeError": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 459}], ["memcach", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery_cache.appengine_memcache": {}, "googleapiclient.discovery_cache.base.Cache.get": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache.get": {}, "googleapiclient.discovery_cache.file_cache.Cache.get": {}}, "kind": {}, "_index": 123}], ["memcache", {"name": {}, "names": {"googleapiclient.discovery_cache.appengine_memcache": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 120}], ["memori", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}}, "kind": {}, "_index": 851}], ["memory", {"name": {}, "names": {"googleapiclient.http.MediaInMemoryUpload": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 938}], ["message", {"name": {}, "names": {"googleapiclient._helpers._SYM_LINK_MESSAGE": {}, "googleapiclient._helpers._IS_DIR_MESSAGE": {}, "googleapiclient._helpers._MISSING_FILE_MESSAGE": {}, "googleapiclient.channel.X_GOOG_MESSAGE_NUMBER": {}, "googleapiclient.channel.Notification.message_number": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 320}], ["message_number", {"name": {"googleapiclient.channel.Notification.message_number": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 521}], ["method", {"name": {"googleapiclient.http.HttpRequest.method": {}, "googleapiclient.http.HttpMock.method": {}}, "names": {"googleapiclient.errors.UnexpectedMethodError": {}, "googleapiclient.http.HttpRequest.method": {}, "googleapiclient.http.HttpRequest.methodId": {}, "googleapiclient.http.HttpMock.method": {}, "googleapiclient.discovery.DEFAULT_METHOD_DOC": {}, "googleapiclient.discovery.fix_method_name": {}, "googleapiclient.discovery._fix_up_method_description": {}, "googleapiclient.discovery.ResourceMethodParameters": {}, "googleapiclient.discovery.createMethod": {}, "googleapiclient.discovery.createNextMethod": {}, "googleapiclient.discovery._methodProperties": {}}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.http": {}, "googleapiclient._helpers.positional": {}, "googleapiclient.errors.MediaUploadSizeError": {}, "googleapiclient.channel.Channel.body": {}, "googleapiclient.model.BaseModel": {}, "googleapiclient.model.makepatch": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaUpload.new_from_json": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.HttpRequest.next_chunk": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}, "googleapiclient.http.RequestMockBuilder.__call__": {}, "googleapiclient.http.tunnel_patch": {}, "googleapiclient.http.build_http": {}, "googleapiclient.discovery.fix_method_name": {}, "googleapiclient.discovery._media_path_url_from_info": {}, "googleapiclient.discovery._fix_up_parameters": {}, "googleapiclient.discovery._fix_up_media_upload": {}, "googleapiclient.discovery._fix_up_method_description": {}, "googleapiclient.discovery.ResourceMethodParameters": {}, "googleapiclient.discovery.ResourceMethodParameters.argmap": {}, "googleapiclient.discovery.ResourceMethodParameters.pattern_params": {}, "googleapiclient.discovery.ResourceMethodParameters.param_types": {}, "googleapiclient.discovery.ResourceMethodParameters.enum_params": {}, "googleapiclient.discovery.ResourceMethodParameters.set_parameters": {}, "googleapiclient.discovery.createMethod": {}, "googleapiclient.discovery.createNextMethod": {}, "googleapiclient.discovery._methodProperties": {}}, "kind": {"googleapiclient.errors.HttpError.__init__": {}, "googleapiclient.errors.HttpError._get_reason": {}, "googleapiclient.errors.HttpError.__repr__": {}, "googleapiclient.errors.BatchError.__init__": {}, "googleapiclient.errors.BatchError.__repr__": {}, "googleapiclient.errors.UnexpectedMethodError.__init__": {}, "googleapiclient.errors.UnexpectedBodyError.__init__": {}, "googleapiclient.channel.Notification.__init__": {}, "googleapiclient.channel.Channel.__init__": {}, "googleapiclient.channel.Channel.body": {}, "googleapiclient.channel.Channel.update": {}, "googleapiclient.model.Model.request": {}, "googleapiclient.model.Model.response": {}, "googleapiclient.model.BaseModel._log_request": {}, "googleapiclient.model.BaseModel.request": {}, "googleapiclient.model.BaseModel._build_query": {}, "googleapiclient.model.BaseModel._log_response": {}, "googleapiclient.model.BaseModel.response": {}, "googleapiclient.model.BaseModel.serialize": {}, "googleapiclient.model.BaseModel.deserialize": {}, "googleapiclient.model.JsonModel.__init__": {}, "googleapiclient.model.JsonModel.serialize": {}, "googleapiclient.model.JsonModel.deserialize": {}, "googleapiclient.model.RawModel.deserialize": {}, "googleapiclient.model.MediaModel.deserialize": {}, "googleapiclient.model.ProtocolBufferModel.__init__": {}, "googleapiclient.model.ProtocolBufferModel.serialize": {}, "googleapiclient.model.ProtocolBufferModel.deserialize": {}, "googleapiclient.http.MediaUploadProgress.__init__": {}, "googleapiclient.http.MediaUploadProgress.progress": {}, "googleapiclient.http.MediaDownloadProgress.__init__": {}, "googleapiclient.http.MediaDownloadProgress.progress": {}, "googleapiclient.http.MediaUpload.chunksize": {}, "googleapiclient.http.MediaUpload.mimetype": {}, "googleapiclient.http.MediaUpload.size": {}, "googleapiclient.http.MediaUpload.resumable": {}, "googleapiclient.http.MediaUpload.getbytes": {}, "googleapiclient.http.MediaUpload.has_stream": {}, "googleapiclient.http.MediaUpload.stream": {}, "googleapiclient.http.MediaUpload._to_json": {}, "googleapiclient.http.MediaUpload.to_json": {}, "googleapiclient.http.MediaUpload.new_from_json": {}, "googleapiclient.http.MediaIoBaseUpload.__init__": {}, "googleapiclient.http.MediaIoBaseUpload.chunksize": {}, "googleapiclient.http.MediaIoBaseUpload.mimetype": {}, "googleapiclient.http.MediaIoBaseUpload.size": {}, "googleapiclient.http.MediaIoBaseUpload.resumable": {}, "googleapiclient.http.MediaIoBaseUpload.getbytes": {}, "googleapiclient.http.MediaIoBaseUpload.has_stream": {}, "googleapiclient.http.MediaIoBaseUpload.stream": {}, "googleapiclient.http.MediaIoBaseUpload.to_json": {}, "googleapiclient.http.MediaFileUpload.__init__": {}, "googleapiclient.http.MediaFileUpload.__del__": {}, "googleapiclient.http.MediaFileUpload.to_json": {}, "googleapiclient.http.MediaFileUpload.from_json": {}, "googleapiclient.http.MediaInMemoryUpload.__init__": {}, "googleapiclient.http.MediaIoBaseDownload.__init__": {}, "googleapiclient.http.MediaIoBaseDownload.next_chunk": {}, "googleapiclient.http._StreamSlice.__init__": {}, "googleapiclient.http._StreamSlice.read": {}, "googleapiclient.http.HttpRequest.__init__": {}, "googleapiclient.http.HttpRequest.execute": {}, "googleapiclient.http.HttpRequest.add_response_callback": {}, "googleapiclient.http.HttpRequest.next_chunk": {}, "googleapiclient.http.HttpRequest._process_response": {}, "googleapiclient.http.HttpRequest.to_json": {}, "googleapiclient.http.HttpRequest.from_json": {}, "googleapiclient.http.HttpRequest.null_postproc": {}, "googleapiclient.http.BatchHttpRequest.__init__": {}, "googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials": {}, "googleapiclient.http.BatchHttpRequest._id_to_header": {}, "googleapiclient.http.BatchHttpRequest._header_to_id": {}, "googleapiclient.http.BatchHttpRequest._serialize_request": {}, "googleapiclient.http.BatchHttpRequest._deserialize_response": {}, "googleapiclient.http.BatchHttpRequest._new_id": {}, "googleapiclient.http.BatchHttpRequest.add": {}, "googleapiclient.http.BatchHttpRequest._execute": {}, "googleapiclient.http.BatchHttpRequest.execute": {}, "googleapiclient.http.HttpRequestMock.__init__": {}, "googleapiclient.http.HttpRequestMock.execute": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}, "googleapiclient.http.RequestMockBuilder.__call__": {}, "googleapiclient.http.HttpMock.__init__": {}, "googleapiclient.http.HttpMock.request": {}, "googleapiclient.http.HttpMock.close": {}, "googleapiclient.http.HttpMockSequence.__init__": {}, "googleapiclient.http.HttpMockSequence.request": {}, "googleapiclient.schema.Schemas.__init__": {}, "googleapiclient.schema.Schemas._prettyPrintByName": {}, "googleapiclient.schema.Schemas.prettyPrintByName": {}, "googleapiclient.schema.Schemas._prettyPrintSchema": {}, "googleapiclient.schema.Schemas.prettyPrintSchema": {}, "googleapiclient.schema.Schemas.get": {}, "googleapiclient.schema._SchemaToStruct.__init__": {}, "googleapiclient.schema._SchemaToStruct.emit": {}, "googleapiclient.schema._SchemaToStruct.emitBegin": {}, "googleapiclient.schema._SchemaToStruct.emitEnd": {}, "googleapiclient.schema._SchemaToStruct.indent": {}, "googleapiclient.schema._SchemaToStruct.undent": {}, "googleapiclient.schema._SchemaToStruct._to_str_impl": {}, "googleapiclient.schema._SchemaToStruct.to_str": {}, "googleapiclient.discovery.APICoreVersionError.__init__": {}, "googleapiclient.discovery.ResourceMethodParameters.__init__": {}, "googleapiclient.discovery.ResourceMethodParameters.set_parameters": {}, "googleapiclient.discovery.Resource.__init__": {}, "googleapiclient.discovery.Resource._set_dynamic_attr": {}, "googleapiclient.discovery.Resource.__getstate__": {}, "googleapiclient.discovery.Resource.__setstate__": {}, "googleapiclient.discovery.Resource.__enter__": {}, "googleapiclient.discovery.Resource.__exit__": {}, "googleapiclient.discovery.Resource.close": {}, "googleapiclient.discovery.Resource._set_service_methods": {}, "googleapiclient.discovery.Resource._add_basic_methods": {}, "googleapiclient.discovery.Resource._add_nested_resources": {}, "googleapiclient.discovery.Resource._add_next_methods": {}, "googleapiclient.discovery.Resource._validate_credentials": {}, "googleapiclient.discovery_cache.base.Cache.get": {}, "googleapiclient.discovery_cache.base.Cache.set": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache.__init__": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache.get": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache.set": {}, "googleapiclient.discovery_cache.file_cache.Cache.__init__": {}, "googleapiclient.discovery_cache.file_cache.Cache.get": {}, "googleapiclient.discovery_cache.file_cache.Cache.set": {}}, "_index": 56}], ["methodid", {"name": {"googleapiclient.http.HttpRequest.methodId": {}}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}}, "kind": {}, "_index": 1007}], ["methods", {"name": {}, "names": {"googleapiclient.discovery.HTTP_PAYLOAD_METHODS": {}, "googleapiclient.discovery.Resource._set_service_methods": {}, "googleapiclient.discovery.Resource._add_basic_methods": {}, "googleapiclient.discovery.Resource._add_next_methods": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1302}], ["millisecond", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.expiration": {}}, "kind": {}, "_index": 555}], ["mime", {"name": {}, "names": {"googleapiclient.errors.UnacceptableMimeTypeError": {}, "googleapiclient.mimeparse.parse_mime_type": {}, "googleapiclient.discovery.MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE": {}}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}, "googleapiclient.mimeparse.parse_mime_type": {}, "googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.quality_parsed": {}, "googleapiclient.mimeparse.quality": {}, "googleapiclient.mimeparse.best_match": {}, "googleapiclient.http.MediaUpload.mimetype": {}, "googleapiclient.http.MediaIoBaseUpload.mimetype": {}}, "kind": {}, "_index": 157}], ["mimeparse", {"name": {"googleapiclient.mimeparse": {}}, "names": {"googleapiclient.mimeparse": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 155}], ["mimetyp", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.errors.UnacceptableMimeTypeError": {}}, "kind": {}, "_index": 457}], ["mimetype", {"name": {"googleapiclient.http.MediaUpload.mimetype": {}, "googleapiclient.http.MediaIoBaseUpload.mimetype": {}}, "names": {"googleapiclient.http.MediaUpload.mimetype": {}, "googleapiclient.http.MediaIoBaseUpload._mimetype": {}, "googleapiclient.http.MediaIoBaseUpload.mimetype": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 857}], ["mimetype='image/png',", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.HttpRequest.next_chunk": {}}, "kind": {}, "_index": 883}], ["missing", {"name": {}, "names": {"googleapiclient._helpers._MISSING_FILE_MESSAGE": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 326}], ["mock", {"name": {}, "names": {"googleapiclient.http.HttpRequestMock": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.HttpMock": {}, "googleapiclient.http.HttpMockSequence": {}}, "qname": {}, "docstring": {"googleapiclient.http.HttpRequestMock": {}, "googleapiclient.http.HttpRequestMock.execute": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.HttpMock": {}, "googleapiclient.http.HttpMockSequence": {}}, "kind": {}, "_index": 1115}], ["mode='wb')", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseDownload": {}}, "kind": {}, "_index": 948}], ["model", {"name": {"googleapiclient.model": {}, "googleapiclient.model.Model": {}}, "names": {"googleapiclient.model": {}, "googleapiclient.model.Model": {}, "googleapiclient.model.BaseModel": {}, "googleapiclient.model.JsonModel": {}, "googleapiclient.model.RawModel": {}, "googleapiclient.model.MediaModel": {}, "googleapiclient.model.ProtocolBufferModel": {}, "googleapiclient.discovery.Resource._model": {}}, "qname": {}, "docstring": {"googleapiclient.model": {}, "googleapiclient.model.Model": {}, "googleapiclient.model.BaseModel": {}, "googleapiclient.model.JsonModel": {}, "googleapiclient.model.RawModel": {}, "googleapiclient.model.MediaModel": {}, "googleapiclient.model.ProtocolBufferModel": {}}, "kind": {}, "_index": 195}], ["modifi", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.makepatch": {}}, "kind": {}, "_index": 755}], ["modul", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}, "googleapiclient.errors.Error": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.discovery_cache.autodetect": {}}, "kind": {}, "_index": 160}], ["module", {"name": {}, "names": {}, "qname": {}, "docstring": {}, "kind": {"googleapiclient._auth": {}, "googleapiclient._helpers": {}, "googleapiclient.channel": {}, "googleapiclient.discovery": {}, "googleapiclient.discovery_cache.appengine_memcache": {}, "googleapiclient.discovery_cache.base": {}, "googleapiclient.discovery_cache.file_cache": {}, "googleapiclient.errors": {}, "googleapiclient.http": {}, "googleapiclient.mimeparse": {}, "googleapiclient.model": {}, "googleapiclient.sample_tools": {}, "googleapiclient.schema": {}, "googleapiclient.version": {}}, "_index": 10}], ["monitor", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Notification.state": {}, "googleapiclient.channel.Notification.uri": {}}, "kind": {}, "_index": 527}], ["more", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model": {}, "googleapiclient.channel.Channel.__init__": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.discovery._cast": {}}, "kind": {}, "_index": 200}], ["mtls", {"name": {}, "names": {"googleapiclient.discovery.GOOGLE_API_USE_MTLS_ENDPOINT": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1322}], ["multipl", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery_cache.file_cache": {}, "googleapiclient.http._retry_request": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.BatchHttpRequest": {}}, "kind": {}, "_index": 130}], ["my_method(cls,", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 373}], ["my_method(self,", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 369}], ["myclass(object):", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 367}], ["n", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient._helpers.positional": {}, "googleapiclient.http._StreamSlice.read": {}}, "kind": {}, "_index": 90}], ["n.resource_st", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 97}], ["name", {"name": {}, "names": {"googleapiclient.errors.UnknownApiNameOrVersion": {}, "googleapiclient.schema.Schemas._prettyPrintByName": {}, "googleapiclient.schema.Schemas.prettyPrintByName": {}, "googleapiclient.discovery.fix_method_name": {}, "googleapiclient.discovery._findPageTokenName": {}}, "qname": {}, "docstring": {"googleapiclient.schema": {}, "googleapiclient._helpers.positional": {}, "googleapiclient.errors.UnknownApiNameOrVersion": {}, "googleapiclient.schema.Schemas._prettyPrintByName": {}, "googleapiclient.schema.Schemas.prettyPrintByName": {}, "googleapiclient.schema.Schemas.get": {}, "googleapiclient.discovery.fix_method_name": {}, "googleapiclient.discovery.key2param": {}, "googleapiclient.discovery.build": {}, "googleapiclient.discovery.ResourceMethodParameters.argmap": {}, "googleapiclient.discovery.ResourceMethodParameters.required_params": {}, "googleapiclient.discovery.ResourceMethodParameters.repeated_params": {}, "googleapiclient.discovery.ResourceMethodParameters.pattern_params": {}, "googleapiclient.discovery.ResourceMethodParameters.query_params": {}, "googleapiclient.discovery.ResourceMethodParameters.path_params": {}, "googleapiclient.discovery.ResourceMethodParameters.param_types": {}, "googleapiclient.discovery.ResourceMethodParameters.enum_params": {}, "googleapiclient.discovery._findPageTokenName": {}, "googleapiclient.sample_tools.init": {}}, "kind": {}, "_index": 263}], ["name/6.0\")", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.set_user_agent": {}, "googleapiclient.http.tunnel_patch": {}}, "kind": {}, "_index": 1216}], ["name='cow.png',", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.HttpRequest.next_chunk": {}}, "kind": {}, "_index": 888}], ["names", {"name": {}, "names": {"googleapiclient.discovery._PAGE_TOKEN_NAMES": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1315}], ["namespace", {"name": {"googleapiclient.discovery_cache.appengine_memcache.NAMESPACE": {}}, "names": {"googleapiclient.discovery_cache.appengine_memcache.NAMESPACE": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1563}], ["necessari", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._auth.with_scopes": {}, "googleapiclient.mimeparse.parse_media_range": {}}, "kind": {}, "_index": 286}], ["need", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.channel.Channel.update": {}, "googleapiclient.http.MediaUpload": {}}, "kind": {}, "_index": 72}], ["nested", {"name": {}, "names": {"googleapiclient.discovery.Resource._add_nested_resources": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1530}], ["netloc", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._fix_up_media_path_base_url": {}}, "kind": {}, "_index": 1416}], ["never", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.BatchHttpRequest.add": {}}, "kind": {}, "_index": 896}], ["new", {"name": {}, "names": {"googleapiclient.channel.new_webhook_channel": {}, "googleapiclient.http.MediaUpload.new_from_json": {}, "googleapiclient.http.BatchHttpRequest._new_id": {}}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient._helpers.update_query_params": {}, "googleapiclient.channel.Channel.__init__": {}, "googleapiclient.channel.new_webhook_channel": {}, "googleapiclient.http.MediaInMemoryUpload.__init__": {}, "googleapiclient.http.BatchHttpRequest._new_id": {}, "googleapiclient.http.BatchHttpRequest.add": {}}, "kind": {}, "_index": 44}], ["new_from_json", {"name": {"googleapiclient.http.MediaUpload.new_from_json": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 874}], ["new_webhook_channel", {"name": {"googleapiclient.channel.new_webhook_channel": {}}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.channel.Channel": {}}, "kind": {}, "_index": 49}], ["next", {"name": {}, "names": {"googleapiclient.http.MediaIoBaseDownload.next_chunk": {}, "googleapiclient.http.HttpRequest.next_chunk": {}, "googleapiclient.discovery.createNextMethod": {}, "googleapiclient.discovery.Resource._add_next_methods": {}}, "qname": {}, "docstring": {"googleapiclient.schema": {}, "googleapiclient.http.MediaIoBaseDownload.next_chunk": {}, "googleapiclient.http.HttpRequest.next_chunk": {}}, "kind": {}, "_index": 245}], ["next_chunk", {"name": {"googleapiclient.http.MediaIoBaseDownload.next_chunk": {}, "googleapiclient.http.HttpRequest.next_chunk": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 979}], ["nextpagetoken", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}}, "kind": {}, "_index": 243}], ["no", {"name": {}, "names": {"googleapiclient.model.BaseModel.no_content_response": {}, "googleapiclient.model.JsonModel.no_content_response": {}, "googleapiclient.model.RawModel.no_content_response": {}, "googleapiclient.model.MediaModel.no_content_response": {}, "googleapiclient.model.ProtocolBufferModel.no_content_response": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 684}], ["no_content_response", {"name": {"googleapiclient.model.BaseModel.no_content_response": {}, "googleapiclient.model.JsonModel.no_content_response": {}, "googleapiclient.model.RawModel.no_content_response": {}, "googleapiclient.model.MediaModel.no_content_response": {}, "googleapiclient.model.ProtocolBufferModel.no_content_response": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 683}], ["none", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpRequest.next_chunk": {}, "googleapiclient.http.BatchHttpRequest": {}, "googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 1036}], ["not_exist", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 104}], ["note", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.MediaIoBaseDownload": {}}, "kind": {}, "_index": 24}], ["noth", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 383}], ["notif", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.errors.InvalidNotificationError": {}, "googleapiclient.channel.Notification": {}, "googleapiclient.channel.Notification.message_number": {}, "googleapiclient.channel.Notification.__init__": {}, "googleapiclient.channel.Channel": {}, "googleapiclient.channel.notification_from_headers": {}}, "kind": {}, "_index": 19}], ["notification", {"name": {"googleapiclient.channel.Notification": {}}, "names": {"googleapiclient.errors.InvalidNotificationError": {}, "googleapiclient.channel.Notification": {}, "googleapiclient.channel.notification_from_headers": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 475}], ["notification_from_head", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Notification": {}}, "kind": {}, "_index": 520}], ["notification_from_headers", {"name": {"googleapiclient.channel.notification_from_headers": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 578}], ["notification_from_headers(channel,", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 91}], ["now", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.sample_tools.init": {}}, "kind": {}, "_index": 70}], ["null", {"name": {}, "names": {"googleapiclient.http.HttpRequest.null_postproc": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1045}], ["null_postproc", {"name": {"googleapiclient.http.HttpRequest.null_postproc": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1044}], ["number", {"name": {}, "names": {"googleapiclient.channel.X_GOOG_MESSAGE_NUMBER": {}, "googleapiclient.channel.Notification.message_number": {}}, "qname": {}, "docstring": {"googleapiclient.channel.Notification.message_number": {}, "googleapiclient.http.BatchHttpRequest._new_id": {}, "googleapiclient.discovery.ResourceMethodParameters.param_types": {}}, "kind": {}, "_index": 504}], ["oauth", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.tunnel_patch": {}}, "kind": {}, "_index": 1228}], ["oauth2client", {"name": {}, "names": {"googleapiclient._auth.HAS_OAUTH2CLIENT": {}}, "qname": {}, "docstring": {"googleapiclient._auth": {}}, "kind": {}, "_index": 8}], ["object", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http": {}, "googleapiclient.model": {}, "googleapiclient.schema": {}, "googleapiclient.channel.notification_from_headers": {}, "googleapiclient.model.Model": {}, "googleapiclient.model.Model.response": {}, "googleapiclient.model.BaseModel.response": {}, "googleapiclient.model.BaseModel.serialize": {}, "googleapiclient.model.BaseModel.deserialize": {}, "googleapiclient.model.JsonModel": {}, "googleapiclient.model.JsonModel.serialize": {}, "googleapiclient.model.JsonModel.deserialize": {}, "googleapiclient.model.RawModel": {}, "googleapiclient.model.RawModel.deserialize": {}, "googleapiclient.model.MediaModel": {}, "googleapiclient.model.MediaModel.deserialize": {}, "googleapiclient.model.ProtocolBufferModel.serialize": {}, "googleapiclient.model.ProtocolBufferModel.deserialize": {}, "googleapiclient.model.makepatch": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaIoBaseDownload": {}, "googleapiclient.http.HttpRequest.next_chunk": {}, "googleapiclient.http.HttpRequest.from_json": {}, "googleapiclient.http.BatchHttpRequest": {}, "googleapiclient.http.BatchHttpRequest._serialize_request": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}, "googleapiclient.http.RequestMockBuilder.__call__": {}, "googleapiclient.http.build_http": {}, "googleapiclient.schema.Schemas._prettyPrintByName": {}, "googleapiclient.schema.Schemas.prettyPrintByName": {}, "googleapiclient.schema.Schemas._prettyPrintSchema": {}, "googleapiclient.schema.Schemas.prettyPrintSchema": {}, "googleapiclient.schema._SchemaToStruct": {}, "googleapiclient.schema._SchemaToStruct._to_str_impl": {}, "googleapiclient.schema._SchemaToStruct.to_str": {}, "googleapiclient.discovery.build": {}, "googleapiclient.discovery.build_from_document": {}, "googleapiclient.discovery._fix_up_parameters": {}, "googleapiclient.discovery.ResourceMethodParameters.param_types": {}, "googleapiclient.discovery.Resource.__setstate__": {}}, "kind": {}, "_index": 152}], ["occur", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.update_query_params": {}, "googleapiclient.errors.ResumableUploadError": {}, "googleapiclient.errors.BatchError": {}}, "kind": {}, "_index": 403}], ["ok", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}, "googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 351}], ["omit", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}}, "kind": {}, "_index": 248}], ["on", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model": {}, "googleapiclient.discovery.build_from_document": {}, "googleapiclient.discovery._findPageTokenName": {}}, "kind": {}, "_index": 199}], ["opaqu", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.resource_id": {}}, "kind": {}, "_index": 561}], ["oper", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.errors.UnacceptableMimeTypeError": {}, "googleapiclient.errors.BatchError": {}}, "kind": {}, "_index": 458}], ["oppos", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.build_from_document": {}}, "kind": {}, "_index": 1377}], ["opt_expected_bodi", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 1131}], ["options", {"name": {}, "names": {"googleapiclient.discovery._discovery_service_uri_options": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1363}], ["or", {"name": {}, "names": {"googleapiclient.errors.UnknownApiNameOrVersion": {}, "googleapiclient.discovery_cache.file_cache._read_or_initialize_cache": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 451}], ["order", {"name": {}, "names": {"googleapiclient.http.BatchHttpRequest._order": {}}, "qname": {}, "docstring": {"googleapiclient.mimeparse.best_match": {}}, "kind": {}, "_index": 642}], ["origin", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.makepatch": {}, "googleapiclient.http._StreamSlice": {}}, "kind": {}, "_index": 760}], ["outgo", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.Model.request": {}, "googleapiclient.model.BaseModel.request": {}}, "kind": {}, "_index": 673}], ["output", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}, "googleapiclient.schema._SchemaToStruct.emit": {}, "googleapiclient.schema._SchemaToStruct.emitBegin": {}, "googleapiclient.schema._SchemaToStruct.emitEnd": {}}, "kind": {}, "_index": 258}], ["over", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.token": {}, "googleapiclient.http.tunnel_patch": {}, "googleapiclient.discovery.build_from_document": {}}, "kind": {}, "_index": 549}], ["overrid", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.build_http": {}}, "kind": {}, "_index": 1233}], ["overridden", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._fix_up_media_path_base_url": {}}, "kind": {}, "_index": 1418}], ["package", {"name": {}, "names": {}, "qname": {}, "docstring": {}, "kind": {"googleapiclient": {}, "googleapiclient.discovery_cache": {}}, "_index": 1}], ["page", {"name": {}, "names": {"googleapiclient.discovery._PAGE_TOKEN_NAMES": {}, "googleapiclient.discovery._findPageTokenName": {}}, "qname": {}, "docstring": {"googleapiclient.schema": {}, "googleapiclient.discovery._findPageTokenName": {}}, "kind": {}, "_index": 246}], ["pair", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest.add": {}}, "kind": {}, "_index": 1103}], ["param", {"name": {}, "names": {"googleapiclient.model.BaseModel.alt_param": {}, "googleapiclient.model.JsonModel.alt_param": {}, "googleapiclient.model.RawModel.alt_param": {}, "googleapiclient.model.MediaModel.alt_param": {}, "googleapiclient.model.ProtocolBufferModel.alt_param": {}, "googleapiclient.discovery.ResourceMethodParameters.param_types": {}}, "qname": {}, "docstring": {"googleapiclient._helpers.update_query_params": {}, "googleapiclient.mimeparse.parse_mime_type": {}, "googleapiclient.mimeparse.parse_media_range": {}}, "kind": {}, "_index": 400}], ["param_types", {"name": {"googleapiclient.discovery.ResourceMethodParameters.param_types": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1443}], ["paramet", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}, "googleapiclient._helpers.positional": {}, "googleapiclient._helpers.parse_unique_urlencoded": {}, "googleapiclient._helpers.update_query_params": {}, "googleapiclient._helpers._add_query_parameter": {}, "googleapiclient.channel.Channel.params": {}, "googleapiclient.mimeparse.parse_mime_type": {}, "googleapiclient.mimeparse.parse_media_range": {}, "googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.quality_parsed": {}, "googleapiclient.model.BaseModel.alt_param": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.RequestMockBuilder.__call__": {}, "googleapiclient.discovery.key2param": {}, "googleapiclient.discovery._fix_up_parameters": {}, "googleapiclient.discovery._fix_up_media_upload": {}, "googleapiclient.discovery._fix_up_method_description": {}, "googleapiclient.discovery.ResourceMethodParameters": {}, "googleapiclient.discovery.ResourceMethodParameters.argmap": {}, "googleapiclient.discovery.ResourceMethodParameters.required_params": {}, "googleapiclient.discovery.ResourceMethodParameters.repeated_params": {}, "googleapiclient.discovery.ResourceMethodParameters.pattern_params": {}, "googleapiclient.discovery.ResourceMethodParameters.query_params": {}, "googleapiclient.discovery.ResourceMethodParameters.path_params": {}, "googleapiclient.discovery.ResourceMethodParameters.param_types": {}, "googleapiclient.discovery.ResourceMethodParameters.enum_params": {}, "googleapiclient.discovery.ResourceMethodParameters.set_parameters": {}}, "kind": {}, "_index": 185}], ["parameter", {"name": {}, "names": {"googleapiclient._helpers._add_query_parameter": {}, "googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery.MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 408}], ["parameters", {"name": {}, "names": {"googleapiclient.discovery.STACK_QUERY_PARAMETERS": {}, "googleapiclient.discovery._fix_up_parameters": {}, "googleapiclient.discovery.ResourceMethodParameters": {}, "googleapiclient.discovery.ResourceMethodParameters.set_parameters": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1332}], ["params", {"name": {"googleapiclient.channel.Channel.params": {}}, "names": {"googleapiclient._helpers.update_query_params": {}, "googleapiclient.channel.CHANNEL_PARAMS": {}, "googleapiclient.channel.Channel.params": {}, "googleapiclient.discovery.ResourceMethodParameters.required_params": {}, "googleapiclient.discovery.ResourceMethodParameters.repeated_params": {}, "googleapiclient.discovery.ResourceMethodParameters.pattern_params": {}, "googleapiclient.discovery.ResourceMethodParameters.query_params": {}, "googleapiclient.discovery.ResourceMethodParameters.path_params": {}, "googleapiclient.discovery.ResourceMethodParameters.enum_params": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 396}], ["pars", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.mimeparse": {}, "googleapiclient._helpers.parse_unique_urlencoded": {}, "googleapiclient.errors.InvalidJsonError": {}, "googleapiclient.channel.notification_from_headers": {}, "googleapiclient.mimeparse.parse_mime_type": {}, "googleapiclient.mimeparse.parse_media_range": {}, "googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.quality_parsed": {}, "googleapiclient.discovery.ResourceMethodParameters.set_parameters": {}}, "kind": {}, "_index": 87}], ["parse", {"name": {}, "names": {"googleapiclient._helpers.parse_unique_urlencoded": {}, "googleapiclient.mimeparse.parse_mime_type": {}, "googleapiclient.mimeparse.parse_media_range": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 387}], ["parse_media_rang", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}, "googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.quality_parsed": {}}, "kind": {}, "_index": 180}], ["parse_media_range", {"name": {"googleapiclient.mimeparse.parse_media_range": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 606}], ["parse_mime_typ", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}}, "kind": {}, "_index": 177}], ["parse_mime_type", {"name": {"googleapiclient.mimeparse.parse_mime_type": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 598}], ["parse_unique_urlencoded", {"name": {"googleapiclient._helpers.parse_unique_urlencoded": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 386}], ["parsed", {"name": {}, "names": {"googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.quality_parsed": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 617}], ["parsed_rang", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.quality_parsed": {}}, "kind": {}, "_index": 628}], ["parser", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}}, "kind": {}, "_index": 159}], ["part", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}, "googleapiclient.mimeparse.parse_mime_type": {}, "googleapiclient.mimeparse.parse_media_range": {}}, "kind": {}, "_index": 179}], ["particular", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}}, "kind": {}, "_index": 854}], ["particularli", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}}, "kind": {}, "_index": 830}], ["pass", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.__init__": {}, "googleapiclient.channel.Channel.body": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http._StreamSlice": {}, "googleapiclient.http.HttpRequest.next_chunk": {}, "googleapiclient.http.BatchHttpRequest": {}, "googleapiclient.http.BatchHttpRequest.add": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.HttpMockSequence": {}}, "kind": {}, "_index": 571}], ["patch", {"name": {}, "names": {"googleapiclient.http.tunnel_patch": {}}, "qname": {}, "docstring": {"googleapiclient.model.makepatch": {}, "googleapiclient.http.tunnel_patch": {}}, "kind": {}, "_index": 750}], ["path", {"name": {}, "names": {"googleapiclient.discovery._media_path_url_from_info": {}, "googleapiclient.discovery._fix_up_media_path_base_url": {}, "googleapiclient.discovery.ResourceMethodParameters.path_params": {}}, "qname": {}, "docstring": {"googleapiclient.discovery._media_path_url_from_info": {}, "googleapiclient.discovery.ResourceMethodParameters.path_params": {}}, "kind": {}, "_index": 1391}], ["path_params", {"name": {"googleapiclient.discovery.ResourceMethodParameters.path_params": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1441}], ["pattern", {"name": {}, "names": {"googleapiclient.discovery.ResourceMethodParameters.pattern_params": {}}, "qname": {}, "docstring": {"googleapiclient.http": {}, "googleapiclient.discovery.ResourceMethodParameters.pattern_params": {}}, "kind": {}, "_index": 151}], ["pattern_params", {"name": {"googleapiclient.discovery.ResourceMethodParameters.pattern_params": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1435}], ["payload", {"name": {}, "names": {"googleapiclient.discovery.HTTP_PAYLOAD_METHODS": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1301}], ["percent", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUploadProgress.progress": {}, "googleapiclient.http.MediaDownloadProgress.progress": {}}, "kind": {}, "_index": 813}], ["perform", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.BaseModel.serialize": {}, "googleapiclient.model.BaseModel.deserialize": {}, "googleapiclient.model.JsonModel.serialize": {}, "googleapiclient.model.JsonModel.deserialize": {}, "googleapiclient.model.RawModel.deserialize": {}, "googleapiclient.model.MediaModel.deserialize": {}, "googleapiclient.model.ProtocolBufferModel.serialize": {}, "googleapiclient.model.ProtocolBufferModel.deserialize": {}}, "kind": {}, "_index": 702}], ["pickl", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.Resource.__getstate__": {}, "googleapiclient.discovery.Resource.__setstate__": {}}, "kind": {}, "_index": 1508}], ["place", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http._StreamSlice": {}}, "kind": {}, "_index": 986}], ["platform", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.tunnel_patch": {}}, "kind": {}, "_index": 843}], ["popul", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpRequest.from_json": {}, "googleapiclient.discovery.ResourceMethodParameters.__init__": {}, "googleapiclient.discovery.ResourceMethodParameters.set_parameters": {}}, "kind": {}, "_index": 1042}], ["pos1", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 370}], ["posit", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 333}], ["positional", {"name": {"googleapiclient._helpers.positional": {}}, "names": {"googleapiclient._helpers.POSITIONAL_WARNING": {}, "googleapiclient._helpers.POSITIONAL_EXCEPTION": {}, "googleapiclient._helpers.POSITIONAL_IGNORE": {}, "googleapiclient._helpers.POSITIONAL_SET": {}, "googleapiclient._helpers.positional": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 305}], ["positional_except", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 378}], ["positional_exception", {"name": {"googleapiclient._helpers.POSITIONAL_EXCEPTION": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 309}], ["positional_ignor", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 380}], ["positional_ignore", {"name": {"googleapiclient._helpers.POSITIONAL_IGNORE": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 312}], ["positional_set", {"name": {"googleapiclient._helpers.POSITIONAL_SET": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 315}], ["positional_warn", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 379}], ["positional_warning", {"name": {"googleapiclient._helpers.POSITIONAL_WARNING": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 304}], ["possibl", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}, "googleapiclient.http.MediaUpload": {}}, "kind": {}, "_index": 338}], ["post", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.tunnel_patch": {}}, "kind": {}, "_index": 1224}], ["postproc", {"name": {"googleapiclient.http.HttpRequest.postproc": {}, "googleapiclient.http.HttpRequestMock.postproc": {}}, "names": {"googleapiclient.http.HttpRequest.postproc": {}, "googleapiclient.http.HttpRequest.null_postproc": {}, "googleapiclient.http.HttpRequestMock.postproc": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1010}], ["pre", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}}, "kind": {}, "_index": 190}], ["present", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http._StreamSlice": {}}, "kind": {}, "_index": 985}], ["presum", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest._header_to_id": {}}, "kind": {}, "_index": 1090}], ["pretti", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}, "googleapiclient.schema.Schemas._prettyPrintByName": {}, "googleapiclient.schema.Schemas.prettyPrintByName": {}, "googleapiclient.schema.Schemas._prettyPrintSchema": {}, "googleapiclient.schema.Schemas.prettyPrintSchema": {}}, "kind": {}, "_index": 225}], ["pretty", {"name": {"googleapiclient.schema.Schemas.pretty": {}}, "names": {"googleapiclient.schema.Schemas.pretty": {}, "googleapiclient.schema.Schemas._prettyPrintByName": {}, "googleapiclient.schema.Schemas.prettyPrintByName": {}, "googleapiclient.schema.Schemas._prettyPrintSchema": {}, "googleapiclient.schema.Schemas.prettyPrintSchema": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1241}], ["prettyprintbyname", {"name": {"googleapiclient.schema.Schemas.prettyPrintByName": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1246}], ["prettyprintschema", {"name": {"googleapiclient.schema.Schemas.prettyPrintSchema": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1250}], ["print", {"name": {}, "names": {"googleapiclient.schema.Schemas._prettyPrintByName": {}, "googleapiclient.schema.Schemas.prettyPrintByName": {}, "googleapiclient.schema.Schemas._prettyPrintSchema": {}, "googleapiclient.schema.Schemas.prettyPrintSchema": {}}, "qname": {}, "docstring": {"googleapiclient.schema": {}, "googleapiclient.http.MediaIoBaseDownload": {}, "googleapiclient.http.HttpRequest.next_chunk": {}, "googleapiclient.schema.Schemas._prettyPrintByName": {}, "googleapiclient.schema.Schemas.prettyPrintByName": {}, "googleapiclient.schema.Schemas._prettyPrintSchema": {}, "googleapiclient.schema.Schemas.prettyPrintSchema": {}}, "kind": {}, "_index": 226}], ["problem", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http._StreamSlice": {}}, "kind": {}, "_index": 987}], ["process", {"name": {}, "names": {"googleapiclient.http.HttpRequest._process_response": {}}, "qname": {}, "docstring": {"googleapiclient.discovery_cache.file_cache": {}, "googleapiclient.schema": {}, "googleapiclient.http.HttpRequest._process_response": {}, "googleapiclient.http.BatchHttpRequest._execute": {}}, "kind": {}, "_index": 131}], ["produc", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}, "googleapiclient.http.MediaUpload.new_from_json": {}}, "kind": {}, "_index": 256}], ["progress", {"name": {"googleapiclient.http.MediaUploadProgress.progress": {}, "googleapiclient.http.MediaDownloadProgress.progress": {}}, "names": {"googleapiclient.http.MediaUploadProgress": {}, "googleapiclient.http.MediaUploadProgress.resumable_progress": {}, "googleapiclient.http.MediaUploadProgress.progress": {}, "googleapiclient.http.MediaDownloadProgress": {}, "googleapiclient.http.MediaDownloadProgress.resumable_progress": {}, "googleapiclient.http.MediaDownloadProgress.progress": {}, "googleapiclient.http.MediaIoBaseDownload._progress": {}, "googleapiclient.http.HttpRequest.resumable_progress": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 804}], ["project", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 1149}], ["proper", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.parse_media_range": {}}, "kind": {}, "_index": 612}], ["properti", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}, "googleapiclient.discovery._methodProperties": {}}, "kind": {}, "_index": 233}], ["properties", {"name": {}, "names": {"googleapiclient.discovery._methodProperties": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1545}], ["property", {"name": {}, "names": {}, "qname": {}, "docstring": {}, "kind": {"googleapiclient.errors.HttpError.status_code": {}, "googleapiclient.model.JsonModel.no_content_response": {}, "googleapiclient.model.RawModel.no_content_response": {}, "googleapiclient.model.MediaModel.no_content_response": {}, "googleapiclient.model.ProtocolBufferModel.no_content_response": {}}, "_index": 436}], ["protocol", {"name": {}, "names": {"googleapiclient.model.ProtocolBufferModel": {}, "googleapiclient.model.ProtocolBufferModel._protocol_buffer": {}}, "qname": {}, "docstring": {"googleapiclient.model.ProtocolBufferModel": {}, "googleapiclient.model.ProtocolBufferModel.__init__": {}}, "kind": {}, "_index": 735}], ["protocolbuffermodel", {"name": {"googleapiclient.model.ProtocolBufferModel": {}}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.ProtocolBufferModel.__init__": {}}, "kind": {}, "_index": 734}], ["prototyp", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}, "googleapiclient.schema.Schemas._prettyPrintByName": {}, "googleapiclient.schema.Schemas.prettyPrintByName": {}, "googleapiclient.schema.Schemas._prettyPrintSchema": {}, "googleapiclient.schema.Schemas.prettyPrintSchema": {}, "googleapiclient.schema._SchemaToStruct": {}, "googleapiclient.schema._SchemaToStruct._to_str_impl": {}, "googleapiclient.schema._SchemaToStruct.to_str": {}}, "kind": {}, "_index": 227}], ["provid", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}, "googleapiclient._helpers.positional": {}, "googleapiclient.model.BaseModel": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.discovery_cache.get_static_doc": {}}, "kind": {}, "_index": 161}], ["put", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 76}], ["py", {"name": {}, "names": {"googleapiclient.model._PY_VERSION": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 660}], ["python", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model": {}, "googleapiclient._helpers.positional": {}, "googleapiclient.model.Model": {}, "googleapiclient.model.Model.response": {}, "googleapiclient.model.BaseModel.response": {}, "googleapiclient.model.BaseModel.serialize": {}, "googleapiclient.model.BaseModel.deserialize": {}, "googleapiclient.model.JsonModel": {}, "googleapiclient.model.JsonModel.serialize": {}, "googleapiclient.model.JsonModel.deserialize": {}, "googleapiclient.model.RawModel": {}, "googleapiclient.model.RawModel.deserialize": {}, "googleapiclient.model.MediaModel": {}, "googleapiclient.model.MediaModel.deserialize": {}, "googleapiclient.model.ProtocolBufferModel.serialize": {}, "googleapiclient.model.ProtocolBufferModel.deserialize": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.MediaIoBaseDownload": {}, "googleapiclient.http._StreamSlice": {}, "googleapiclient.schema._SchemaToStruct._to_str_impl": {}, "googleapiclient.schema._SchemaToStruct.to_str": {}}, "kind": {}, "_index": 209}], ["q", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}, "googleapiclient.mimeparse.parse_mime_type": {}, "googleapiclient.mimeparse.parse_media_range": {}, "googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.quality_parsed": {}, "googleapiclient.mimeparse.quality": {}, "googleapiclient.mimeparse.best_match": {}}, "kind": {}, "_index": 183}], ["q=0.1')", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.best_match": {}}, "kind": {}, "_index": 650}], ["qualiti", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}, "googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.quality_parsed": {}, "googleapiclient.mimeparse.quality": {}, "googleapiclient.mimeparse.best_match": {}}, "kind": {}, "_index": 184}], ["quality", {"name": {"googleapiclient.mimeparse.quality": {}}, "names": {"googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.quality_parsed": {}, "googleapiclient.mimeparse.quality": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 616}], ["quality('text/html','text/*;q=0.3,", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.quality": {}}, "kind": {}, "_index": 634}], ["quality_pars", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}, "googleapiclient.mimeparse.fitness_and_quality_parsed": {}}, "kind": {}, "_index": 188}], ["quality_parsed", {"name": {"googleapiclient.mimeparse.quality_parsed": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 629}], ["queri", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.update_query_params": {}, "googleapiclient._helpers._add_query_parameter": {}, "googleapiclient.model.BaseModel.alt_param": {}, "googleapiclient.model.BaseModel._build_query": {}, "googleapiclient.discovery.ResourceMethodParameters.argmap": {}, "googleapiclient.discovery.ResourceMethodParameters.query_params": {}}, "kind": {}, "_index": 399}], ["query", {"name": {}, "names": {"googleapiclient._helpers.update_query_params": {}, "googleapiclient._helpers._add_query_parameter": {}, "googleapiclient.model.BaseModel._build_query": {}, "googleapiclient.discovery.STACK_QUERY_PARAMETERS": {}, "googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery.ResourceMethodParameters.query_params": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 395}], ["query_params", {"name": {"googleapiclient.discovery.ResourceMethodParameters.query_params": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1439}], ["rais", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}, "googleapiclient.errors.UnexpectedMethodError": {}, "googleapiclient.errors.UnexpectedBodyError": {}, "googleapiclient.http.BatchHttpRequest.add": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}}, "kind": {}, "_index": 349}], ["rand", {"name": {}, "names": {"googleapiclient.http.MediaIoBaseDownload._rand": {}, "googleapiclient.http.HttpRequest._rand": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 975}], ["rang", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}, "googleapiclient.mimeparse.parse_mime_type": {}, "googleapiclient.mimeparse.parse_media_range": {}, "googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.quality_parsed": {}, "googleapiclient.mimeparse.quality": {}, "googleapiclient.mimeparse.best_match": {}}, "kind": {}, "_index": 167}], ["range", {"name": {}, "names": {"googleapiclient.mimeparse.parse_media_range": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 607}], ["rare", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.set_user_agent": {}}, "kind": {}, "_index": 1218}], ["raw", {"name": {}, "names": {"googleapiclient.model.RawModel": {}}, "qname": {}, "docstring": {"googleapiclient.model.RawModel": {}, "googleapiclient.model.MediaModel": {}}, "kind": {}, "_index": 718}], ["rawmodel", {"name": {"googleapiclient.model.RawModel": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 717}], ["read", {"name": {"googleapiclient.http._StreamSlice.read": {}}, "names": {"googleapiclient.http._StreamSlice.read": {}, "googleapiclient.discovery_cache.file_cache._read_or_initialize_cache": {}}, "qname": {}, "docstring": {"googleapiclient.http._StreamSlice": {}, "googleapiclient.http._StreamSlice.read": {}}, "kind": {}, "_index": 989}], ["realli", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpRequestMock.execute": {}}, "kind": {}, "_index": 1123}], ["reason", {"name": {"googleapiclient.errors.HttpError.reason": {}, "googleapiclient.errors.BatchError.reason": {}}, "names": {"googleapiclient.errors.HttpError.reason": {}, "googleapiclient.errors.HttpError._get_reason": {}, "googleapiclient.errors.BatchError.reason": {}}, "qname": {}, "docstring": {"googleapiclient.errors.HttpError._get_reason": {}}, "kind": {}, "_index": 430}], ["receiv", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.channel.Channel.address": {}}, "kind": {}, "_index": 35}], ["reconstitut", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.Resource.__setstate__": {}}, "kind": {}, "_index": 1517}], ["redirects", {"name": {}, "names": {"googleapiclient.http.HttpMockSequence.follow_redirects": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1205}], ["refer", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.ResourceMethodParameters.param_types": {}}, "kind": {}, "_index": 1447}], ["refresh", {"name": {}, "names": {"googleapiclient._auth.refresh_credentials": {}, "googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials": {}}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials": {}}, "kind": {}, "_index": 292}], ["refresh_credentials", {"name": {"googleapiclient._auth.refresh_credentials": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 291}], ["refreshed", {"name": {}, "names": {"googleapiclient.http.BatchHttpRequest._refreshed_credentials": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1081}], ["regular", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.ResourceMethodParameters.pattern_params": {}}, "kind": {}, "_index": 1437}], ["rel", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._media_path_url_from_info": {}}, "kind": {}, "_index": 1395}], ["rememb", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 362}], ["repeat", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.sample_tools": {}, "googleapiclient._helpers.update_query_params": {}, "googleapiclient.discovery.ResourceMethodParameters.repeated_params": {}}, "kind": {}, "_index": 219}], ["repeated", {"name": {}, "names": {"googleapiclient.discovery.ResourceMethodParameters.repeated_params": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1433}], ["repeated_params", {"name": {"googleapiclient.discovery.ResourceMethodParameters.repeated_params": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1432}], ["replac", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.update_query_params": {}, "googleapiclient._helpers._add_query_parameter": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}, "googleapiclient.discovery._urljoin": {}}, "kind": {}, "_index": 404}], ["repr", {"name": {}, "names": {"googleapiclient.errors.HttpError.__repr__": {}, "googleapiclient.errors.BatchError.__repr__": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 441}], ["repres", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.ResourceMethodParameters": {}, "googleapiclient.discovery.ResourceMethodParameters.required_params": {}, "googleapiclient.discovery.ResourceMethodParameters.repeated_params": {}, "googleapiclient.discovery.ResourceMethodParameters.query_params": {}, "googleapiclient.discovery.ResourceMethodParameters.path_params": {}}, "kind": {}, "_index": 1426}], ["represent", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model": {}, "googleapiclient.model.Model": {}, "googleapiclient.model.JsonModel": {}, "googleapiclient.model.RawModel": {}, "googleapiclient.model.MediaModel": {}, "googleapiclient.http.MediaUpload._to_json": {}, "googleapiclient.http.MediaUpload.to_json": {}, "googleapiclient.http.MediaUpload.new_from_json": {}, "googleapiclient.http.MediaFileUpload.to_json": {}, "googleapiclient.http.HttpRequest.to_json": {}}, "kind": {}, "_index": 210}], ["request", {"name": {"googleapiclient.model.Model.request": {}, "googleapiclient.model.BaseModel.request": {}, "googleapiclient.http.HttpMock.request": {}, "googleapiclient.http.HttpMockSequence.request": {}}, "names": {"googleapiclient.model.dump_request_response": {}, "googleapiclient.model.Model.request": {}, "googleapiclient.model.BaseModel._log_request": {}, "googleapiclient.model.BaseModel.request": {}, "googleapiclient.http._retry_request": {}, "googleapiclient.http.MediaIoBaseDownload._request": {}, "googleapiclient.http.HttpRequest": {}, "googleapiclient.http.BatchHttpRequest": {}, "googleapiclient.http.BatchHttpRequest._serialize_request": {}, "googleapiclient.http.HttpRequestMock": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.HttpMock.request": {}, "googleapiclient.http.HttpMockSequence.request_sequence": {}, "googleapiclient.http.HttpMockSequence.request": {}, "googleapiclient.discovery.Resource._requestBuilder": {}}, "qname": {}, "docstring": {"googleapiclient.http": {}, "googleapiclient.model": {}, "googleapiclient.channel.Channel.update": {}, "googleapiclient.channel.notification_from_headers": {}, "googleapiclient.model.Model.request": {}, "googleapiclient.model.BaseModel.alt_param": {}, "googleapiclient.model.BaseModel._log_request": {}, "googleapiclient.model.BaseModel.request": {}, "googleapiclient.model.BaseModel._log_response": {}, "googleapiclient.model.JsonModel": {}, "googleapiclient.model.RawModel": {}, "googleapiclient.model.MediaModel": {}, "googleapiclient.model.ProtocolBufferModel": {}, "googleapiclient.http._retry_request": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.MediaIoBaseDownload": {}, "googleapiclient.http.HttpRequest": {}, "googleapiclient.http.HttpRequest.execute": {}, "googleapiclient.http.HttpRequest.next_chunk": {}, "googleapiclient.http.BatchHttpRequest": {}, "googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials": {}, "googleapiclient.http.BatchHttpRequest.add": {}, "googleapiclient.http.BatchHttpRequest._execute": {}, "googleapiclient.http.BatchHttpRequest.execute": {}, "googleapiclient.http.HttpRequestMock.execute": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.HttpMockSequence": {}, "googleapiclient.http.set_user_agent": {}, "googleapiclient.http.tunnel_patch": {}, "googleapiclient.http.build_http": {}}, "kind": {}, "_index": 149}], ["request.next_chunk()", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpRequest.next_chunk": {}}, "kind": {}, "_index": 1037}], ["request/response.", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpRequestMock.execute": {}}, "kind": {}, "_index": 1124}], ["request_id", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest.add": {}}, "kind": {}, "_index": 1104}], ["request_sequence", {"name": {"googleapiclient.http.HttpMockSequence.request_sequence": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1207}], ["requestbuild", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.RequestMockBuilder.__call__": {}}, "kind": {}, "_index": 1138}], ["requestbuilder=requestbuilder)", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 1143}], ["requestmockbuild", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.errors.UnexpectedMethodError": {}, "googleapiclient.errors.UnexpectedBodyError": {}, "googleapiclient.http.HttpRequestMock": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}}, "kind": {}, "_index": 488}], ["requestmockbuilder", {"name": {"googleapiclient.http.RequestMockBuilder": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1125}], ["requests", {"name": {}, "names": {"googleapiclient.http._TOO_MANY_REQUESTS": {}, "googleapiclient.http.BatchHttpRequest._requests": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 780}], ["requir", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}, "googleapiclient.discovery.ResourceMethodParameters.required_params": {}}, "kind": {}, "_index": 355}], ["required", {"name": {}, "names": {"googleapiclient.discovery.ResourceMethodParameters.required_params": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1430}], ["required_params", {"name": {"googleapiclient.discovery.ResourceMethodParameters.required_params": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1429}], ["reserv", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.fix_method_name": {}}, "kind": {}, "_index": 1353}], ["reserved", {"name": {}, "names": {"googleapiclient.discovery.RESERVED_WORDS": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1341}], ["reserved_words", {"name": {"googleapiclient.discovery.RESERVED_WORDS": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1340}], ["resourc", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Notification.state": {}, "googleapiclient.channel.Notification.uri": {}, "googleapiclient.channel.Notification.resource_id": {}, "googleapiclient.channel.Channel.resource_id": {}, "googleapiclient.channel.Channel.resource_uri": {}, "googleapiclient.channel.Channel.update": {}, "googleapiclient.model.makepatch": {}, "googleapiclient.http.MediaIoBaseDownload": {}, "googleapiclient.discovery.build": {}, "googleapiclient.discovery._discovery_service_uri_options": {}, "googleapiclient.discovery.build_from_document": {}, "googleapiclient.discovery.createMethod": {}, "googleapiclient.discovery.createNextMethod": {}, "googleapiclient.discovery.Resource": {}, "googleapiclient.discovery.Resource.__init__": {}}, "kind": {}, "_index": 526}], ["resource", {"name": {"googleapiclient.discovery.Resource": {}}, "names": {"googleapiclient.channel.X_GOOG_RESOURCE_STATE": {}, "googleapiclient.channel.X_GOOG_RESOURCE_URI": {}, "googleapiclient.channel.X_GOOG_RESOURCE_ID": {}, "googleapiclient.channel.Notification.resource_id": {}, "googleapiclient.channel.Notification.resource_uri": {}, "googleapiclient.channel.Channel.resource_id": {}, "googleapiclient.channel.Channel.resource_uri": {}, "googleapiclient.discovery.ResourceMethodParameters": {}, "googleapiclient.discovery.Resource": {}, "googleapiclient.discovery.Resource._resourceDesc": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 507}], ["resource_id", {"name": {"googleapiclient.channel.Notification.resource_id": {}, "googleapiclient.channel.Channel.resource_id": {}}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.channel.Channel.update": {}}, "kind": {}, "_index": 68}], ["resource_uri", {"name": {"googleapiclient.channel.Notification.resource_uri": {}, "googleapiclient.channel.Channel.resource_uri": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 534}], ["resourcemethodparamet", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.ResourceMethodParameters.__init__": {}}, "kind": {}, "_index": 1454}], ["resourcemethodparameters", {"name": {"googleapiclient.discovery.ResourceMethodParameters": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1424}], ["resources", {"name": {}, "names": {"googleapiclient.discovery.Resource._add_nested_resources": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1531}], ["resp", {"name": {"googleapiclient.errors.HttpError.resp": {}, "googleapiclient.errors.BatchError.resp": {}, "googleapiclient.http.HttpRequestMock.resp": {}}, "names": {"googleapiclient.errors.HttpError.resp": {}, "googleapiclient.errors.BatchError.resp": {}, "googleapiclient.http.HttpRequestMock.resp": {}}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.http.HttpMockSequence": {}}, "kind": {}, "_index": 61}], ["respect", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 384}], ["respons", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model": {}, "googleapiclient.errors.HttpError.status_code": {}, "googleapiclient.errors.HttpError._get_reason": {}, "googleapiclient.channel.Channel.update": {}, "googleapiclient.model.Model.response": {}, "googleapiclient.model.BaseModel.no_content_response": {}, "googleapiclient.model.BaseModel._log_response": {}, "googleapiclient.model.BaseModel.response": {}, "googleapiclient.model.BaseModel.deserialize": {}, "googleapiclient.model.JsonModel": {}, "googleapiclient.model.JsonModel.deserialize": {}, "googleapiclient.model.RawModel": {}, "googleapiclient.model.RawModel.deserialize": {}, "googleapiclient.model.MediaModel": {}, "googleapiclient.model.MediaModel.deserialize": {}, "googleapiclient.model.ProtocolBufferModel": {}, "googleapiclient.model.ProtocolBufferModel.__init__": {}, "googleapiclient.model.ProtocolBufferModel.deserialize": {}, "googleapiclient.http._should_retry_response": {}, "googleapiclient.http.HttpRequest.next_chunk": {}, "googleapiclient.http.HttpRequest._process_response": {}, "googleapiclient.http.BatchHttpRequest": {}, "googleapiclient.http.BatchHttpRequest._deserialize_response": {}, "googleapiclient.http.BatchHttpRequest.add": {}, "googleapiclient.http.BatchHttpRequest._execute": {}, "googleapiclient.http.HttpRequestMock.execute": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}, "googleapiclient.http.RequestMockBuilder.__call__": {}, "googleapiclient.http.HttpMockSequence": {}, "googleapiclient.discovery.createNextMethod": {}}, "kind": {}, "_index": 197}], ["response", {"name": {"googleapiclient.model.Model.response": {}, "googleapiclient.model.BaseModel.response": {}}, "names": {"googleapiclient.model.dump_request_response": {}, "googleapiclient.model.Model.response": {}, "googleapiclient.model.BaseModel.no_content_response": {}, "googleapiclient.model.BaseModel._log_response": {}, "googleapiclient.model.BaseModel.response": {}, "googleapiclient.model.JsonModel.no_content_response": {}, "googleapiclient.model.RawModel.no_content_response": {}, "googleapiclient.model.MediaModel.no_content_response": {}, "googleapiclient.model.ProtocolBufferModel.no_content_response": {}, "googleapiclient.http._should_retry_response": {}, "googleapiclient.http.HttpRequest.response_callbacks": {}, "googleapiclient.http.HttpRequest.add_response_callback": {}, "googleapiclient.http.HttpRequest._process_response": {}, "googleapiclient.http.BatchHttpRequest._deserialize_response": {}, "googleapiclient.http.HttpMock.response_headers": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 665}], ["response_callbacks", {"name": {"googleapiclient.http.HttpRequest.response_callbacks": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1013}], ["response_headers", {"name": {"googleapiclient.http.HttpMock.response_headers": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1171}], ["responses", {"name": {"googleapiclient.http.RequestMockBuilder.responses": {}}, "names": {"googleapiclient.http.BatchHttpRequest._responses": {}, "googleapiclient.http.RequestMockBuilder.responses": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1078}], ["restor", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.Resource.__getstate__": {}, "googleapiclient.discovery.Resource.__setstate__": {}}, "kind": {}, "_index": 1513}], ["result", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.tunnel_patch": {}, "googleapiclient.discovery.key2param": {}}, "kind": {}, "_index": 247}], ["resum", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.errors.ResumableUploadError": {}, "googleapiclient.http.MediaUploadProgress": {}, "googleapiclient.http.MediaDownloadProgress": {}, "googleapiclient.http.MediaUpload.chunksize": {}, "googleapiclient.http.MediaUpload.resumable": {}, "googleapiclient.http.MediaIoBaseUpload.chunksize": {}, "googleapiclient.http.MediaIoBaseUpload.resumable": {}, "googleapiclient.http.HttpRequest.next_chunk": {}}, "kind": {}, "_index": 469}], ["resumable", {"name": {"googleapiclient.http.MediaUpload.resumable": {}, "googleapiclient.http.MediaIoBaseUpload.resumable": {}, "googleapiclient.http.HttpRequest.resumable": {}}, "names": {"googleapiclient.errors.ResumableUploadError": {}, "googleapiclient.http.MediaUploadProgress.resumable_progress": {}, "googleapiclient.http.MediaDownloadProgress.resumable_progress": {}, "googleapiclient.http.MediaUpload.resumable": {}, "googleapiclient.http.MediaIoBaseUpload._resumable": {}, "googleapiclient.http.MediaIoBaseUpload.resumable": {}, "googleapiclient.http.HttpRequest.resumable": {}, "googleapiclient.http.HttpRequest.resumable_uri": {}, "googleapiclient.http.HttpRequest.resumable_progress": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 466}], ["resumable=true)", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.HttpRequest.next_chunk": {}}, "kind": {}, "_index": 885}], ["resumable_progress", {"name": {"googleapiclient.http.MediaUploadProgress.resumable_progress": {}, "googleapiclient.http.MediaDownloadProgress.resumable_progress": {}, "googleapiclient.http.HttpRequest.resumable_progress": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 807}], ["resumable_uri", {"name": {"googleapiclient.http.HttpRequest.resumable_uri": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1020}], ["resumableuploaderror", {"name": {"googleapiclient.errors.ResumableUploadError": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 465}], ["retri", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http._should_retry_response": {}, "googleapiclient.http._retry_request": {}}, "kind": {}, "_index": 794}], ["retriev", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.discovery._retrieve_discovery_doc": {}, "googleapiclient.discovery.build_from_document": {}, "googleapiclient.discovery_cache.get_static_doc": {}}, "kind": {}, "_index": 86}], ["retrieve", {"name": {}, "names": {"googleapiclient.discovery._retrieve_discovery_doc": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1367}], ["retry", {"name": {}, "names": {"googleapiclient.http._should_retry_response": {}, "googleapiclient.http._retry_request": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 791}], ["return", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.schema": {}, "googleapiclient._auth.credentials_from_file": {}, "googleapiclient._auth.default_credentials": {}, "googleapiclient._auth.authorized_http": {}, "googleapiclient.errors.HttpError.status_code": {}, "googleapiclient.errors.InvalidJsonError": {}, "googleapiclient.channel.Notification": {}, "googleapiclient.channel.Channel": {}, "googleapiclient.channel.Channel.update": {}, "googleapiclient.channel.notification_from_headers": {}, "googleapiclient.mimeparse.parse_mime_type": {}, "googleapiclient.mimeparse.parse_media_range": {}, "googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.quality_parsed": {}, "googleapiclient.mimeparse.quality": {}, "googleapiclient.mimeparse.best_match": {}, "googleapiclient.model.BaseModel.no_content_response": {}, "googleapiclient.model.RawModel": {}, "googleapiclient.model.MediaModel": {}, "googleapiclient.model.ProtocolBufferModel.__init__": {}, "googleapiclient.http._retry_request": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaUpload.has_stream": {}, "googleapiclient.http.MediaIoBaseUpload.has_stream": {}, "googleapiclient.http.HttpRequest.to_json": {}, "googleapiclient.http.HttpRequest.from_json": {}, "googleapiclient.http.BatchHttpRequest._header_to_id": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.HttpMockSequence": {}, "googleapiclient.http.build_http": {}, "googleapiclient.discovery._discovery_service_uri_options": {}, "googleapiclient.discovery_cache.autodetect": {}}, "kind": {}, "_index": 59}], ["rfc", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}}, "kind": {}, "_index": 171}], ["root", {"name": {}, "names": {"googleapiclient.discovery.Resource._rootDesc": {}}, "qname": {}, "docstring": {"googleapiclient.discovery._media_path_url_from_info": {}}, "kind": {}, "_index": 1394}], ["routin", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.sample_tools.init": {}}, "kind": {}, "_index": 1590}], ["rpcname", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}}, "kind": {}, "_index": 1147}], ["run", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.tunnel_patch": {}}, "kind": {}, "_index": 1226}], ["s", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}}, "kind": {}, "_index": 253}], ["s.prettyprintbyname('foo')", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}}, "kind": {}, "_index": 255}], ["same", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery_cache.file_cache": {}, "googleapiclient.mimeparse.quality_parsed": {}, "googleapiclient.http.HttpRequestMock.execute": {}, "googleapiclient.discovery.build_from_document": {}, "googleapiclient.sample_tools.init": {}}, "kind": {}, "_index": 133}], ["sampl", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.sample_tools": {}, "googleapiclient.sample_tools.init": {}}, "kind": {}, "_index": 216}], ["sample", {"name": {}, "names": {"googleapiclient.sample_tools": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 212}], ["sample_tools", {"name": {"googleapiclient.sample_tools": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 211}], ["schema", {"name": {"googleapiclient.schema": {}, "googleapiclient.schema._SchemaToStruct.schema": {}}, "names": {"googleapiclient.schema": {}, "googleapiclient.schema.Schemas._prettyPrintSchema": {}, "googleapiclient.schema.Schemas.prettyPrintSchema": {}, "googleapiclient.schema._SchemaToStruct": {}, "googleapiclient.schema._SchemaToStruct.schema": {}, "googleapiclient.discovery.Resource._schema": {}}, "qname": {}, "docstring": {"googleapiclient.schema": {}, "googleapiclient.schema.Schemas": {}, "googleapiclient.schema.Schemas._prettyPrintByName": {}, "googleapiclient.schema.Schemas.prettyPrintByName": {}, "googleapiclient.schema.Schemas._prettyPrintSchema": {}, "googleapiclient.schema.Schemas.prettyPrintSchema": {}, "googleapiclient.schema.Schemas.get": {}, "googleapiclient.schema._SchemaToStruct": {}, "googleapiclient.schema._SchemaToStruct._to_str_impl": {}, "googleapiclient.schema._SchemaToStruct.to_str": {}, "googleapiclient.discovery._cast": {}, "googleapiclient.discovery.ResourceMethodParameters.param_types": {}}, "kind": {}, "_index": 221}], ["schemas", {"name": {"googleapiclient.schema.Schemas": {}, "googleapiclient.schema.Schemas.schemas": {}}, "names": {"googleapiclient.schema.Schemas": {}, "googleapiclient.schema.Schemas.schemas": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1237}], ["schemas(schema)", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}}, "kind": {}, "_index": 254}], ["scope", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._auth.with_scopes": {}}, "kind": {}, "_index": 285}], ["scopes", {"name": {}, "names": {"googleapiclient._auth.with_scopes": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 283}], ["search", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._findPageTokenName": {}}, "kind": {}, "_index": 1543}], ["sec", {"name": {}, "names": {"googleapiclient.http.DEFAULT_HTTP_TIMEOUT_SEC": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 784}], ["sec14.html#sec14.1", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}}, "kind": {}, "_index": 176}], ["second", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}}, "kind": {}, "_index": 189}], ["section", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}}, "kind": {}, "_index": 169}], ["see", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.RequestMockBuilder.__call__": {}, "googleapiclient.discovery._cast": {}}, "kind": {}, "_index": 168}], ["seek", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaUpload.has_stream": {}, "googleapiclient.http.MediaIoBaseUpload.has_stream": {}}, "kind": {}, "_index": 840}], ["seekabl", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload.has_stream": {}, "googleapiclient.http.MediaIoBaseUpload.has_stream": {}}, "kind": {}, "_index": 867}], ["seen", {"name": {"googleapiclient.schema._SchemaToStruct.seen": {}}, "names": {"googleapiclient.schema._SchemaToStruct.seen": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1265}], ["self", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 364}], ["self.request.headers)", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 92}], ["self.request.headers[x_goog_channel_id]", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 85}], ["send", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.makepatch": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http._StreamSlice": {}, "googleapiclient.http.BatchHttpRequest._execute": {}}, "kind": {}, "_index": 753}], ["sent", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.update": {}, "googleapiclient.model.ProtocolBufferModel": {}}, "kind": {}, "_index": 577}], ["sequenc", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpMockSequence": {}}, "kind": {}, "_index": 1183}], ["sequence", {"name": {}, "names": {"googleapiclient.http.HttpMockSequence": {}, "googleapiclient.http.HttpMockSequence.request_sequence": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1181}], ["serial", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model": {}, "googleapiclient.model.Model": {}, "googleapiclient.model.Model.request": {}, "googleapiclient.model.BaseModel": {}, "googleapiclient.model.BaseModel.request": {}, "googleapiclient.model.BaseModel.serialize": {}, "googleapiclient.model.JsonModel": {}, "googleapiclient.model.JsonModel.serialize": {}, "googleapiclient.model.RawModel": {}, "googleapiclient.model.MediaModel": {}, "googleapiclient.model.ProtocolBufferModel": {}, "googleapiclient.model.ProtocolBufferModel.__init__": {}, "googleapiclient.model.ProtocolBufferModel.serialize": {}, "googleapiclient.http.BatchHttpRequest._execute": {}, "googleapiclient.discovery.Resource.__getstate__": {}, "googleapiclient.discovery.Resource.__setstate__": {}}, "kind": {}, "_index": 201}], ["serializ", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseUpload.to_json": {}}, "kind": {}, "_index": 917}], ["serialize", {"name": {"googleapiclient.model.BaseModel.serialize": {}, "googleapiclient.model.JsonModel.serialize": {}, "googleapiclient.model.ProtocolBufferModel.serialize": {}}, "names": {"googleapiclient.model.BaseModel.serialize": {}, "googleapiclient.model.JsonModel.serialize": {}, "googleapiclient.model.ProtocolBufferModel.serialize": {}, "googleapiclient.http.BatchHttpRequest._serialize_request": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 700}], ["server", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest.add": {}, "googleapiclient.http.BatchHttpRequest._execute": {}}, "kind": {}, "_index": 1107}], ["servic", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.BatchHttpRequest": {}, "googleapiclient.discovery.build": {}, "googleapiclient.discovery._media_path_url_from_info": {}}, "kind": {}, "_index": 921}], ["service", {"name": {}, "names": {"googleapiclient.discovery._discovery_service_uri_options": {}, "googleapiclient.discovery.Resource._set_service_methods": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1362}], ["service.activities().get(postid=postid,", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.makepatch": {}}, "kind": {}, "_index": 758}], ["service.activities.patch(postid=postid,", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.makepatch": {}}, "kind": {}, "_index": 763}], ["service.channels().stop(channel.body()).execute()", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 106}], ["service.objects().watchall(", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 62}], ["servicenam", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.build": {}, "googleapiclient.discovery_cache.get_static_doc": {}}, "kind": {}, "_index": 1360}], ["set", {"name": {"googleapiclient.discovery_cache.base.Cache.set": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache.set": {}, "googleapiclient.discovery_cache.file_cache.Cache.set": {}}, "names": {"googleapiclient._helpers.POSITIONAL_SET": {}, "googleapiclient.http.set_user_agent": {}, "googleapiclient.discovery.ResourceMethodParameters.set_parameters": {}, "googleapiclient.discovery.Resource._set_dynamic_attr": {}, "googleapiclient.discovery.Resource._set_service_methods": {}, "googleapiclient.discovery_cache.base.Cache.set": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache.set": {}, "googleapiclient.discovery_cache.file_cache.Cache.set": {}}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient._helpers.positional": {}, "googleapiclient.channel.Channel.__init__": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}, "googleapiclient.http.set_user_agent": {}, "googleapiclient.http.build_http": {}, "googleapiclient.discovery.ResourceMethodParameters.pattern_params": {}, "googleapiclient.discovery.ResourceMethodParameters.path_params": {}, "googleapiclient.discovery.ResourceMethodParameters.__init__": {}, "googleapiclient.discovery.Resource._set_dynamic_attr": {}, "googleapiclient.discovery_cache.base.Cache.set": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache.set": {}, "googleapiclient.discovery_cache.file_cache.Cache.set": {}}, "kind": {}, "_index": 41}], ["set_paramet", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.ResourceMethodParameters.__init__": {}}, "kind": {}, "_index": 1456}], ["set_parameters", {"name": {"googleapiclient.discovery.ResourceMethodParameters.set_parameters": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1457}], ["set_user_agent", {"name": {"googleapiclient.http.set_user_agent": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1210}], ["set_user_agent(h,", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.set_user_agent": {}}, "kind": {}, "_index": 1215}], ["setstate", {"name": {}, "names": {"googleapiclient.discovery.Resource.__setstate__": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1515}], ["share", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery_cache.file_cache": {}}, "kind": {}, "_index": 132}], ["shifts", {"name": {}, "names": {"googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1306}], ["should", {"name": {}, "names": {"googleapiclient.http._should_retry_response": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 790}], ["side", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._fix_up_parameters": {}, "googleapiclient.discovery._fix_up_media_upload": {}, "googleapiclient.discovery._fix_up_method_description": {}}, "kind": {}, "_index": 1403}], ["signatur", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.tunnel_patch": {}}, "kind": {}, "_index": 1230}], ["simpl", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 1128}], ["singl", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery_cache.file_cache": {}, "googleapiclient.http": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.HttpRequest": {}, "googleapiclient.http.HttpRequest._process_response": {}, "googleapiclient.http.BatchHttpRequest": {}, "googleapiclient.http.BatchHttpRequest.execute": {}}, "kind": {}, "_index": 129}], ["situat", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.best_match": {}}, "kind": {}, "_index": 645}], ["size", {"name": {"googleapiclient.http.MediaUpload.size": {}, "googleapiclient.http.MediaIoBaseUpload.size": {}}, "names": {"googleapiclient.errors.MediaUploadSizeError": {}, "googleapiclient.errors.InvalidChunkSizeError": {}, "googleapiclient.http.DEFAULT_CHUNK_SIZE": {}, "googleapiclient.http.MediaUploadProgress.total_size": {}, "googleapiclient.http.MediaDownloadProgress.total_size": {}, "googleapiclient.http.MediaUpload.size": {}, "googleapiclient.http.MediaIoBaseUpload._size": {}, "googleapiclient.http.MediaIoBaseUpload.size": {}, "googleapiclient.http.MediaIoBaseDownload._total_size": {}, "googleapiclient.http.HttpRequest.body_size": {}, "googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS": {}, "googleapiclient.discovery._media_size_to_long": {}}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaUpload.chunksize": {}, "googleapiclient.http.MediaUpload.size": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaIoBaseUpload.chunksize": {}, "googleapiclient.http.MediaIoBaseUpload.size": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.discovery._media_size_to_long": {}}, "kind": {}, "_index": 461}], ["sleep", {"name": {}, "names": {"googleapiclient.http.MediaIoBaseDownload._sleep": {}, "googleapiclient.http.HttpRequest._sleep": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 972}], ["slice", {"name": {}, "names": {"googleapiclient.http._StreamSlice": {}}, "qname": {}, "docstring": {"googleapiclient.http._StreamSlice": {}}, "kind": {}, "_index": 982}], ["socket.setdefaulttimeout(timeout_in_sec)", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.build_http": {}}, "kind": {}, "_index": 1234}], ["someth", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest": {}, "googleapiclient.discovery.Resource.__getstate__": {}}, "kind": {}, "_index": 1050}], ["sort", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.best_match": {}}, "kind": {}, "_index": 641}], ["special", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpMockSequence": {}}, "kind": {}, "_index": 1192}], ["specif", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.mimeparse": {}, "googleapiclient.channel.Channel.address": {}, "googleapiclient.channel.Channel.__init__": {}, "googleapiclient.discovery._fix_up_parameters": {}}, "kind": {}, "_index": 94}], ["specifi", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._fix_up_parameters": {}}, "kind": {}, "_index": 1400}], ["ssl.sslerror).", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http._retry_request": {}}, "kind": {}, "_index": 802}], ["stabl", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.resource_id": {}}, "kind": {}, "_index": 562}], ["stack", {"name": {}, "names": {"googleapiclient.discovery.STACK_QUERY_PARAMETERS": {}, "googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1331}], ["stack_query_paramet", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._fix_up_parameters": {}}, "kind": {}, "_index": 1402}], ["stack_query_parameter_default_value", {"name": {"googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1334}], ["stack_query_parameters", {"name": {"googleapiclient.discovery.STACK_QUERY_PARAMETERS": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1330}], ["start", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 57}], ["state", {"name": {"googleapiclient.channel.Notification.state": {}}, "names": {"googleapiclient.channel.X_GOOG_RESOURCE_STATE": {}, "googleapiclient.channel.Notification.state": {}, "googleapiclient.http.HttpRequest._in_error_state": {}}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.channel.Notification.state": {}, "googleapiclient.discovery.Resource.__getstate__": {}, "googleapiclient.discovery.Resource.__setstate__": {}}, "kind": {}, "_index": 101}], ["static", {"name": {}, "names": {"googleapiclient.discovery_cache.get_static_doc": {}}, "qname": {}, "docstring": {}, "kind": {"googleapiclient.http.MediaFileUpload.from_json": {}, "googleapiclient.http.HttpRequest.from_json": {}, "googleapiclient.http.HttpRequest.null_postproc": {}}, "_index": 935}], ["statu", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.errors.HttpError.status_code": {}, "googleapiclient.http.MediaUploadProgress": {}, "googleapiclient.http.MediaDownloadProgress": {}, "googleapiclient.http.MediaIoBaseDownload": {}, "googleapiclient.http.HttpRequest.next_chunk": {}, "googleapiclient.http.HttpMockSequence": {}}, "kind": {}, "_index": 435}], ["status", {"name": {}, "names": {"googleapiclient.errors.HttpError.status_code": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 433}], ["status_code", {"name": {"googleapiclient.errors.HttpError.status_code": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 432}], ["step", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpRequest.next_chunk": {}}, "kind": {}, "_index": 1032}], ["still", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http._retry_request": {}}, "kind": {}, "_index": 797}], ["stop", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.channel.Channel.update": {}}, "kind": {}, "_index": 73}], ["store", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.discovery_cache.file_cache": {}, "googleapiclient.sample_tools.init": {}}, "kind": {}, "_index": 36}], ["str", {"name": {}, "names": {"googleapiclient.schema._SchemaToStruct._to_str_impl": {}, "googleapiclient.schema._SchemaToStruct.to_str": {}}, "qname": {}, "docstring": {"googleapiclient.channel.Notification.state": {}, "googleapiclient.channel.Notification.uri": {}, "googleapiclient.channel.Notification.resource_id": {}, "googleapiclient.channel.Channel.type": {}, "googleapiclient.channel.Channel.id": {}, "googleapiclient.channel.Channel.token": {}, "googleapiclient.channel.Channel.address": {}, "googleapiclient.channel.Channel.resource_id": {}, "googleapiclient.channel.Channel.resource_uri": {}, "googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 525}], ["stream", {"name": {"googleapiclient.http.MediaUpload.stream": {}, "googleapiclient.http.MediaIoBaseUpload.stream": {}}, "names": {"googleapiclient.http.MediaUpload.has_stream": {}, "googleapiclient.http.MediaUpload.stream": {}, "googleapiclient.http.MediaIoBaseUpload.has_stream": {}, "googleapiclient.http.MediaIoBaseUpload.stream": {}, "googleapiclient.http._StreamSlice": {}, "googleapiclient.http._StreamSlice._stream": {}}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaUpload.has_stream": {}, "googleapiclient.http.MediaUpload.stream": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaIoBaseUpload.has_stream": {}, "googleapiclient.http.MediaIoBaseUpload.stream": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.MediaInMemoryUpload": {}, "googleapiclient.http.MediaInMemoryUpload.__init__": {}, "googleapiclient.http._StreamSlice": {}}, "kind": {}, "_index": 837}], ["string", {"name": {"googleapiclient.schema._SchemaToStruct.string": {}}, "names": {"googleapiclient.schema._SchemaToStruct.string": {}}, "qname": {}, "docstring": {"googleapiclient.schema": {}, "googleapiclient.channel.Channel.token": {}, "googleapiclient.channel.Channel.params": {}, "googleapiclient.mimeparse.best_match": {}, "googleapiclient.model.BaseModel._build_query": {}, "googleapiclient.model.BaseModel.deserialize": {}, "googleapiclient.model.JsonModel.deserialize": {}, "googleapiclient.model.RawModel.deserialize": {}, "googleapiclient.model.MediaModel.deserialize": {}, "googleapiclient.model.ProtocolBufferModel.deserialize": {}, "googleapiclient.http._StreamSlice": {}, "googleapiclient.http.BatchHttpRequest._serialize_request": {}, "googleapiclient.http.BatchHttpRequest._deserialize_response": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.discovery._cast": {}, "googleapiclient.discovery._media_size_to_long": {}, "googleapiclient.discovery.ResourceMethodParameters.argmap": {}, "googleapiclient.discovery.ResourceMethodParameters.required_params": {}, "googleapiclient.discovery.ResourceMethodParameters.repeated_params": {}, "googleapiclient.discovery.ResourceMethodParameters.pattern_params": {}, "googleapiclient.discovery.ResourceMethodParameters.query_params": {}, "googleapiclient.discovery.ResourceMethodParameters.path_params": {}, "googleapiclient.discovery.ResourceMethodParameters.param_types": {}, "googleapiclient.discovery.ResourceMethodParameters.enum_params": {}}, "kind": {}, "_index": 235}], ["struct", {"name": {}, "names": {"googleapiclient.schema._SchemaToStruct": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1254}], ["stuff", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 95}], ["style", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 336}], ["sub", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}}, "kind": {}, "_index": 842}], ["subclass", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.BaseModel": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaUpload.has_stream": {}, "googleapiclient.http.MediaUpload.new_from_json": {}, "googleapiclient.http.MediaIoBaseUpload.has_stream": {}}, "kind": {}, "_index": 677}], ["subject", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 29}], ["subscript", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.channel.Channel.update": {}}, "kind": {}, "_index": 22}], ["subtyp", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.parse_mime_type": {}, "googleapiclient.mimeparse.parse_media_range": {}}, "kind": {}, "_index": 602}], ["such", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model": {}, "googleapiclient.channel.Channel.update": {}, "googleapiclient.model.Model": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.BatchHttpRequest.add": {}, "googleapiclient.discovery._media_size_to_long": {}}, "kind": {}, "_index": 202}], ["suppli", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.BaseModel.alt_param": {}, "googleapiclient.http.BatchHttpRequest.add": {}, "googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 690}], ["support", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.http": {}, "googleapiclient.model": {}, "googleapiclient._helpers.positional": {}, "googleapiclient.mimeparse.best_match": {}, "googleapiclient.model.makepatch": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaUpload.has_stream": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaIoBaseUpload.has_stream": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.HttpRequest.next_chunk": {}, "googleapiclient.http.tunnel_patch": {}, "googleapiclient.discovery._fix_up_media_upload": {}, "googleapiclient.discovery._urljoin": {}}, "kind": {}, "_index": 20}], ["sym", {"name": {}, "names": {"googleapiclient._helpers._SYM_LINK_MESSAGE": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 318}], ["sync", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 99}], ["tag:google.c", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 1136}], ["take", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}, "googleapiclient.mimeparse.best_match": {}, "googleapiclient.http._StreamSlice": {}}, "kind": {}, "_index": 261}], ["taken", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 1146}], ["target", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.token": {}}, "kind": {}, "_index": 548}], ["termin", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema._SchemaToStruct.emitBegin": {}, "googleapiclient.schema._SchemaToStruct.emitEnd": {}}, "kind": {}, "_index": 1273}], ["test", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpMockSequence": {}}, "kind": {}, "_index": 1196}], ["text", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema._SchemaToStruct.emit": {}, "googleapiclient.schema._SchemaToStruct.emitBegin": {}, "googleapiclient.schema._SchemaToStruct.emitEnd": {}}, "kind": {}, "_index": 1269}], ["text/html;level=1,", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.quality": {}}, "kind": {}, "_index": 636}], ["text/html;level=2;q=0.4,", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.quality": {}}, "kind": {}, "_index": 637}], ["text/html;q=0.7,", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.quality": {}}, "kind": {}, "_index": 635}], ["that'", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.channel.Channel.body": {}}, "kind": {}, "_index": 33}], ["those", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.schema": {}}, "kind": {}, "_index": 23}], ["through", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.ResourceMethodParameters.set_parameters": {}, "googleapiclient.discovery.createNextMethod": {}}, "kind": {}, "_index": 1460}], ["thrown", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http._retry_request": {}}, "kind": {}, "_index": 801}], ["tie", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.best_match": {}}, "kind": {}, "_index": 646}], ["time", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.expiration": {}, "googleapiclient.http._retry_request": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.set_user_agent": {}}, "kind": {}, "_index": 554}], ["timeout", {"name": {}, "names": {"googleapiclient.http.DEFAULT_HTTP_TIMEOUT_SEC": {}}, "qname": {}, "docstring": {"googleapiclient.http.build_http": {}}, "kind": {}, "_index": 783}], ["timestamp", {"name": {}, "names": {"googleapiclient.discovery_cache.file_cache._to_timestamp": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1575}], ["to", {"name": {}, "names": {"googleapiclient.http.MediaUpload._to_json": {}, "googleapiclient.http.MediaUpload.to_json": {}, "googleapiclient.http.MediaIoBaseUpload.to_json": {}, "googleapiclient.http.MediaFileUpload.to_json": {}, "googleapiclient.http.HttpRequest.to_json": {}, "googleapiclient.http.BatchHttpRequest._id_to_header": {}, "googleapiclient.http.BatchHttpRequest._header_to_id": {}, "googleapiclient.schema._SchemaToStruct": {}, "googleapiclient.schema._SchemaToStruct._to_str_impl": {}, "googleapiclient.schema._SchemaToStruct.to_str": {}, "googleapiclient.discovery._media_size_to_long": {}, "googleapiclient.discovery_cache.file_cache._to_timestamp": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 870}], ["to_json", {"name": {"googleapiclient.http.MediaUpload.to_json": {}, "googleapiclient.http.MediaIoBaseUpload.to_json": {}, "googleapiclient.http.MediaFileUpload.to_json": {}, "googleapiclient.http.HttpRequest.to_json": {}}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload.new_from_json": {}}, "kind": {}, "_index": 872}], ["to_str", {"name": {"googleapiclient.schema._SchemaToStruct.to_str": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1286}], ["token", {"name": {"googleapiclient.channel.Channel.token": {}}, "names": {"googleapiclient.channel.Channel.token": {}, "googleapiclient.discovery._PAGE_TOKEN_NAMES": {}, "googleapiclient.discovery._findPageTokenName": {}}, "qname": {}, "docstring": {"googleapiclient.schema": {}, "googleapiclient.discovery._findPageTokenName": {}}, "kind": {}, "_index": 244}], ["too", {"name": {}, "names": {"googleapiclient.http._TOO_MANY_REQUESTS": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 778}], ["tools", {"name": {}, "names": {"googleapiclient.sample_tools": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 213}], ["total", {"name": {}, "names": {"googleapiclient.http.MediaUploadProgress.total_size": {}, "googleapiclient.http.MediaDownloadProgress.total_size": {}, "googleapiclient.http.MediaIoBaseDownload._total_size": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 810}], ["total_size", {"name": {"googleapiclient.http.MediaUploadProgress.total_size": {}, "googleapiclient.http.MediaDownloadProgress.total_size": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 809}], ["track", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.Resource._set_dynamic_attr": {}}, "kind": {}, "_index": 1501}], ["trigger", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.HttpMockSequence": {}}, "kind": {}, "_index": 1193}], ["trim", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.Resource.__getstate__": {}}, "kind": {}, "_index": 1506}], ["true", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaUpload.has_stream": {}, "googleapiclient.http.MediaIoBaseUpload.has_stream": {}, "googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 845}], ["truncat", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http._StreamSlice": {}}, "kind": {}, "_index": 984}], ["tunnel", {"name": {}, "names": {"googleapiclient.http.tunnel_patch": {}}, "qname": {}, "docstring": {"googleapiclient.http.tunnel_patch": {}}, "kind": {}, "_index": 1222}], ["tunnel_patch", {"name": {"googleapiclient.http.tunnel_patch": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1221}], ["tunnel_patch(h,", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.tunnel_patch": {}}, "kind": {}, "_index": 1225}], ["tupl", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.parse_mime_type": {}, "googleapiclient.mimeparse.parse_media_range": {}, "googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}}, "kind": {}, "_index": 601}], ["type", {"name": {"googleapiclient.channel.Channel.type": {}}, "names": {"googleapiclient.errors.UnknownFileType": {}, "googleapiclient.errors.UnknownLinkType": {}, "googleapiclient.errors.UnacceptableMimeTypeError": {}, "googleapiclient.channel.Channel.type": {}, "googleapiclient.mimeparse.parse_mime_type": {}, "googleapiclient.model.BaseModel.content_type": {}, "googleapiclient.model.JsonModel.content_type": {}, "googleapiclient.model.RawModel.content_type": {}, "googleapiclient.model.MediaModel.content_type": {}, "googleapiclient.model.ProtocolBufferModel.content_type": {}, "googleapiclient.discovery.MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE": {}}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}, "googleapiclient.schema": {}, "googleapiclient.errors.UnknownFileType": {}, "googleapiclient.errors.UnknownLinkType": {}, "googleapiclient.channel.Channel.type": {}, "googleapiclient.channel.Channel.address": {}, "googleapiclient.channel.Channel.__init__": {}, "googleapiclient.mimeparse.parse_mime_type": {}, "googleapiclient.mimeparse.parse_media_range": {}, "googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.quality_parsed": {}, "googleapiclient.mimeparse.quality": {}, "googleapiclient.mimeparse.best_match": {}, "googleapiclient.model.BaseModel.content_type": {}, "googleapiclient.http.MediaUpload.mimetype": {}, "googleapiclient.http.MediaIoBaseUpload.mimetype": {}, "googleapiclient.http.MediaIoBaseUpload.to_json": {}, "googleapiclient.discovery._cast": {}, "googleapiclient.discovery.ResourceMethodParameters.param_types": {}}, "kind": {}, "_index": 158}], ["types", {"name": {}, "names": {"googleapiclient.discovery.ResourceMethodParameters.param_types": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1444}], ["typic", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.__init__": {}}, "kind": {}, "_index": 568}], ["unaccept", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.errors.UnacceptableMimeTypeError": {}}, "kind": {}, "_index": 456}], ["unacceptable", {"name": {}, "names": {"googleapiclient.errors.UnacceptableMimeTypeError": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 454}], ["unacceptablemimetypeerror", {"name": {"googleapiclient.errors.UnacceptableMimeTypeError": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 453}], ["unauthent", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.set_user_agent": {}}, "kind": {}, "_index": 1219}], ["undent", {"name": {"googleapiclient.schema._SchemaToStruct.undent": {}}, "names": {"googleapiclient.schema._SchemaToStruct.undent": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1280}], ["under", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}}, "kind": {}, "_index": 835}], ["underli", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaUpload.has_stream": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaIoBaseUpload.has_stream": {}, "googleapiclient.http.MediaFileUpload": {}}, "kind": {}, "_index": 846}], ["unexpect", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.errors.HttpError": {}, "googleapiclient.errors.UnknownFileType": {}, "googleapiclient.errors.UnknownLinkType": {}, "googleapiclient.errors.UnexpectedMethodError": {}, "googleapiclient.errors.UnexpectedBodyError": {}}, "kind": {}, "_index": 419}], ["unexpected", {"name": {}, "names": {"googleapiclient.errors.UnexpectedMethodError": {}, "googleapiclient.errors.UnexpectedBodyError": {}, "googleapiclient.http.RequestMockBuilder.check_unexpected": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 486}], ["unexpectedbodyerror", {"name": {"googleapiclient.errors.UnexpectedBodyError": {}}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 490}], ["unexpectedmethoderror", {"name": {"googleapiclient.errors.UnexpectedMethodError": {}}, "names": {}, "qname": {}, "docstring": {"googleapiclient.errors.UnexpectedMethodError.__init__": {}, "googleapiclient.errors.UnexpectedBodyError.__init__": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}}, "kind": {}, "_index": 485}], ["uniqu", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.parse_unique_urlencoded": {}, "googleapiclient.channel.Notification.message_number": {}, "googleapiclient.channel.Notification.resource_id": {}, "googleapiclient.http.BatchHttpRequest.add": {}}, "kind": {}, "_index": 391}], ["unique", {"name": {}, "names": {"googleapiclient._helpers.parse_unique_urlencoded": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 388}], ["univers", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.Resource._validate_credentials": {}}, "kind": {}, "_index": 1539}], ["universe", {"name": {}, "names": {"googleapiclient.discovery.HAS_UNIVERSE": {}, "googleapiclient.discovery.GOOGLE_CLOUD_UNIVERSE_DOMAIN": {}, "googleapiclient.discovery.DEFAULT_UNIVERSE": {}, "googleapiclient.discovery._check_api_core_compatible_with_credentials_universe": {}, "googleapiclient.discovery.Resource._universe_domain": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 584}], ["unknown", {"name": {}, "names": {"googleapiclient.errors.UnknownFileType": {}, "googleapiclient.errors.UnknownLinkType": {}, "googleapiclient.errors.UnknownApiNameOrVersion": {}}, "qname": {}, "docstring": {"googleapiclient.errors.UnknownFileType": {}, "googleapiclient.errors.UnknownLinkType": {}}, "kind": {}, "_index": 446}], ["unknownapinameorversion", {"name": {"googleapiclient.errors.UnknownApiNameOrVersion": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 450}], ["unknownfiletype", {"name": {"googleapiclient.errors.UnknownFileType": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 445}], ["unknownlinktype", {"name": {"googleapiclient.errors.UnknownLinkType": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 448}], ["unsubscrib", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 105}], ["unsuppli", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder.__init__": {}}, "kind": {}, "_index": 1156}], ["up", {"name": {}, "names": {"googleapiclient.discovery._fix_up_parameters": {}, "googleapiclient.discovery._fix_up_media_upload": {}, "googleapiclient.discovery._fix_up_method_description": {}, "googleapiclient.discovery._fix_up_media_path_base_url": {}}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.schema": {}, "googleapiclient.mimeparse.parse_mime_type": {}, "googleapiclient.mimeparse.parse_media_range": {}}, "kind": {}, "_index": 34}], ["updat", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient._helpers.update_query_params": {}, "googleapiclient.channel.Channel.update": {}, "googleapiclient.model.Model.request": {}, "googleapiclient.model.BaseModel.request": {}, "googleapiclient.model.makepatch": {}, "googleapiclient.discovery._fix_up_parameters": {}, "googleapiclient.discovery._fix_up_method_description": {}, "googleapiclient.discovery._fix_up_media_path_base_url": {}}, "kind": {}, "_index": 67}], ["update", {"name": {"googleapiclient.channel.Channel.update": {}}, "names": {"googleapiclient._helpers.update_query_params": {}, "googleapiclient.channel.Channel.update": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 394}], ["update_query_params", {"name": {"googleapiclient._helpers.update_query_params": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 393}], ["upload", {"name": {}, "names": {"googleapiclient.errors.MediaUploadSizeError": {}, "googleapiclient.errors.ResumableUploadError": {}, "googleapiclient.http.MediaUploadProgress": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.MediaInMemoryUpload": {}, "googleapiclient.discovery._fix_up_media_upload": {}}, "qname": {}, "docstring": {"googleapiclient.errors.ResumableUploadError": {}, "googleapiclient.http.MediaUploadProgress": {}, "googleapiclient.http.MediaUploadProgress.progress": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaUpload.chunksize": {}, "googleapiclient.http.MediaUpload.size": {}, "googleapiclient.http.MediaUpload.resumable": {}, "googleapiclient.http.MediaUpload.has_stream": {}, "googleapiclient.http.MediaUpload.stream": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaIoBaseUpload.chunksize": {}, "googleapiclient.http.MediaIoBaseUpload.size": {}, "googleapiclient.http.MediaIoBaseUpload.resumable": {}, "googleapiclient.http.MediaIoBaseUpload.has_stream": {}, "googleapiclient.http.MediaIoBaseUpload.stream": {}, "googleapiclient.http.MediaIoBaseUpload.to_json": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http._StreamSlice": {}, "googleapiclient.http.HttpRequest.next_chunk": {}, "googleapiclient.http.HttpRequest._process_response": {}, "googleapiclient.discovery._fix_up_media_path_base_url": {}}, "kind": {}, "_index": 460}], ["upper", {"name": {}, "names": {"googleapiclient.channel._upper_header_keys": {}}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 84}], ["uri", {"name": {"googleapiclient.errors.HttpError.uri": {}, "googleapiclient.channel.Notification.uri": {}, "googleapiclient.http.HttpRequest.uri": {}, "googleapiclient.http.HttpMock.uri": {}}, "names": {"googleapiclient.errors.HttpError.uri": {}, "googleapiclient.channel.X_GOOG_RESOURCE_URI": {}, "googleapiclient.channel.Notification.uri": {}, "googleapiclient.channel.Notification.resource_uri": {}, "googleapiclient.channel.Channel.resource_uri": {}, "googleapiclient.http.MAX_URI_LENGTH": {}, "googleapiclient.http._LEGACY_BATCH_URI": {}, "googleapiclient.http.MediaIoBaseDownload._uri": {}, "googleapiclient.http.HttpRequest.uri": {}, "googleapiclient.http.HttpRequest.resumable_uri": {}, "googleapiclient.http.BatchHttpRequest._batch_uri": {}, "googleapiclient.http.HttpMock.uri": {}, "googleapiclient.discovery.DISCOVERY_URI": {}, "googleapiclient.discovery.V2_DISCOVERY_URI": {}, "googleapiclient.discovery._discovery_service_uri_options": {}}, "qname": {}, "docstring": {"googleapiclient._helpers.update_query_params": {}, "googleapiclient.http.HttpMockSequence": {}, "googleapiclient.discovery._discovery_service_uri_options": {}, "googleapiclient.discovery._media_path_url_from_info": {}}, "kind": {}, "_index": 398}], ["uritemplate", {"name": {"googleapiclient.discovery.URITEMPLATE": {}}, "names": {"googleapiclient.discovery.URITEMPLATE": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1289}], ["url", {"name": {}, "names": {"googleapiclient.discovery._media_path_url_from_info": {}, "googleapiclient.discovery._fix_up_media_path_base_url": {}, "googleapiclient.discovery.Resource._baseUrl": {}}, "qname": {}, "docstring": {"googleapiclient._helpers._add_query_parameter": {}, "googleapiclient.discovery._media_path_url_from_info": {}, "googleapiclient.discovery._fix_up_media_path_base_url": {}, "googleapiclient.discovery._urljoin": {}, "googleapiclient.discovery.ResourceMethodParameters.path_params": {}}, "kind": {}, "_index": 410}], ["urlencod", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.parse_unique_urlencoded": {}}, "kind": {}, "_index": 392}], ["urlencoded", {"name": {}, "names": {"googleapiclient._helpers.parse_unique_urlencoded": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 389}], ["urljoin", {"name": {}, "names": {"googleapiclient.discovery._urljoin": {}}, "qname": {}, "docstring": {"googleapiclient.discovery._urljoin": {}}, "kind": {}, "_index": 1421}], ["us", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._auth": {}, "googleapiclient._helpers": {}, "googleapiclient.channel": {}, "googleapiclient.schema": {}, "googleapiclient.channel.Channel.type": {}, "googleapiclient.model.BaseModel.accept": {}, "googleapiclient.model.BaseModel.content_type": {}, "googleapiclient.model.ProtocolBufferModel.__init__": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaInMemoryUpload": {}, "googleapiclient.http.MediaInMemoryUpload.__init__": {}, "googleapiclient.http.MediaIoBaseDownload": {}, "googleapiclient.http._StreamSlice": {}, "googleapiclient.http.HttpRequest.next_chunk": {}, "googleapiclient.http.BatchHttpRequest._new_id": {}, "googleapiclient.http.HttpRequestMock": {}, "googleapiclient.http.HttpMockSequence": {}, "googleapiclient.http.tunnel_patch": {}, "googleapiclient.http.build_http": {}, "googleapiclient.discovery._discovery_service_uri_options": {}, "googleapiclient.discovery._media_path_url_from_info": {}, "googleapiclient.discovery._fix_up_method_description": {}, "googleapiclient.discovery.ResourceMethodParameters.query_params": {}, "googleapiclient.discovery.ResourceMethodParameters.path_params": {}, "googleapiclient.discovery.Resource.__getstate__": {}, "googleapiclient.discovery.Resource.__setstate__": {}, "googleapiclient.sample_tools.init": {}}, "kind": {}, "_index": 7}], ["usag", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.makepatch": {}}, "kind": {}, "_index": 756}], ["use", {"name": {}, "names": {"googleapiclient.discovery.GOOGLE_API_USE_CLIENT_CERTIFICATE": {}, "googleapiclient.discovery.GOOGLE_API_USE_MTLS_ENDPOINT": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1318}], ["user", {"name": {}, "names": {"googleapiclient.http.set_user_agent": {}}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.__init__": {}, "googleapiclient.http.set_user_agent": {}}, "kind": {}, "_index": 567}], ["userid=userid).execute()", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.makepatch": {}}, "kind": {}, "_index": 759}], ["userid=userid,", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.makepatch": {}}, "kind": {}, "_index": 764}], ["usual", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Notification": {}, "googleapiclient.channel.Channel": {}}, "kind": {}, "_index": 517}], ["util", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers": {}, "googleapiclient.discovery_cache": {}, "googleapiclient.sample_tools": {}, "googleapiclient.http.MediaUpload._to_json": {}, "googleapiclient.http.MediaUpload.new_from_json": {}}, "kind": {}, "_index": 16}], ["uuid", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.id": {}}, "kind": {}, "_index": 543}], ["v1", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 1142}], ["v2", {"name": {}, "names": {"googleapiclient.discovery.V2_DISCOVERY_URI": {}}, "qname": {}, "docstring": {"googleapiclient.http.BatchHttpRequest": {}}, "kind": {}, "_index": 1055}], ["v2_discovery_uri", {"name": {"googleapiclient.discovery.V2_DISCOVERY_URI": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1295}], ["valid", {"name": {}, "names": {"googleapiclient._auth.is_valid": {}}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient._helpers.update_query_params": {}, "googleapiclient.errors.InvalidChunkSizeError": {}, "googleapiclient.channel.notification_from_headers": {}, "googleapiclient.discovery.ResourceMethodParameters.param_types": {}, "googleapiclient.discovery.Resource._validate_credentials": {}}, "kind": {}, "_index": 89}], ["validate", {"name": {}, "names": {"googleapiclient.discovery.Resource._validate_credentials": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1536}], ["validated", {"name": {}, "names": {"googleapiclient.discovery.Resource._credentials_validated": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1496}], ["valu", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient._helpers.positional": {}, "googleapiclient._helpers.parse_unique_urlencoded": {}, "googleapiclient._helpers.update_query_params": {}, "googleapiclient._helpers._add_query_parameter": {}, "googleapiclient.channel.Channel.body": {}, "googleapiclient.mimeparse.parse_media_range": {}, "googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.best_match": {}, "googleapiclient.model.BaseModel": {}, "googleapiclient.model.BaseModel.accept": {}, "googleapiclient.model.BaseModel.content_type": {}, "googleapiclient.model.BaseModel.no_content_response": {}, "googleapiclient.model.BaseModel.alt_param": {}, "googleapiclient.http._retry_request": {}, "googleapiclient.http.BatchHttpRequest._id_to_header": {}, "googleapiclient.http.BatchHttpRequest._header_to_id": {}, "googleapiclient.http.HttpMockSequence": {}, "googleapiclient.discovery._cast": {}, "googleapiclient.discovery._fix_up_parameters": {}, "googleapiclient.discovery.ResourceMethodParameters.pattern_params": {}, "googleapiclient.discovery.ResourceMethodParameters.param_types": {}, "googleapiclient.discovery.ResourceMethodParameters.enum_params": {}, "googleapiclient.discovery.ResourceMethodParameters.__init__": {}, "googleapiclient.discovery.ResourceMethodParameters.set_parameters": {}}, "kind": {}, "_index": 69}], ["value", {"name": {"googleapiclient.schema._SchemaToStruct.value": {}}, "names": {"googleapiclient.schema._SchemaToStruct.value": {}, "googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery.MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1257}], ["variabl", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.Resource.__getstate__": {}, "googleapiclient.discovery.Resource.__setstate__": {}}, "kind": {}, "_index": 1510}], ["variable", {"name": {}, "names": {}, "qname": {}, "docstring": {}, "kind": {"googleapiclient._auth.HAS_GOOGLE_AUTH": {}, "googleapiclient._auth.HAS_OAUTH2CLIENT": {}, "googleapiclient._helpers.logger": {}, "googleapiclient.errors.__author__": {}, "googleapiclient.errors.HttpError.resp": {}, "googleapiclient.errors.HttpError.content": {}, "googleapiclient.errors.HttpError.uri": {}, "googleapiclient.errors.HttpError.error_details": {}, "googleapiclient.errors.HttpError.reason": {}, "googleapiclient.errors.BatchError.resp": {}, "googleapiclient.errors.BatchError.content": {}, "googleapiclient.errors.BatchError.reason": {}, "googleapiclient.channel.Notification.message_number": {}, "googleapiclient.channel.Notification.state": {}, "googleapiclient.channel.Notification.uri": {}, "googleapiclient.channel.Notification.resource_id": {}, "googleapiclient.channel.Notification.resource_uri": {}, "googleapiclient.channel.Channel.type": {}, "googleapiclient.channel.Channel.id": {}, "googleapiclient.channel.Channel.token": {}, "googleapiclient.channel.Channel.address": {}, "googleapiclient.channel.Channel.expiration": {}, "googleapiclient.channel.Channel.params": {}, "googleapiclient.channel.Channel.resource_id": {}, "googleapiclient.channel.Channel.resource_uri": {}, "googleapiclient.discovery.__author__": {}, "googleapiclient.discovery.HAS_UNIVERSE": {}, "googleapiclient.mimeparse.__version__": {}, "googleapiclient.mimeparse.__author__": {}, "googleapiclient.mimeparse.__email__": {}, "googleapiclient.mimeparse.__license__": {}, "googleapiclient.mimeparse.__credits__": {}, "googleapiclient.http.__author__": {}, "googleapiclient.model.__author__": {}, "googleapiclient.version.__version__": {}, "googleapiclient.model.dump_request_response": {}, "googleapiclient.model.BaseModel.accept": {}, "googleapiclient.model.BaseModel.content_type": {}, "googleapiclient.model.BaseModel.no_content_response": {}, "googleapiclient.model.BaseModel.alt_param": {}, "googleapiclient.model.JsonModel.accept": {}, "googleapiclient.model.JsonModel.content_type": {}, "googleapiclient.model.JsonModel.alt_param": {}, "googleapiclient.model.JsonModel._data_wrapper": {}, "googleapiclient.model.RawModel.accept": {}, "googleapiclient.model.RawModel.content_type": {}, "googleapiclient.model.RawModel.alt_param": {}, "googleapiclient.model.MediaModel.accept": {}, "googleapiclient.model.MediaModel.content_type": {}, "googleapiclient.model.MediaModel.alt_param": {}, "googleapiclient.model.ProtocolBufferModel.accept": {}, "googleapiclient.model.ProtocolBufferModel.content_type": {}, "googleapiclient.model.ProtocolBufferModel.alt_param": {}, "googleapiclient.model.ProtocolBufferModel._protocol_buffer": {}, "googleapiclient.http.MediaUploadProgress.resumable_progress": {}, "googleapiclient.http.MediaUploadProgress.total_size": {}, "googleapiclient.http.MediaDownloadProgress.resumable_progress": {}, "googleapiclient.http.MediaDownloadProgress.total_size": {}, "googleapiclient.http.MediaIoBaseUpload._fd": {}, "googleapiclient.http.MediaIoBaseUpload._mimetype": {}, "googleapiclient.http.MediaIoBaseUpload._chunksize": {}, "googleapiclient.http.MediaIoBaseUpload._resumable": {}, "googleapiclient.http.MediaIoBaseUpload._size": {}, "googleapiclient.http.MediaFileUpload._fd": {}, "googleapiclient.http.MediaFileUpload._filename": {}, "googleapiclient.http.MediaIoBaseDownload._fd": {}, "googleapiclient.http.MediaIoBaseDownload._request": {}, "googleapiclient.http.MediaIoBaseDownload._uri": {}, "googleapiclient.http.MediaIoBaseDownload._chunksize": {}, "googleapiclient.http.MediaIoBaseDownload._progress": {}, "googleapiclient.http.MediaIoBaseDownload._total_size": {}, "googleapiclient.http.MediaIoBaseDownload._done": {}, "googleapiclient.http.MediaIoBaseDownload._sleep": {}, "googleapiclient.http.MediaIoBaseDownload._rand": {}, "googleapiclient.http.MediaIoBaseDownload._headers": {}, "googleapiclient.http._StreamSlice._stream": {}, "googleapiclient.http._StreamSlice._begin": {}, "googleapiclient.http._StreamSlice._chunksize": {}, "googleapiclient.http.HttpRequest.uri": {}, "googleapiclient.http.HttpRequest.method": {}, "googleapiclient.http.HttpRequest.body": {}, "googleapiclient.http.HttpRequest.headers": {}, "googleapiclient.http.HttpRequest.methodId": {}, "googleapiclient.http.HttpRequest.http": {}, "googleapiclient.http.HttpRequest.postproc": {}, "googleapiclient.http.HttpRequest.resumable": {}, "googleapiclient.http.HttpRequest.response_callbacks": {}, "googleapiclient.http.HttpRequest._in_error_state": {}, "googleapiclient.http.HttpRequest.body_size": {}, "googleapiclient.http.HttpRequest.resumable_uri": {}, "googleapiclient.http.HttpRequest.resumable_progress": {}, "googleapiclient.http.HttpRequest._rand": {}, "googleapiclient.http.HttpRequest._sleep": {}, "googleapiclient.http.BatchHttpRequest._batch_uri": {}, "googleapiclient.http.BatchHttpRequest._callback": {}, "googleapiclient.http.BatchHttpRequest._requests": {}, "googleapiclient.http.BatchHttpRequest._callbacks": {}, "googleapiclient.http.BatchHttpRequest._order": {}, "googleapiclient.http.BatchHttpRequest._last_auto_id": {}, "googleapiclient.http.BatchHttpRequest._base_id": {}, "googleapiclient.http.BatchHttpRequest._responses": {}, "googleapiclient.http.BatchHttpRequest._refreshed_credentials": {}, "googleapiclient.http.HttpRequestMock.resp": {}, "googleapiclient.http.HttpRequestMock.content": {}, "googleapiclient.http.HttpRequestMock.postproc": {}, "googleapiclient.http.RequestMockBuilder.responses": {}, "googleapiclient.http.RequestMockBuilder.check_unexpected": {}, "googleapiclient.http.HttpMock.data": {}, "googleapiclient.http.HttpMock.response_headers": {}, "googleapiclient.http.HttpMock.headers": {}, "googleapiclient.http.HttpMock.uri": {}, "googleapiclient.http.HttpMock.method": {}, "googleapiclient.http.HttpMock.body": {}, "googleapiclient.http.HttpMockSequence._iterable": {}, "googleapiclient.http.HttpMockSequence.follow_redirects": {}, "googleapiclient.http.HttpMockSequence.request_sequence": {}, "googleapiclient.schema.__author__": {}, "googleapiclient.schema.Schemas.schemas": {}, "googleapiclient.schema.Schemas.pretty": {}, "googleapiclient.schema._SchemaToStruct.value": {}, "googleapiclient.schema._SchemaToStruct.string": {}, "googleapiclient.schema._SchemaToStruct.schema": {}, "googleapiclient.schema._SchemaToStruct.dent": {}, "googleapiclient.schema._SchemaToStruct.from_cache": {}, "googleapiclient.schema._SchemaToStruct.seen": {}, "googleapiclient.discovery.logger": {}, "googleapiclient.discovery.ResourceMethodParameters.argmap": {}, "googleapiclient.discovery.ResourceMethodParameters.required_params": {}, "googleapiclient.discovery.ResourceMethodParameters.repeated_params": {}, "googleapiclient.discovery.ResourceMethodParameters.pattern_params": {}, "googleapiclient.discovery.ResourceMethodParameters.query_params": {}, "googleapiclient.discovery.ResourceMethodParameters.path_params": {}, "googleapiclient.discovery.ResourceMethodParameters.param_types": {}, "googleapiclient.discovery.ResourceMethodParameters.enum_params": {}, "googleapiclient.discovery.Resource._dynamic_attrs": {}, "googleapiclient.discovery.Resource._http": {}, "googleapiclient.discovery.Resource._baseUrl": {}, "googleapiclient.discovery.Resource._model": {}, "googleapiclient.discovery.Resource._developerKey": {}, "googleapiclient.discovery.Resource._requestBuilder": {}, "googleapiclient.discovery.Resource._resourceDesc": {}, "googleapiclient.discovery.Resource._rootDesc": {}, "googleapiclient.discovery.Resource._schema": {}, "googleapiclient.discovery.Resource._universe_domain": {}, "googleapiclient.discovery.Resource._credentials_validated": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache._max_age": {}, "googleapiclient.discovery_cache.appengine_memcache.cache": {}, "googleapiclient.discovery_cache.file_cache.Cache._max_age": {}, "googleapiclient.discovery_cache.file_cache.Cache._file": {}, "googleapiclient.discovery_cache.file_cache.cache": {}, "googleapiclient.sample_tools.__author__": {}}, "_index": 270}], ["varname", {"name": {"googleapiclient.discovery.VARNAME": {}}, "names": {"googleapiclient.discovery.VARNAME": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1291}], ["veri", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}}, "kind": {}, "_index": 892}], ["version", {"name": {"googleapiclient.version": {}}, "names": {"googleapiclient.version": {}, "googleapiclient.errors.UnknownApiNameOrVersion": {}, "googleapiclient.mimeparse.__version__": {}, "googleapiclient.version.__version__": {}, "googleapiclient.model._PY_VERSION": {}, "googleapiclient.discovery.APICoreVersionError": {}}, "qname": {}, "docstring": {"googleapiclient.errors.UnknownApiNameOrVersion": {}, "googleapiclient.channel.Notification.resource_id": {}, "googleapiclient.channel.Channel.resource_id": {}, "googleapiclient.http._StreamSlice": {}, "googleapiclient.discovery.build": {}, "googleapiclient.discovery_cache.get_static_doc": {}}, "kind": {}, "_index": 264}], ["via", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 46}], ["violat", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 385}], ["virtual", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http._StreamSlice": {}}, "kind": {}, "_index": 991}], ["wai", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.makepatch": {}}, "kind": {}, "_index": 752}], ["warn", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 382}], ["warning", {"name": {}, "names": {"googleapiclient._helpers.POSITIONAL_WARNING": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 306}], ["watch", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.channel.Channel.resource_id": {}, "googleapiclient.channel.Channel.resource_uri": {}, "googleapiclient.channel.Channel.body": {}, "googleapiclient.channel.Channel.update": {}}, "kind": {}, "_index": 55}], ["web_hook", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel.Channel.type": {}}, "kind": {}, "_index": 541}], ["webapp2", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.channel": {}}, "kind": {}, "_index": 75}], ["webhook", {"name": {}, "names": {"googleapiclient.channel.new_webhook_channel": {}}, "qname": {}, "docstring": {"googleapiclient.channel": {}, "googleapiclient.channel.notification_from_headers": {}, "googleapiclient.channel.new_webhook_channel": {}}, "kind": {}, "_index": 47}], ["well", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model.BaseModel": {}}, "kind": {}, "_index": 678}], ["whatev", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._fix_up_parameters": {}}, "kind": {}, "_index": 1398}], ["whenev", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery_cache.file_cache": {}}, "kind": {}, "_index": 135}], ["whether", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http._should_retry_response": {}, "googleapiclient.http.MediaUpload.resumable": {}, "googleapiclient.http.MediaIoBaseUpload.resumable": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}}, "kind": {}, "_index": 793}], ["wiki", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 1150}], ["wild", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse": {}}, "kind": {}, "_index": 181}], ["wipe", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.Resource.__getstate__": {}, "googleapiclient.discovery.Resource.__setstate__": {}}, "kind": {}, "_index": 1512}], ["wire", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.model": {}, "googleapiclient.model.Model": {}, "googleapiclient.model.Model.response": {}, "googleapiclient.model.BaseModel.response": {}}, "kind": {}, "_index": 207}], ["with", {"name": {}, "names": {"googleapiclient._auth.with_scopes": {}, "googleapiclient.discovery._check_api_core_compatible_with_credentials_universe": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 282}], ["with_scopes", {"name": {"googleapiclient._auth.with_scopes": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 281}], ["word", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery.fix_method_name": {}}, "kind": {}, "_index": 1354}], ["words", {"name": {}, "names": {"googleapiclient.discovery.RESERVED_WORDS": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 1342}], ["work", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}}, "kind": {}, "_index": 831}], ["wrapper", {"name": {}, "names": {"googleapiclient.model.JsonModel._data_wrapper": {}}, "qname": {}, "docstring": {"googleapiclient.http._StreamSlice": {}}, "kind": {}, "_index": 712}], ["write", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient._helpers.positional": {}}, "kind": {}, "_index": 339}], ["x", {"name": {}, "names": {"googleapiclient.channel.X_GOOG_CHANNEL_ID": {}, "googleapiclient.channel.X_GOOG_MESSAGE_NUMBER": {}, "googleapiclient.channel.X_GOOG_RESOURCE_STATE": {}, "googleapiclient.channel.X_GOOG_RESOURCE_URI": {}, "googleapiclient.channel.X_GOOG_RESOURCE_ID": {}}, "qname": {}, "docstring": {}, "kind": {}, "_index": 500}], ["x_goog_channel_id", {"name": {"googleapiclient.channel.X_GOOG_CHANNEL_ID": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 499}], ["x_goog_message_number", {"name": {"googleapiclient.channel.X_GOOG_MESSAGE_NUMBER": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 503}], ["x_goog_resource_id", {"name": {"googleapiclient.channel.X_GOOG_RESOURCE_ID": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 511}], ["x_goog_resource_state", {"name": {"googleapiclient.channel.X_GOOG_RESOURCE_STATE": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 506}], ["x_goog_resource_uri", {"name": {"googleapiclient.channel.X_GOOG_RESOURCE_URI": {}}, "names": {}, "qname": {}, "docstring": {}, "kind": {}, "_index": 509}], ["xhtml", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.mimeparse.parse_mime_type": {}}, "kind": {}, "_index": 604}], ["zyp", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.discovery._cast": {}, "googleapiclient.discovery.ResourceMethodParameters.param_types": {}}, "kind": {}, "_index": 1382}], ["{", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}, "googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 232}], ["}", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}, "googleapiclient.http.RequestMockBuilder": {}}, "kind": {}, "_index": 251}], ["}\"\"\"", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}}, "kind": {}, "_index": 252}], ["},", {"name": {}, "names": {}, "qname": {}, "docstring": {"googleapiclient.schema": {}}, "kind": {}, "_index": 238}]], "pipeline": []} \ No newline at end of file diff --git a/docs/pydoc/googleapiclient._auth.html b/docs/pydoc/googleapiclient._auth.html new file mode 100644 index 00000000000..b2633d403a1 --- /dev/null +++ b/docs/pydoc/googleapiclient._auth.html @@ -0,0 +1,797 @@ + + + + + + + + googleapiclient._auth + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ module documentation +
+ +
+ +

+
+ +
+

Helpers for authentication using oauth2client or google-auth.

+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Functionapply_credentialsUndocumented
Functionauthorized_httpReturns an http client that is authorized with the given credentials.
Functioncredentials_from_fileReturns credentials loaded from a file.
Functiondefault_credentialsReturns Application Default Credentials.
Functionget_credentials_from_httpUndocumented
Functionis_validUndocumented
Functionrefresh_credentialsUndocumented
Functionwith_scopesScopes the credentials if necessary.
VariableHAS_GOOGLE_AUTHUndocumented
VariableHAS_OAUTH2CLIENTUndocumented
+ + + +
+ +
+
+ + + + + + + + +
+ + + def apply_credentials(credentials, headers): + + + + + ¶ + +
+
+ +

Undocumented

+
+
+ + + + + + + + +
+ + + def authorized_http(credentials): + + + + + ¶ + +
+
+ +

Returns an http client that is authorized with the given credentials.

Parameters
credentials:Union[google.auth.credentials.Credentials, oauth2client.client.Credentials]The credentials to use.
Returns
Union[httplib2.Http, google_auth_httplib2.AuthorizedHttp]
+
An
+
authorized http client.
+
+
+
+
+ + + + + + + + +
+ + + def credentials_from_file(filename, scopes=None, quota_project_id=None): + + + + + ¶ + +
+
+ +

Returns credentials loaded from a file.

+
+
+ + + + + + + + +
+ + + def default_credentials(scopes=None, quota_project_id=None): + + + + + ¶ + +
+
+ +

Returns Application Default Credentials.

+
+
+ + + + + + + + +
+ + + def get_credentials_from_http(http): + + + + + ¶ + +
+
+ +

Undocumented

+
+
+ + + + + + + + +
+ + + def is_valid(credentials): + + + + + ¶ + +
+
+ +

Undocumented

+
+
+ + + + + + + + +
+ + + def refresh_credentials(credentials): + + + + + ¶ + +
+
+ +

Undocumented

+
+
+ + + + + + + + +
+ + + def with_scopes(credentials, scopes): + + + + + ¶ + +
+
+ +

Scopes the credentials if necessary.

Parameters
credentials:Union[google.auth.credentials.Credentials, oauth2client.client.Credentials]The credentials to scope.
scopes:Sequence[str]The list of scopes.
Returns
Union[google.auth.credentials.Credentials, oauth2client.client.Credentials]The scoped credentials.
+
+
+ + + + + + + + +
+ + HAS_GOOGLE_AUTH: bool = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + HAS_OAUTH2CLIENT: bool = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient._helpers.html b/docs/pydoc/googleapiclient._helpers.html new file mode 100644 index 00000000000..dc6627a28d4 --- /dev/null +++ b/docs/pydoc/googleapiclient._helpers.html @@ -0,0 +1,938 @@ + + + + + + + + googleapiclient._helpers + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ module documentation +
+ +
+ +

+
+ +
+

Helper functions for commonly used utilities.

+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Functionparse_unique_urlencodedParses unique key-value parameters from urlencoded content.
FunctionpositionalA decorator to declare that only the first N arguments may be positional.
Functionupdate_query_paramsUpdates a URI with new query parameters.
ConstantPOSITIONAL_EXCEPTIONUndocumented
ConstantPOSITIONAL_IGNOREUndocumented
ConstantPOSITIONAL_SETUndocumented
ConstantPOSITIONAL_WARNINGUndocumented
VariableloggerUndocumented
Function_add_query_parameterAdds a query parameter to a url.
Constant_IS_DIR_MESSAGEUndocumented
Constant_MISSING_FILE_MESSAGEUndocumented
Constant_SYM_LINK_MESSAGEUndocumented
+ + + +
+ +
+
+ + + + + + + + +
+ + + def parse_unique_urlencoded(content): + + + + + ¶ + +
+
+ +

Parses unique key-value parameters from urlencoded content.

Parameters
contentstring, URL-encoded key-value pairs.
Returns
dict, The key-value pairs from content.
Raises
ValueErrorif one of the keys is repeated.
+
+
+ + + + + + + + +
+ + + def positional(max_positional_args): + + + + + ¶ + +
+
+ +

A decorator to declare that only the first N arguments may be positional.

+

This decorator makes it easy to support Python 3 style keyword-only +parameters. For example, in Python 3 it is possible to write:

+
+def fn(pos1, *, kwonly1=None, kwonly2=None):
+    ...
+
+

All named parameters after * must be a keyword:

+
+fn(10, 'kw1', 'kw2')  # Raises exception.
+fn(10, kwonly1='kw1')  # Ok.
+
+
+

Example

+

To define a function like above, do:

+
+@positional(1)
+def fn(pos1, kwonly1=None, kwonly2=None):
+    ...
+
+

If no default value is provided to a keyword argument, it becomes a +required keyword argument:

+
+@positional(0)
+def fn(required_kw):
+    ...
+
+

This must be called with the keyword parameter:

+
+fn()  # Raises exception.
+fn(10)  # Raises exception.
+fn(required_kw=10)  # Ok.
+
+

When defining instance or class methods always remember to account for +self and cls:

+
+class MyClass(object):
+
+    @positional(2)
+    def my_method(self, pos1, kwonly1=None):
+        ...
+
+    @classmethod
+    @positional(2)
+    def my_method(cls, pos1, kwonly1=None):
+        ...
+
+

The positional decorator behavior is controlled by +_helpers.positional_parameters_enforcement, which may be set to +POSITIONAL_EXCEPTION, POSITIONAL_WARNING or +POSITIONAL_IGNORE to raise an exception, log a warning, or do +nothing, respectively, if a declaration is violated.

+
+
Parameters
max_positional_argsUndocumented
max_positional_argumentsMaximum number of positional arguments. All +parameters after this index must be +keyword only.
Returns
A decorator that prevents using arguments after max_positional_args +from being used as positional parameters.
Raises
TypeErrorif a keyword-only argument is provided as a positional +parameter, but only if +_helpers.positional_parameters_enforcement is set to +POSITIONAL_EXCEPTION.
+
+
+ + + + + + + + +
+ + + def update_query_params(uri, params): + + + + + ¶ + +
+
+ +

Updates a URI with new query parameters.

+

If a given key from params is repeated in the uri, then +the URI will be considered invalid and an error will occur.

+

If the URI is valid, then each value from params will +replace the corresponding value in the query parameters (if +it exists).

+
Parameters
uristring, A valid URI, with potential existing query parameters.
paramsdict, A dictionary of query parameters.
Returns
The same URI but with the new query parameters added.
+
+
+ + + + + + + + +
+ + POSITIONAL_EXCEPTION: str = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
'EXCEPTION'
+
+
+ + + + + + + + +
+ + POSITIONAL_IGNORE: str = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
'IGNORE'
+
+
+ + + + + + + + +
+ + POSITIONAL_SET = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
frozenset([POSITIONAL_WARNING, POSITIONAL_EXCEPTION, POSITIONAL_IGNORE])
+
+
+ + + + + + + + +
+ + POSITIONAL_WARNING: str = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
'WARNING'
+
+
+ + + + + + + + +
+ + logger = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + + def _add_query_parameter(url, name, value): + + + + + ¶ + +
+
+ +

Adds a query parameter to a url.

+

Replaces the current value if it already exists in the URL.

+
Parameters
urlstring, url to add the query parameter to.
namestring, query parameter name.
valuestring, query parameter value.
Returns
Updated query parameter. Does not update the url if value is None.
+
+
+ + + + + + + + +
+ + _IS_DIR_MESSAGE: str = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
'{0}: Is a directory'
+
+
+ + + + + + + + +
+ + _MISSING_FILE_MESSAGE: str = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
'Cannot access {0}: No such file or directory'
+
+
+ + + + + + + + +
+ + _SYM_LINK_MESSAGE: str = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
'File: {0}: Is a symbolic link.'
+
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.channel.Channel.html b/docs/pydoc/googleapiclient.channel.Channel.html new file mode 100644 index 00000000000..d8b8be71c8d --- /dev/null +++ b/docs/pydoc/googleapiclient.channel.Channel.html @@ -0,0 +1,866 @@ + + + + + + + + googleapiclient.channel.Channel + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ +
+

class Channel(object):

Constructor: Channel(type, id, token, address, ...)

+

View In Hierarchy

+
+ +
+

A Channel for notifications.

+

Usually not constructed directly, instead it is returned from helper +functions like new_webhook_channel().

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method__init__Create a new Channel.
MethodbodyBuild a body from the Channel.
MethodupdateUpdate a channel with information from the response of watch().
Instance Variableaddressstr, The address of the receiving entity where events are delivered. Specific to the channel type.
Instance Variableexpirationint, The time, in milliseconds from the epoch, when this channel will expire.
Instance Variableidstr, A UUID for the channel.
Instance Variableparamsdict, A dictionary of string to string, with additional parameters controlling delivery channel behavior.
Instance Variableresource_idstr, An opaque id that identifies the resource that is being watched. Stable across different API versions.
Instance Variableresource_uristr, The canonicalized ID of the watched resource.
Instance Variabletokenstr, An arbitrary string associated with the channel that is delivered to the target address with each event delivered over this channel.
Instance Variabletypestr, The type of delivery mechanism used by this channel. For example, 'web_hook'.
+ + + +
+ +
+
+ + + + + + + + +
+ + @util.positional(5)
+ def __init__(self, type, id, token, address, expiration=None, params=None, resource_id='', resource_uri=''): + + + + + ¶ + +
+
+ +

Create a new Channel.

+

In user code, this Channel constructor will not typically be called +manually since there are functions for creating channels for each specific +type with a more customized set of arguments to pass.

+
Parameters
typestr, The type of delivery mechanism used by this channel. For +example, 'web_hook'.
idstr, A UUID for the channel.
tokenstr, An arbitrary string associated with the channel that +is delivered to the target address with each event delivered +over this channel.
addressstr, The address of the receiving entity where events are +delivered. Specific to the channel type.
expirationint, The time, in milliseconds from the epoch, when this +channel will expire.
paramsdict, A dictionary of string to string, with additional parameters +controlling delivery channel behavior.
resource_idstr, An opaque id that identifies the resource that is +being watched. Stable across different API versions.
resource_uristr, The canonicalized ID of the watched resource.
+
+
+ + + + + + + + +
+ + + def body(self): + + + + + ¶ + +
+
+ +

Build a body from the Channel.

+

Constructs a dictionary that's appropriate for passing into watch() +methods as the value of body argument.

+
Returns
A dictionary representation of the channel.
+
+
+ + + + + + + + +
+ + + def update(self, resp): + + + + + ¶ + +
+
+ +

Update a channel with information from the response of watch().

+

When a request is sent to watch() a resource, the response returned +from the watch() request is a dictionary with updated channel information, +such as the resource_id, which is needed when stopping a subscription.

+
Parameters
respdict, The response from a watch() method.
+
+
+ + + + + + + + +
+ + address = + + + + + ¶ + +
+
+ +

str, The address of the receiving entity where events are +delivered. Specific to the channel type.

+ +
+
+ + + + + + + + +
+ + expiration = + + + + + ¶ + +
+
+ +

int, The time, in milliseconds from the epoch, when this +channel will expire.

+ +
+
+ + + + + + + + +
+ + id = + + + + + ¶ + +
+
+ +

str, A UUID for the channel.

+ +
+
+ + + + + + + + +
+ + params = + + + + + ¶ + +
+
+ +

dict, A dictionary of string to string, with additional parameters +controlling delivery channel behavior.

+ +
+
+ + + + + + + + +
+ + resource_id = + + + + + ¶ + +
+
+ +

str, An opaque id that identifies the resource that is +being watched. Stable across different API versions.

+ +
+
+ + + + + + + + +
+ + resource_uri = + + + + + ¶ + +
+
+ +

str, The canonicalized ID of the watched resource.

+ +
+
+ + + + + + + + +
+ + token = + + + + + ¶ + +
+
+ +

str, An arbitrary string associated with the channel that +is delivered to the target address with each event delivered +over this channel.

+ +
+
+ + + + + + + + +
+ + type = + + + + + ¶ + +
+
+ +

str, The type of delivery mechanism used by this channel. For +example, 'web_hook'.

+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.channel.Notification.html b/docs/pydoc/googleapiclient.channel.Notification.html new file mode 100644 index 00000000000..3dee5aadde4 --- /dev/null +++ b/docs/pydoc/googleapiclient.channel.Notification.html @@ -0,0 +1,648 @@ + + + + + + + + googleapiclient.channel.Notification + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ + + +
+

A Notification from a Channel.

+

Notifications are not usually constructed directly, but are returned +from functions like notification_from_headers().

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method__init__Notification constructor.
Instance Variablemessage_numberint, The unique id number of this notification.
Instance Variableresource_idstr, The unique identifier of the version of the resource at this event.
Instance Variableresource_uriUndocumented
Instance Variablestatestr, The state of the resource being monitored.
Instance Variableuristr, The address of the resource being monitored.
+ + + +
+ +
+
+ + + + + + + + +
+ + @util.positional(5)
+ def __init__(self, message_number, state, resource_uri, resource_id): + + + + + ¶ + +
+
+ +

Notification constructor.

Parameters
message_numberint, The unique id number of this notification.
statestr, The state of the resource being monitored. Can be one +of "exists", "not_exists", or "sync".
resource_uristr, The address of the resource being monitored.
resource_idstr, The identifier of the watched resource.
+
+
+ + + + + + + + +
+ + message_number = + + + + + ¶ + +
+
+ +

int, The unique id number of this notification.

+ +
+
+ + + + + + + + +
+ + resource_id = + + + + + ¶ + +
+
+ +

str, The unique identifier of the version of the resource at +this event.

+ +
+
+ + + + + + + + +
+ + resource_uri = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + state = + + + + + ¶ + +
+
+ +

str, The state of the resource being monitored.

+ +
+
+ + + + + + + + +
+ + uri = + + + + + ¶ + +
+
+ +

str, The address of the resource being monitored.

+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.channel.html b/docs/pydoc/googleapiclient.channel.html new file mode 100644 index 00000000000..90e512d787e --- /dev/null +++ b/docs/pydoc/googleapiclient.channel.html @@ -0,0 +1,899 @@ + + + + + + + + googleapiclient.channel + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ module documentation +
+ +
+ +

+
+ +
+

Channel notifications support.

+

Classes and functions to support channel subscriptions and notifications +on those channels.

+
+

Notes

+
    +
  • This code is based on experimental APIs and is subject to change.
  • +
  • Notification does not do deduplication of notification ids, that's up to +the receiver.
  • +
  • Storing the Channel between calls is up to the caller.
  • +
+
+

Example setting up a channel:

+
+

# Create a new channel that gets notifications via webhook. +channel = new_webhook_channel("https://example.com/my_web_hook")

+

# Store the channel, keyed by 'channel.id'. Store it before calling the +# watch method because notifications may start arriving before the watch +# method returns. +...

+
+
resp = service.objects().watchAll(
+
bucket="some_bucket_id", body=channel.body()).execute()
+
+

channel.update(resp)

+

# Store the channel, keyed by 'channel.id'. Store it after being updated +# since the resource_id value will now be correct, and that's needed to +# stop a subscription. +...

+
+

An example Webhook implementation using webapp2. Note that webapp2 puts +headers in a case insensitive dictionary, as headers aren't guaranteed to +always be upper case.

+
+

id = self.request.headers[X_GOOG_CHANNEL_ID]

+

# Retrieve the channel by id. +channel = ...

+

# Parse notification from the headers, including validating the id. +n = notification_from_headers(channel, self.request.headers)

+

# Do app specific stuff with the notification here. +if n.resource_state == 'sync':

+
+# Code to handle sync state.
+
+
elif n.resource_state == 'exists':
+
# Code to handle the exists state.
+
elif n.resource_state == 'not_exists':
+
# Code to handle the not exists state.
+
+
+

Example of unsubscribing.

+
+service.channels().stop(channel.body()).execute()
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ClassChannelA Channel for notifications.
ClassNotificationA Notification from a Channel.
Functionnew_webhook_channelCreate a new webhook Channel.
Functionnotification_from_headersthe notification, and return a Notification object.
ConstantCHANNEL_PARAMSUndocumented
ConstantEPOCHUndocumented
ConstantX_GOOG_CHANNEL_IDUndocumented
ConstantX_GOOG_MESSAGE_NUMBERUndocumented
ConstantX_GOOG_RESOURCE_IDUndocumented
ConstantX_GOOG_RESOURCE_STATEUndocumented
ConstantX_GOOG_RESOURCE_URIUndocumented
Function_upper_header_keysUndocumented
+ + + +
+ +
+
+ + + + + + + + +
+ + @util.positional(2)
+ def new_webhook_channel(url, token=None, expiration=None, params=None): + + + + + ¶ + +
+
+ +

Create a new webhook Channel.

Parameters
urlstr, URL to post notifications to.
tokenstr, An arbitrary string associated with the channel that +is delivered to the target address with each notification delivered +over this channel.
expirationdatetime.datetime, A time in the future when the channel +should expire. Can also be None if the subscription should use the +default expiration. Note that different services may have different +limits on how long a subscription lasts. Check the response from the +watch() method to see the value the service has set for an expiration +time.
paramsdict, Extra parameters to pass on channel creation. Currently +not used for webhook channels.
+
+
+ + + + + + + + +
+ + + def notification_from_headers(channel, headers): + + + + + ¶ + +
+
+ +

+
Parse a notification from the webhook request headers, validate
+
the notification, and return a Notification object.
+
+

Parameters
channelChannel, The channel that the notification is associated with.
headersdict, A dictionary like object that contains the request headers +from the webhook HTTP request.
Returns
A Notification object.
Raises
errors.InvalidNotificationError if the notification is invalid.
ValueError if the X-GOOG-MESSAGE-NUMBER can't be converted to an int.
+
+
+ + + + + + + + +
+ + CHANNEL_PARAMS: dict[str, str] = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
{'address': 'address',
+ 'id': 'id',
+ 'expiration': 'expiration',
+ 'params': 'params',
+ 'resourceId': 'resource_id',
+ 'resourceUri': 'resource_uri',
+ 'type': 'type',
+...
+
+
+ + + + + + + + +
+ + EPOCH = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
datetime.datetime(1970, 1, 1)
+
+
+ + + + + + + + +
+ + X_GOOG_CHANNEL_ID: str = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
'X-GOOG-CHANNEL-ID'
+
+
+ + + + + + + + +
+ + X_GOOG_MESSAGE_NUMBER: str = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
'X-GOOG-MESSAGE-NUMBER'
+
+
+ + + + + + + + +
+ + X_GOOG_RESOURCE_ID: str = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
'X-GOOG-RESOURCE-ID'
+
+
+ + + + + + + + +
+ + X_GOOG_RESOURCE_STATE: str = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
'X-GOOG-RESOURCE-STATE'
+
+
+ + + + + + + + +
+ + X_GOOG_RESOURCE_URI: str = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
'X-GOOG-RESOURCE-URI'
+
+
+ + + + + + + + +
+ + + def _upper_header_keys(headers): + + + + + ¶ + +
+
+ +

Undocumented

+
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.discovery.APICoreVersionError.html b/docs/pydoc/googleapiclient.discovery.APICoreVersionError.html new file mode 100644 index 00000000000..8b7eeae59bf --- /dev/null +++ b/docs/pydoc/googleapiclient.discovery.APICoreVersionError.html @@ -0,0 +1,765 @@ + + + + + + + + googleapiclient.discovery.APICoreVersionError + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ exception documentation +
+ +
+

class APICoreVersionError(ValueError):

+

View In Hierarchy

+
+ +
+

Undocumented

+
+ +
+ + + + + + + + + +
Method__init__Undocumented
+ + + +
+ +
+
+ + + + + + + + +
+ + + def __init__(self): + + + + + ¶ + +
+
+ +

Undocumented

+
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.discovery.Resource.html b/docs/pydoc/googleapiclient.discovery.Resource.html new file mode 100644 index 00000000000..72a33a347c2 --- /dev/null +++ b/docs/pydoc/googleapiclient.discovery.Resource.html @@ -0,0 +1,1637 @@ + + + + + + + + googleapiclient.discovery.Resource + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ + + +
+

A class for interacting with a resource.

+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method__enter__Undocumented
Method__exit__Undocumented
Method__getstate__Trim the state down to something that can be pickled.
Method__init__Build a Resource from the API description.
Method__setstate__Reconstitute the state of the object from being pickled.
MethodcloseClose httplib2 connections.
Method_add_basic_methodsUndocumented
Method_add_nested_resourcesUndocumented
Method_add_next_methodsUndocumented
Method_set_dynamic_attrSets an instance attribute and tracks it in a list of dynamic attributes.
Method_set_service_methodsUndocumented
Method_validate_credentialsValidates client's and credentials' universe domains are consistent.
Instance Variable_baseUrlUndocumented
Instance Variable_credentials_validatedUndocumented
Instance Variable_developerKeyUndocumented
Instance Variable_dynamic_attrsUndocumented
Instance Variable_httpUndocumented
Instance Variable_modelUndocumented
Instance Variable_requestBuilderUndocumented
Instance Variable_resourceDescUndocumented
Instance Variable_rootDescUndocumented
Instance Variable_schemaUndocumented
Instance Variable_universe_domainUndocumented
+ + + +
+ +
+
+ + + + + + + + +
+ + + def __enter__(self): + + + + + ¶ + +
+
+ +

Undocumented

+
+
+ + + + + + + + +
+ + + def __exit__(self, exc_type, exc, exc_tb): + + + + + ¶ + +
+
+ +

Undocumented

+
+
+ + + + + + + + +
+ + + def __getstate__(self): + + + + + ¶ + +
+
+ +

Trim the state down to something that can be pickled.

+

Uses the fact that the instance variable _dynamic_attrs holds attrs that +will be wiped and restored on pickle serialization.

+
+
+
+ + + + + + + + +
+ + + def __init__(self, http, baseUrl, model, requestBuilder, developerKey, resourceDesc, rootDesc, schema, universe_domain=universe.DEFAULT_UNIVERSE if HAS_UNIVERSE else ''): + + + + + ¶ + +
+
+ +

Build a Resource from the API description.

Parameters
httphttplib2.Http, Object to make http requests with.
baseUrlstring, base URL for the API. All requests are relative to this +URI.
modelgoogleapiclient.Model, converts to and from the wire format.
requestBuilderclass or callable that instantiates an +googleapiclient.HttpRequest object.
developerKeystring, key obtained from +https://code.google.com/apis/console
resourceDescobject, section of deserialized discovery document that +describes a resource. Note that the top level discovery document +is considered a resource.
rootDescobject, the entire deserialized discovery document.
schemaobject, mapping of schema names to schema descriptions.
universe_domainstring, the universe for the API. The default universe
is "googleapis.com".
+
+
+ + + + + + + + +
+ + + def __setstate__(self, state): + + + + + ¶ + +
+
+ +

Reconstitute the state of the object from being pickled.

+

Uses the fact that the instance variable _dynamic_attrs holds attrs that +will be wiped and restored on pickle serialization.

+
+
+
+ + + + + + + + +
+ + + def close(self): + + + + + ¶ + +
+
+ +

Close httplib2 connections.

+
+
+ + + + + + + + +
+ + + def _add_basic_methods(self, resourceDesc, rootDesc, schema): + + + + + ¶ + +
+
+ +

Undocumented

+
+
+ + + + + + + + +
+ + + def _add_nested_resources(self, resourceDesc, rootDesc, schema): + + + + + ¶ + +
+
+ +

Undocumented

+
+
+ + + + + + + + +
+ + + def _add_next_methods(self, resourceDesc, schema): + + + + + ¶ + +
+
+ +

Undocumented

+
+
+ + + + + + + + +
+ + + def _set_dynamic_attr(self, attr_name, value): + + + + + ¶ + +
+
+ +

Sets an instance attribute and tracks it in a list of dynamic attributes.

Parameters
attr_namestring; The name of the attribute to be set
valueThe value being set on the object and tracked in the dynamic cache.
+
+
+ + + + + + + + +
+ + + def _set_service_methods(self): + + + + + ¶ + +
+
+ +

Undocumented

+
+
+ + + + + + + + +
+ + + def _validate_credentials(self): + + + + + ¶ + +
+
+ +

Validates client's and credentials' universe domains are consistent.

Returns
boolTrue iff the configured universe domain is valid.
Raises
UniverseMismatchErrorIf the configured universe domain is not valid.
+
+
+ + + + + + + + +
+ + _baseUrl = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _credentials_validated = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _developerKey = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _dynamic_attrs: list = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _http = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _model = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _requestBuilder = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _resourceDesc = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _rootDesc = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _schema = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _universe_domain = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.discovery.ResourceMethodParameters.html b/docs/pydoc/googleapiclient.discovery.ResourceMethodParameters.html new file mode 100644 index 00000000000..13346b3d128 --- /dev/null +++ b/docs/pydoc/googleapiclient.discovery.ResourceMethodParameters.html @@ -0,0 +1,1139 @@ + + + + + + + + googleapiclient.discovery.ResourceMethodParameters + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ +
+

class ResourceMethodParameters(object):

Constructor: ResourceMethodParameters(method_desc)

+

View In Hierarchy

+
+ +
+

Represents the parameters associated with a method.

+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method__init__Constructor for ResourceMethodParameters.
Methodset_parametersPopulates maps and lists based on method description.
Instance VariableargmapMap from method parameter name (string) to query parameter name (string).
Instance Variableenum_paramsMap from method parameter name (string) to list of strings, where each list of strings is the list of acceptable enum values.
Instance Variableparam_typesMap from method parameter name (string) to parameter type. Type can be any valid JSON schema type; valid values are 'any', 'array', 'boolean', 'integer', 'number', 'object', or 'string'. Reference: http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1...
Instance Variablepath_paramsSet of parameters (represented by parameter name as string) that will be used in the base URL path.
Instance Variablepattern_paramsMap from method parameter name (string) to regular expression (as a string). If the pattern is set for a parameter, the value for that parameter must match the regular expression.
Instance Variablequery_paramsList of parameters (represented by parameter name as string) that will be used in the query string.
Instance Variablerepeated_paramsList of repeated parameters (represented by parameter name as string).
Instance Variablerequired_paramsList of required parameters (represented by parameter name as string).
+ + + +
+ +
+
+ + + + + + + + +
+ + + def __init__(self, method_desc): + + + + + ¶ + +
+
+ +

Constructor for ResourceMethodParameters.

+

Sets default values and defers to set_parameters to populate.

+
Parameters
method_descDictionary with metadata describing an API method. Value +comes from the dictionary of methods stored in the 'methods' key in +the deserialized discovery document.
+
+
+ + + + + + + + +
+ + + def set_parameters(self, method_desc): + + + + + ¶ + +
+
+ +

Populates maps and lists based on method description.

+

Iterates through each parameter for the method and parses the values from +the parameter dictionary.

+
Parameters
method_descDictionary with metadata describing an API method. Value +comes from the dictionary of methods stored in the 'methods' key in +the deserialized discovery document.
+
+
+ + + + + + + + +
+ + argmap: dict = + + + + + ¶ + +
+
+ +

Map from method parameter name (string) to query parameter name +(string).

+ +
+
+ + + + + + + + +
+ + enum_params: dict = + + + + + ¶ + +
+
+ +

Map from method parameter name (string) to list of strings, +where each list of strings is the list of acceptable enum values.

+ +
+
+ + + + + + + + +
+ + param_types: dict = + + + + + ¶ + +
+
+ +

Map from method parameter name (string) to parameter type. Type +can be any valid JSON schema type; valid values are 'any', 'array', +'boolean', 'integer', 'number', 'object', or 'string'. Reference: +http://tools.ietf.org/html/draft-zyp-json-schema-03#section-5.1

+ +
+
+ + + + + + + + +
+ + path_params: set = + + + + + ¶ + +
+
+ +

Set of parameters (represented by parameter name as string) +that will be used in the base URL path.

+ +
+
+ + + + + + + + +
+ + pattern_params: dict = + + + + + ¶ + +
+
+ +

Map from method parameter name (string) to regular +expression (as a string). If the pattern is set for a parameter, the +value for that parameter must match the regular expression.

+ +
+
+ + + + + + + + +
+ + query_params: list = + + + + + ¶ + +
+
+ +

List of parameters (represented by parameter name as string) +that will be used in the query string.

+ +
+
+ + + + + + + + +
+ + repeated_params: list = + + + + + ¶ + +
+
+ +

List of repeated parameters (represented by parameter +name as string).

+ +
+
+ + + + + + + + +
+ + required_params: list = + + + + + ¶ + +
+
+ +

List of required parameters (represented by parameter +name as string).

+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.discovery._BytesGenerator.html b/docs/pydoc/googleapiclient.discovery._BytesGenerator.html new file mode 100644 index 00000000000..2cd96b15379 --- /dev/null +++ b/docs/pydoc/googleapiclient.discovery._BytesGenerator.html @@ -0,0 +1,719 @@ + + + + + + + + googleapiclient.discovery._BytesGenerator + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ +
+

class _BytesGenerator(BytesGenerator):

+

View In Hierarchy

+
+ +
+

Undocumented

+
+ +
+ + + + +
+ +
+ +
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.discovery.html b/docs/pydoc/googleapiclient.discovery.html new file mode 100644 index 00000000000..13b9a4cd465 --- /dev/null +++ b/docs/pydoc/googleapiclient.discovery.html @@ -0,0 +1,2201 @@ + + + + + + + + googleapiclient.discovery + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ module documentation +
+ +
+ +

+
+ +
+

Client for discovery based APIs.

+

A client library for Google's discovery based APIs.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ClassResourceA class for interacting with a resource.
ClassResourceMethodParametersRepresents the parameters associated with a method.
ExceptionAPICoreVersionErrorUndocumented
FunctionbuildConstruct a Resource for interacting with an API.
Functionbuild_from_documentCreate a Resource for interacting with an API.
FunctioncreateMethodCreates a method for attaching to a Resource.
FunctioncreateNextMethodCreates any _next methods for attaching to a Resource.
Functionfix_method_nameFix method names to avoid '$' characters and reserved word conflicts.
Functionkey2paramConverts key names into parameter names.
ConstantBODY_PARAMETER_DEFAULT_VALUEUndocumented
ConstantDEFAULT_METHOD_DOCUndocumented
ConstantDEFAULT_UNIVERSEUndocumented
ConstantDISCOVERY_URIUndocumented
ConstantGOOGLE_API_USE_CLIENT_CERTIFICATEUndocumented
ConstantGOOGLE_API_USE_MTLS_ENDPOINTUndocumented
ConstantGOOGLE_CLOUD_UNIVERSE_DOMAINUndocumented
ConstantHTTP_PAYLOAD_METHODSUndocumented
ConstantMEDIA_BODY_PARAMETER_DEFAULT_VALUEUndocumented
ConstantMEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUEUndocumented
ConstantRESERVED_WORDSUndocumented
ConstantSTACK_QUERY_PARAMETER_DEFAULT_VALUEUndocumented
ConstantSTACK_QUERY_PARAMETERSUndocumented
ConstantURITEMPLATEUndocumented
ConstantV2_DISCOVERY_URIUndocumented
ConstantVARNAMEUndocumented
Variable__author__Undocumented
VariableHAS_UNIVERSEUndocumented
VariableloggerUndocumented
Class_BytesGeneratorUndocumented
Function_castConvert value to a string based on JSON Schema type.
Function_check_api_core_compatible_with_credentials_universeUndocumented
Function_discovery_service_uri_optionsReturns Discovery URIs to be used for attempting to build the API Resource.
Function_findPageTokenNameSearch field names for one like a page token.
Function_fix_up_media_path_base_urlUpdate the media upload base url if its netloc doesn't match base url netloc.
Function_fix_up_media_uploadAdds 'media_body' and 'media_mime_type' parameters if supported by method.
Function_fix_up_method_descriptionUpdates a method description in a discovery document.
Function_fix_up_parametersUpdates parameters of an API method with values specific to this library.
Function_media_path_url_from_infoCreates an absolute media path URL.
Function_media_size_to_longConvert a string media size, such as 10GB or 3TB into an integer.
Function_methodPropertiesGet properties of a field in a method description.
Function_retrieve_discovery_docRetrieves the discovery_doc from cache or the internet.
Function_urljoinCustom urljoin replacement supporting : before / in url.
Constant_MEDIA_SIZE_BIT_SHIFTSUndocumented
Constant_PAGE_TOKEN_NAMESUndocumented
+ + + +
+ +
+
+ + + + + + + + +
+ + @positional(2)
+ def build(serviceName, version, http=None, discoveryServiceUrl=None, developerKey=None, model=None, requestBuilder=HttpRequest, credentials=None, cache_discovery=True, cache=None, client_options=None, adc_cert_path=None, adc_key_path=None, num_retries=1, static_discovery=None, always_use_jwt_access=False): + + + + + ¶ + +
+
+ +

Construct a Resource for interacting with an API.

+

Construct a Resource object for interacting with an API. The serviceName and +version are the names from the Discovery service.

+
Parameters
serviceNamestring, name of the service.
versionstring, the version of the service.
httphttplib2.Http, An instance of httplib2.Http or something that acts +like it that HTTP requests will be made through.
discoveryServiceUrlstring, a URI Template that points to the location of +the discovery service. It should have two parameters {api} and +{apiVersion} that when filled in produce an absolute URI to the discovery +document for that service.
developerKeystring, key obtained from +https://code.google.com/apis/console.
modelgoogleapiclient.Model, converts to and from the wire format.
requestBuildergoogleapiclient.http.HttpRequest, encapsulator for an HTTP +request.
credentialsoauth2client.Credentials or +google.auth.credentials.Credentials, credentials to be used for +authentication.
cache_discoveryBoolean, whether or not to cache the discovery doc.
cachegoogleapiclient.discovery_cache.base.CacheBase, an optional +cache object for the discovery documents.
client_optionsMapping object or google.api_core.client_options, client +options to set user options on the client. +(1) The API endpoint should be set through client_options. If API endpoint +is not set, GOOGLE_API_USE_MTLS_ENDPOINT environment variable can be used +to control which endpoint to use. +(2) client_cert_source is not supported, client cert should be provided using +client_encrypted_cert_source instead. In order to use the provided client +cert, GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable must be +set to true. +More details on the environment variables are here: +https://google.aip.dev/auth/4114
adc_cert_pathstr, client certificate file path to save the application +default client certificate for mTLS. This field is required if you want to +use the default client certificate. GOOGLE_API_USE_CLIENT_CERTIFICATE +environment variable must be set to true in order to use this field, +otherwise this field doesn't nothing. +More details on the environment variables are here: +https://google.aip.dev/auth/4114
adc_key_pathstr, client encrypted private key file path to save the +application default client encrypted private key for mTLS. This field is +required if you want to use the default client certificate. +GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable must be set to +true in order to use this field, otherwise this field doesn't nothing. +More details on the environment variables are here: +https://google.aip.dev/auth/4114
num_retriesInteger, number of times to retry discovery with +randomized exponential backoff in case of intermittent/connection issues.
static_discoveryBoolean, whether or not to use the static discovery docs +included in the library. The default value for static_discovery depends +on the value of discoveryServiceUrl. static_discovery will default to +True when discoveryServiceUrl is also not provided, otherwise it will +default to False.
always_use_jwt_accessBoolean, whether always use self signed JWT for service +account credentials. This only applies to +google.oauth2.service_account.Credentials.
Returns
A Resource object with methods for interacting with the service.
Raises
google.auth.exceptions.MutualTLSChannelErrorif there are any problems +setting up mutual TLS channel.
+
+
+ + + + + + + + +
+ + @positional(1)
+ def build_from_document(service, base=None, future=None, http=None, developerKey=None, model=None, requestBuilder=HttpRequest, credentials=None, client_options=None, adc_cert_path=None, adc_key_path=None, always_use_jwt_access=False): + + + + + ¶ + +
+
+ +

Create a Resource for interacting with an API.

+

Same as build(), but constructs the Resource object from a discovery +document that is it given, as opposed to retrieving one over HTTP.

+
Parameters
servicestring or object, the JSON discovery document describing the API. +The value passed in may either be the JSON string or the deserialized +JSON.
basestring, base URI for all HTTP requests, usually the discovery URI. +This parameter is no longer used as rootUrl and servicePath are included +within the discovery document. (deprecated)
futurestring, discovery document with future capabilities (deprecated).
httphttplib2.Http, An instance of httplib2.Http or something that acts +like it that HTTP requests will be made through.
developerKeystring, Key for controlling API usage, generated +from the API Console.
modelModel class instance that serializes and de-serializes requests and +responses.
requestBuilderTakes an http request and packages it up to be executed.
credentialsoauth2client.Credentials or +google.auth.credentials.Credentials, credentials to be used for +authentication.
client_optionsMapping object or google.api_core.client_options, client +options to set user options on the client. +(1) The API endpoint should be set through client_options. If API endpoint +is not set, GOOGLE_API_USE_MTLS_ENDPOINT environment variable can be used +to control which endpoint to use. +(2) client_cert_source is not supported, client cert should be provided using +client_encrypted_cert_source instead. In order to use the provided client +cert, GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable must be +set to true. +More details on the environment variables are here: +https://google.aip.dev/auth/4114
adc_cert_pathstr, client certificate file path to save the application +default client certificate for mTLS. This field is required if you want to +use the default client certificate. GOOGLE_API_USE_CLIENT_CERTIFICATE +environment variable must be set to true in order to use this field, +otherwise this field doesn't nothing. +More details on the environment variables are here: +https://google.aip.dev/auth/4114
adc_key_pathstr, client encrypted private key file path to save the +application default client encrypted private key for mTLS. This field is +required if you want to use the default client certificate. +GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable must be set to +true in order to use this field, otherwise this field doesn't nothing. +More details on the environment variables are here: +https://google.aip.dev/auth/4114
always_use_jwt_accessBoolean, whether always use self signed JWT for service +account credentials. This only applies to +google.oauth2.service_account.Credentials.
Returns
A Resource object with methods for interacting with the service.
Raises
google.auth.exceptions.MutualTLSChannelErrorif there are any problems +setting up mutual TLS channel.
+
+
+ + + + + + + + +
+ + + def createMethod(methodName, methodDesc, rootDesc, schema): + + + + + ¶ + +
+
+ +

Creates a method for attaching to a Resource.

Parameters
methodNamestring, name of the method to use.
methodDescobject, fragment of deserialized discovery document that +describes the method.
rootDescobject, the entire deserialized discovery document.
schemaobject, mapping of schema names to schema descriptions.
+
+
+ + + + + + + + +
+ + + def createNextMethod(methodName, pageTokenName='pageToken', nextPageTokenName='nextPageToken', isPageTokenParameter=True): + + + + + ¶ + +
+
+ +

Creates any _next methods for attaching to a Resource.

+

The _next methods allow for easy iteration through list() responses.

+
Parameters
methodNamestring, name of the method to use.
pageTokenNamestring, name of request page token field.
nextPageTokenNamestring, name of response page token field.
isPageTokenParameterBoolean, True if request page token is a query +parameter, False if request page token is a field of the request body.
+
+
+ + + + + + + + +
+ + + def fix_method_name(name): + + + + + ¶ + +
+
+ +

Fix method names to avoid '$' characters and reserved word conflicts.

Parameters
namestring, method name.
Returns
The name with '_' appended if the name is a reserved word and '$' and '-' +replaced with '_'.
+
+
+ + + + + + + + +
+ + + def key2param(key): + + + + + ¶ + +
+
+ +

Converts key names into parameter names.

+

For example, converting "max-results" -> "max_results"

+
Parameters
keystring, the method key name.
Returns
A safe method name based on the key name.
+
+
+ + + + + + + + +
+ + BODY_PARAMETER_DEFAULT_VALUE: dict[str, str] = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
{'description': 'The request body.', 'type': 'object'}
+
+
+ + + + + + + + +
+ + DEFAULT_METHOD_DOC: str = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
'A description of how to use this function'
+
+
+ + + + + + + + +
+ + DEFAULT_UNIVERSE: str = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
'googleapis.com'
+
+
+ + + + + + + + +
+ + DISCOVERY_URI: str = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
'https://www.googleapis.com/discovery/v1/apis/{api}/{apiVersion}/rest'
+
+
+ + + + + + + + +
+ + GOOGLE_API_USE_CLIENT_CERTIFICATE: str = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
'GOOGLE_API_USE_CLIENT_CERTIFICATE'
+
+
+ + + + + + + + +
+ + GOOGLE_API_USE_MTLS_ENDPOINT: str = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
'GOOGLE_API_USE_MTLS_ENDPOINT'
+
+
+ + + + + + + + +
+ + GOOGLE_CLOUD_UNIVERSE_DOMAIN: str = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
'GOOGLE_CLOUD_UNIVERSE_DOMAIN'
+
+
+ + + + + + + + +
+ + HTTP_PAYLOAD_METHODS = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
frozenset(['PUT', 'POST', 'PATCH'])
+
+
+ + + + + + + + +
+ + MEDIA_BODY_PARAMETER_DEFAULT_VALUE: dict = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
{'description': 'The filename of the media request body, or an instance of a Med
+iaUpload object.',
+ 'type': 'string',
+ 'required': False}
+
+
+ + + + + + + + +
+ + MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE: dict = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
{'description': 'The MIME type of the media request body, or an instance of a Me
+diaUpload object.',
+ 'type': 'string',
+ 'required': False}
+
+
+ + + + + + + + +
+ + RESERVED_WORDS = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
frozenset(['body'])
+
+
+ + + + + + + + +
+ + STACK_QUERY_PARAMETER_DEFAULT_VALUE: dict[str, str] = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
{'type': 'string', 'location': 'query'}
+
+
+ + + + + + + + +
+ + STACK_QUERY_PARAMETERS = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
frozenset(['trace', 'pp', 'userip', 'strict'])
+
+
+ + + + + + + + +
+ + URITEMPLATE = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
re.compile(r'\{[^\}]*\}')
+
+
+ + + + + + + + +
+ + V2_DISCOVERY_URI: str = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
'https://{api}.googleapis.com/$discovery/rest?version={apiVersion}'
+
+
+ + + + + + + + +
+ + VARNAME = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
re.compile(r'[a-zA-Z0-9_-]+')
+
+
+ + + + + + + + +
+ + __author__: str = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + HAS_UNIVERSE: bool = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + logger = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + + def _cast(value, schema_type): + + + + + ¶ + +
+
+ +

Convert value to a string based on JSON Schema type.

+

See http://tools.ietf.org/html/draft-zyp-json-schema-03 for more details on +JSON Schema.

+
Parameters
valueany, the value to convert
schema_typestring, the type that value should be interpreted as
Returns
A string representation of 'value' based on the schema_type.
+
+
+ + + + + + + + +
+ + + def _check_api_core_compatible_with_credentials_universe(credentials): + + + + + ¶ + +
+
+ +

Undocumented

+
+
+ + + + + + + + +
+ + + def _discovery_service_uri_options(discoveryServiceUrl, version): + + + + + ¶ + +
+
+ +

+Returns Discovery URIs to be used for attempting to build the API Resource.
+

Parameters
discoveryServiceUrlstring, the Original Discovery Service URL preferred by the customer.
versionstring, API Version requested
Returns
A list of URIs to be tried for the Service Discovery, in order.
+
+
+ + + + + + + + +
+ + + def _findPageTokenName(fields): + + + + + ¶ + +
+
+ +

Search field names for one like a page token.

Parameters
fieldscontainer of string, names of fields.
Returns
First name that is either 'pageToken' or 'nextPageToken' if one exists, +otherwise None.
+
+
+ + + + + + + + +
+ + + def _fix_up_media_path_base_url(media_path_url, base_url): + + + + + ¶ + +
+
+ +

Update the media upload base url if its netloc doesn't match base url netloc.

+

This can happen in case the base url was overridden by +client_options.api_endpoint.

+
Parameters
media_path_urlString; the absolute URI for media upload.
base_urlstring, base URL for the API. All requests are relative to this URI.
Returns
String; the absolute URI for media upload.
+
+
+ + + + + + + + +
+ + + def _fix_up_media_upload(method_desc, root_desc, path_url, parameters): + + + + + ¶ + +
+
+ +

Adds 'media_body' and 'media_mime_type' parameters if supported by method.

+

SIDE EFFECTS: If there is a 'mediaUpload' in the method description, adds +'media_upload' key to parameters.

+
Parameters
method_descDictionary with metadata describing an API method. Value comes +from the dictionary of methods stored in the 'methods' key in the +deserialized discovery document.
root_descDictionary; the entire original deserialized discovery document.
path_urlString; the relative URL for the API method. Relative to the API +root, which is specified in the discovery document.
parametersA dictionary describing method parameters for method described +in method_desc.
Returns
Triple(accept, max_size, media_path_url)
+where
+
    +
  • accept is a list of strings representing what content types are +accepted for media upload. Defaults to empty list if not in the +discovery document.
  • +
  • max_size is a long representing the max size in bytes allowed for a +media upload. Defaults to 0L if not in the discovery document.
  • +
  • media_path_url is a String; the absolute URI for media upload for the +API method. Constructed using the API root URI and service path from +the discovery document and the relative path for the API method. If +media upload is not supported, this is None.
  • +
+
+
+
+ + + + + + + + +
+ + + def _fix_up_method_description(method_desc, root_desc, schema): + + + + + ¶ + +
+
+ +

Updates a method description in a discovery document.

+

SIDE EFFECTS: Changes the parameters dictionary in the method description with +extra parameters which are used locally.

+
Parameters
method_descDictionary with metadata describing an API method. Value comes +from the dictionary of methods stored in the 'methods' key in the +deserialized discovery document.
root_descDictionary; the entire original deserialized discovery document.
schemaObject, mapping of schema names to schema descriptions.
Returns
Tuple(path_url, http_method, method_id, accept, max_size, media_path_url)
+
where:
+
    +
  • path_url is a String; the relative URL for the API method. Relative to +the API root, which is specified in the discovery document.
  • +
  • http_method is a String; the HTTP method used to call the API method +described in the method description.
  • +
  • method_id is a String; the name of the RPC method associated with the +API method, and is in the method description in the 'id' key.
  • +
  • accept is a list of strings representing what content types are +accepted for media upload. Defaults to empty list if not in the +discovery document.
  • +
  • max_size is a long representing the max size in bytes allowed for a +media upload. Defaults to 0L if not in the discovery document.
  • +
  • media_path_url is a String; the absolute URI for media upload for the +API method. Constructed using the API root URI and service path from +the discovery document and the relative path for the API method. If +media upload is not supported, this is None.
  • +
+
+
+
+
+
+ + + + + + + + +
+ + + def _fix_up_parameters(method_desc, root_desc, http_method, schema): + + + + + ¶ + +
+
+ +

Updates parameters of an API method with values specific to this library.

+

Specifically, adds whatever global parameters are specified by the API to the +parameters for the individual method. Also adds parameters which don't +appear in the discovery document, but are available to all discovery based +APIs (these are listed in STACK_QUERY_PARAMETERS).

+

SIDE EFFECTS: This updates the parameters dictionary object in the method +description.

+
Parameters
method_descDictionary with metadata describing an API method. Value comes +from the dictionary of methods stored in the 'methods' key in the +deserialized discovery document.
root_descDictionary; the entire original deserialized discovery document.
http_methodString; the HTTP method used to call the API method described +in method_desc.
schemaObject, mapping of schema names to schema descriptions.
Returns
+
The updated Dictionary stored in the 'parameters' key of the method
+
description dictionary.
+
+
+
+
+ + + + + + + + +
+ + + def _media_path_url_from_info(root_desc, path_url): + + + + + ¶ + +
+
+ +

Creates an absolute media path URL.

+

Constructed using the API root URI and service path from the discovery +document and the relative path for the API method.

+
Parameters
root_descDictionary; the entire original deserialized discovery document.
path_urlString; the relative URL for the API method. Relative to the API +root, which is specified in the discovery document.
Returns
String; the absolute URI for media upload for the API method.
+
+
+ + + + + + + + +
+ + + def _media_size_to_long(maxSize): + + + + + ¶ + +
+
+ +

Convert a string media size, such as 10GB or 3TB into an integer.

Parameters
maxSizestring, size as a string, such as 2MB or 7GB.
Returns
The size as an integer value.
+
+
+ + + + + + + + +
+ + + def _methodProperties(methodDesc, schema, name): + + + + + ¶ + +
+
+ +

Get properties of a field in a method description.

Parameters
methodDescobject, fragment of deserialized discovery document that +describes the method.
schemaobject, mapping of schema names to schema descriptions.
namestring, name of top-level field in method description.
Returns
Object representing fragment of deserialized discovery document +corresponding to 'properties' field of object corresponding to named field +in method description, if it exists, otherwise empty dict.
+
+
+ + + + + + + + +
+ + + def _retrieve_discovery_doc(url, http, cache_discovery, serviceName, version, cache=None, developerKey=None, num_retries=1, static_discovery=True): + + + + + ¶ + +
+
+ +

Retrieves the discovery_doc from cache or the internet.

Parameters
urlstring, the URL of the discovery document.
httphttplib2.Http, An instance of httplib2.Http or something that acts +like it through which HTTP requests will be made.
cache_discoveryBoolean, whether or not to cache the discovery doc.
serviceNamestring, name of the service.
versionstring, the version of the service.
cachegoogleapiclient.discovery_cache.base.Cache, an optional cache +object for the discovery documents.
developerKeystring, Key for controlling API usage, generated +from the API Console.
num_retriesInteger, number of times to retry discovery with +randomized exponential backoff in case of intermittent/connection issues.
static_discoveryBoolean, whether or not to use the static discovery docs +included in the library.
Returns
A unicode string representation of the discovery document.
+
+
+ + + + + + + + +
+ + + def _urljoin(base, url): + + + + + ¶ + +
+
+ +

Custom urljoin replacement supporting : before / in url.

+
+
+ + + + + + + + +
+ + _MEDIA_SIZE_BIT_SHIFTS: dict[str, int] = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
{'KB': 10, 'MB': 20, 'GB': 30, 'TB': 40}
+
+
+ + + + + + + + +
+ + _PAGE_TOKEN_NAMES: tuple[str, ...] = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
('pageToken', 'nextPageToken')
+
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.discovery_cache.appengine_memcache.Cache.html b/docs/pydoc/googleapiclient.discovery_cache.appengine_memcache.Cache.html new file mode 100644 index 00000000000..46dc8d2968c --- /dev/null +++ b/docs/pydoc/googleapiclient.discovery_cache.appengine_memcache.Cache.html @@ -0,0 +1,483 @@ + + + + + + + + googleapiclient.discovery_cache.appengine_memcache.Cache + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ +
+

class Cache(base.Cache):

Constructor: Cache(max_age)

+

View In Hierarchy

+
+ +
+

A cache with app engine memcache API.

+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + +
Method__init__Constructor.
MethodgetGets the content from the memcache with a given key.
MethodsetSets the given key and content in the cache.
Instance Variable_max_ageUndocumented
+ + + +
+ +
+
+ + + + + + + + +
+ + + def __init__(self, max_age): + + + + + ¶ + +
+
+ +

Constructor.

Parameters
max_ageCache expiration in seconds.
+
+
+ + + + + + + + +
+ + + def get(self, url): + + + + + ¶ + +
+
+ +

Gets the content from the memcache with a given key.

Parameters
urlstring, the key for the cache.
Returns
object, the value in the cache for the given key, or None if the key is +not in the cache.
+
+
+ + + + + + + + +
+ + + def set(self, url, content): + + + + + ¶ + +
+
+ +

Sets the given key and content in the cache.

Parameters
urlstring, the key for the cache.
contentstring, the discovery document.
+
+
+ + + + + + + + +
+ + _max_age = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.discovery_cache.appengine_memcache.html b/docs/pydoc/googleapiclient.discovery_cache.appengine_memcache.html new file mode 100644 index 00000000000..f238b2e2950 --- /dev/null +++ b/docs/pydoc/googleapiclient.discovery_cache.appengine_memcache.html @@ -0,0 +1,501 @@ + + + + + + + + googleapiclient.discovery_cache.appengine_memcache + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ module documentation +
+ +
+ +

+
+ +
+

App Engine memcache based cache for the discovery document.

+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + +
ClassCacheA cache with app engine memcache API.
ConstantLOGGERUndocumented
ConstantNAMESPACEUndocumented
VariablecacheUndocumented
+ + + +
+ +
+
+ + + + + + + + +
+ + LOGGER = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
logging.getLogger(__name__)
+
+
+ + + + + + + + +
+ + NAMESPACE: str = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
'google-api-client'
+
+
+ + + + + + + + +
+ + cache = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.discovery_cache.base.Cache.html b/docs/pydoc/googleapiclient.discovery_cache.base.Cache.html new file mode 100644 index 00000000000..9df35fedac9 --- /dev/null +++ b/docs/pydoc/googleapiclient.discovery_cache.base.Cache.html @@ -0,0 +1,369 @@ + + + + + + + + googleapiclient.discovery_cache.base.Cache + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ + + +
+

A base abstract cache class.

+
+ +
+ + + + + + + + + + + + + + +
MethodgetGets the content from the memcache with a given key.
MethodsetSets the given key and content in the cache.
+ + + +
+ +
+
+ + + + + + + + +
+ + @abc.abstractmethod
+ def get(self, url): + + + + + ¶ + +
+
+ +

Gets the content from the memcache with a given key.

Parameters
urlstring, the key for the cache.
Returns
object, the value in the cache for the given key, or None if the key is +not in the cache.
+
+
+ + + + + + + + +
+ + @abc.abstractmethod
+ def set(self, url, content): + + + + + ¶ + +
+
+ +

Sets the given key and content in the cache.

Parameters
urlstring, the key for the cache.
contentstring, the discovery document.
+
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.discovery_cache.base.html b/docs/pydoc/googleapiclient.discovery_cache.base.html new file mode 100644 index 00000000000..755a2fbe0ce --- /dev/null +++ b/docs/pydoc/googleapiclient.discovery_cache.base.html @@ -0,0 +1,381 @@ + + + + + + + + googleapiclient.discovery_cache.base + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ module documentation +
+ +
+ +

+
+ +
+

An abstract class for caching the discovery document.

+
+ +
+ + + + + + + + + +
ClassCacheA base abstract cache class.
+ + + +
+ +
+ +
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.discovery_cache.file_cache.Cache.html b/docs/pydoc/googleapiclient.discovery_cache.file_cache.Cache.html new file mode 100644 index 00000000000..a9388b6fb0f --- /dev/null +++ b/docs/pydoc/googleapiclient.discovery_cache.file_cache.Cache.html @@ -0,0 +1,555 @@ + + + + + + + + googleapiclient.discovery_cache.file_cache.Cache + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ +
+

class Cache(base.Cache):

Constructor: Cache(max_age)

+

View In Hierarchy

+
+ +
+

A file based cache for the discovery documents.

+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method__init__Constructor.
MethodgetGets the content from the memcache with a given key.
MethodsetSets the given key and content in the cache.
Instance Variable_fileUndocumented
Instance Variable_max_ageUndocumented
+ + + +
+ +
+
+ + + + + + + + +
+ + + def __init__(self, max_age): + + + + + ¶ + +
+
+ +

Constructor.

Parameters
max_ageCache expiration in seconds.
+
+
+ + + + + + + + +
+ + + def get(self, url): + + + + + ¶ + +
+
+ +

Gets the content from the memcache with a given key.

Parameters
urlstring, the key for the cache.
Returns
object, the value in the cache for the given key, or None if the key is +not in the cache.
+
+
+ + + + + + + + +
+ + + def set(self, url, content): + + + + + ¶ + +
+
+ +

Sets the given key and content in the cache.

Parameters
urlstring, the key for the cache.
contentstring, the discovery document.
+
+
+ + + + + + + + +
+ + _file = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _max_age = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.discovery_cache.file_cache.html b/docs/pydoc/googleapiclient.discovery_cache.file_cache.html new file mode 100644 index 00000000000..4ccb81a1b02 --- /dev/null +++ b/docs/pydoc/googleapiclient.discovery_cache.file_cache.html @@ -0,0 +1,626 @@ + + + + + + + + googleapiclient.discovery_cache.file_cache + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ module documentation +
+ +
+ +

+
+ +
+

File based cache for the discovery document.

+

The cache is stored in a single file so that multiple processes can +share the same cache. It locks the file whenever accessing to the +file. When the cache content is corrupted, it will be initialized with +an empty cache.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ClassCacheA file based cache for the discovery documents.
ConstantEPOCHUndocumented
ConstantFILENAMEUndocumented
ConstantLOGGERUndocumented
VariablecacheUndocumented
Function_read_or_initialize_cacheUndocumented
Function_to_timestampUndocumented
+ + + +
+ +
+
+ + + + + + + + +
+ + EPOCH = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
datetime.datetime(1970, 1, 1)
+
+
+ + + + + + + + +
+ + FILENAME: str = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
'google-api-python-client-discovery-doc.cache'
+
+
+ + + + + + + + +
+ + LOGGER = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
logging.getLogger(__name__)
+
+
+ + + + + + + + +
+ + cache = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + + def _read_or_initialize_cache(f): + + + + + ¶ + +
+
+ +

Undocumented

+
+
+ + + + + + + + +
+ + + def _to_timestamp(date): + + + + + ¶ + +
+
+ +

Undocumented

+
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.discovery_cache.html b/docs/pydoc/googleapiclient.discovery_cache.html new file mode 100644 index 00000000000..3a8a091308a --- /dev/null +++ b/docs/pydoc/googleapiclient.discovery_cache.html @@ -0,0 +1,653 @@ + + + + + + + + googleapiclient.discovery_cache + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ package documentation +
+ +
+ +

+
+ +
+

Caching utility for the discovery document.

+
+ +
+ + + + + + + + + + + + + + + + + + + +
Moduleappengine_memcacheApp Engine memcache based cache for the discovery document.
ModulebaseAn abstract class for caching the discovery document.
Modulefile_cacheFile based cache for the discovery document.
+ + +

From __init__.py:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FunctionautodetectDetects an appropriate cache module and returns it.
Functionget_static_docRetrieves the discovery document from the directory defined in DISCOVERY_DOC_DIR corresponding to the serviceName and version provided.
ConstantDISCOVERY_DOC_DIRUndocumented
ConstantDISCOVERY_DOC_MAX_AGEUndocumented
ConstantLOGGERUndocumented
+
+ +
+
+ + + + + + + + +
+ + + def autodetect(): + + + + + ¶ + +
+
+ +

Detects an appropriate cache module and returns it.

Returns
googleapiclient.discovery_cache.base.Cache, a cache object which +is auto detected, or None if no cache object is available.
+
+
+ + + + + + + + +
+ + + def get_static_doc(serviceName, version): + + + + + ¶ + +
+
+ +

Retrieves the discovery document from the directory defined in +DISCOVERY_DOC_DIR corresponding to the serviceName and version provided.

Parameters
serviceNamestring, name of the service.
versionstring, the version of the service.
Returns
A string containing the contents of the JSON discovery document, +otherwise None if the JSON discovery document was not found.
+
+
+ + + + + + + + +
+ + DISCOVERY_DOC_DIR = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
os.path.join(os.path.dirname(os.path.realpath(__file__)), 'documents')
+
+
+ + + + + + + + +
+ + DISCOVERY_DOC_MAX_AGE = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
60 * 60 * 24
+
+
+ + + + + + + + +
+ + LOGGER = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
logging.getLogger(__name__)
+
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.errors.BatchError.html b/docs/pydoc/googleapiclient.errors.BatchError.html new file mode 100644 index 00000000000..8636bb00be2 --- /dev/null +++ b/docs/pydoc/googleapiclient.errors.BatchError.html @@ -0,0 +1,706 @@ + + + + + + + + googleapiclient.errors.BatchError + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ exception documentation +
+ +
+

class BatchError(HttpError):

Constructor: BatchError(reason, resp, content)

+

View In Hierarchy

+
+ +
+

Error occurred during batch operations.

+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method__init__Undocumented
Method__repr__Undocumented
Instance VariablecontentUndocumented
Instance VariablereasonUndocumented
Instance VariablerespUndocumented
+ +

+ Inherited from HttpError: +

+ + + + + + + + + + + + + + + + + + + + + + + + +
Instance Variableerror_detailsUndocumented
Instance VariableuriUndocumented
Propertystatus_codeReturn the HTTP status code from the response content.
Method_get_reasonCalculate the reason for the error from the response content.
+ + + +
+ +
+
+ + + + + + + + +
+ + @util.positional(2)
+ def __init__(self, reason, resp=None, content=None): + + + + + ¶ + +
+
+ +

Undocumented

+
+
+ + + + + + + + +
+ + + def __repr__(self): + + + + + ¶ + +
+
+ +

Undocumented

+
+
+ + + + + + + + +
+ + content = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + reason = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + resp = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.errors.Error.html b/docs/pydoc/googleapiclient.errors.Error.html new file mode 100644 index 00000000000..77505b26411 --- /dev/null +++ b/docs/pydoc/googleapiclient.errors.Error.html @@ -0,0 +1,426 @@ + + + + + + + + googleapiclient.errors.Error + + + + + + + + + + + + + + + + +
+ + + + + +
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.errors.HttpError.html b/docs/pydoc/googleapiclient.errors.HttpError.html new file mode 100644 index 00000000000..ecc197b3af0 --- /dev/null +++ b/docs/pydoc/googleapiclient.errors.HttpError.html @@ -0,0 +1,787 @@ + + + + + + + + googleapiclient.errors.HttpError + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ exception documentation +
+ + + +
+

HTTP data was invalid or unexpected.

+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method__init__Undocumented
Method__repr__Undocumented
Instance VariablecontentUndocumented
Instance Variableerror_detailsUndocumented
Instance VariablereasonUndocumented
Instance VariablerespUndocumented
Instance VariableuriUndocumented
Propertystatus_codeReturn the HTTP status code from the response content.
Method_get_reasonCalculate the reason for the error from the response content.
+ + + +
+ +
+
+ + + + + + + + +
+ + @util.positional(3)
+ def __init__(self, resp, content, uri=None): + + + + + ¶ + +
+
+ +

Undocumented

+
+
+ + + + + + + + +
+ + + def __repr__(self): + + + + + ¶ + +
+
+ +

Undocumented

+
+
+ + + + + + + + +
+ + content = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + error_details = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + reason = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + resp = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + uri = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ @property
+ status_code = + + + + + ¶ + +
+
+ +

Return the HTTP status code from the response content.

+ +
+
+ + + + + + + + +
+ + + def _get_reason(self): + + + + + ¶ + +
+
+ +

Calculate the reason for the error from the response content.

+
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.errors.InvalidChunkSizeError.html b/docs/pydoc/googleapiclient.errors.InvalidChunkSizeError.html new file mode 100644 index 00000000000..acab94b02f4 --- /dev/null +++ b/docs/pydoc/googleapiclient.errors.InvalidChunkSizeError.html @@ -0,0 +1,426 @@ + + + + + + + + googleapiclient.errors.InvalidChunkSizeError + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ exception documentation +
+ +
+

class InvalidChunkSizeError(Error):

+

View In Hierarchy

+
+ +
+

The given chunksize is not valid.

+
+ +
+ + + + +
+ +
+ +
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.errors.InvalidJsonError.html b/docs/pydoc/googleapiclient.errors.InvalidJsonError.html new file mode 100644 index 00000000000..05e3e4dd34e --- /dev/null +++ b/docs/pydoc/googleapiclient.errors.InvalidJsonError.html @@ -0,0 +1,426 @@ + + + + + + + + googleapiclient.errors.InvalidJsonError + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ exception documentation +
+ +
+

class InvalidJsonError(Error):

+

View In Hierarchy

+
+ +
+

The JSON returned could not be parsed.

+
+ +
+ + + + +
+ +
+ +
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.errors.InvalidNotificationError.html b/docs/pydoc/googleapiclient.errors.InvalidNotificationError.html new file mode 100644 index 00000000000..bc1e067c2cf --- /dev/null +++ b/docs/pydoc/googleapiclient.errors.InvalidNotificationError.html @@ -0,0 +1,426 @@ + + + + + + + + googleapiclient.errors.InvalidNotificationError + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ exception documentation +
+ +
+

class InvalidNotificationError(Error):

+

View In Hierarchy

+
+ +
+

The channel Notification is invalid.

+
+ +
+ + + + +
+ +
+ +
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.errors.MediaUploadSizeError.html b/docs/pydoc/googleapiclient.errors.MediaUploadSizeError.html new file mode 100644 index 00000000000..1a00f7ee06b --- /dev/null +++ b/docs/pydoc/googleapiclient.errors.MediaUploadSizeError.html @@ -0,0 +1,426 @@ + + + + + + + + googleapiclient.errors.MediaUploadSizeError + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ exception documentation +
+ +
+

class MediaUploadSizeError(Error):

+

View In Hierarchy

+
+ +
+

Media is larger than the method can accept.

+
+ +
+ + + + +
+ +
+ +
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.errors.ResumableUploadError.html b/docs/pydoc/googleapiclient.errors.ResumableUploadError.html new file mode 100644 index 00000000000..bf0e7ccc8dd --- /dev/null +++ b/docs/pydoc/googleapiclient.errors.ResumableUploadError.html @@ -0,0 +1,576 @@ + + + + + + + + googleapiclient.errors.ResumableUploadError + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ exception documentation +
+ +
+

class ResumableUploadError(HttpError):

Constructor: ResumableUploadError(resp, content, uri)

+

View In Hierarchy

+
+ +
+

Error occurred during resumable upload.

+
+ +
+ + +

+ Inherited from HttpError: +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method__init__Undocumented
Method__repr__Undocumented
Instance VariablecontentUndocumented
Instance Variableerror_detailsUndocumented
Instance VariablereasonUndocumented
Instance VariablerespUndocumented
Instance VariableuriUndocumented
Propertystatus_codeReturn the HTTP status code from the response content.
Method_get_reasonCalculate the reason for the error from the response content.
+ + + +
+ +
+ +
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.errors.UnacceptableMimeTypeError.html b/docs/pydoc/googleapiclient.errors.UnacceptableMimeTypeError.html new file mode 100644 index 00000000000..2cdcd04249d --- /dev/null +++ b/docs/pydoc/googleapiclient.errors.UnacceptableMimeTypeError.html @@ -0,0 +1,426 @@ + + + + + + + + googleapiclient.errors.UnacceptableMimeTypeError + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ exception documentation +
+ +
+

class UnacceptableMimeTypeError(Error):

+

View In Hierarchy

+
+ +
+

That is an unacceptable mimetype for this operation.

+
+ +
+ + + + +
+ +
+ +
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.errors.UnexpectedBodyError.html b/docs/pydoc/googleapiclient.errors.UnexpectedBodyError.html new file mode 100644 index 00000000000..0bdfd150bb1 --- /dev/null +++ b/docs/pydoc/googleapiclient.errors.UnexpectedBodyError.html @@ -0,0 +1,472 @@ + + + + + + + + googleapiclient.errors.UnexpectedBodyError + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ exception documentation +
+ +
+

class UnexpectedBodyError(Error):

Constructor: UnexpectedBodyError(expected, provided)

+

View In Hierarchy

+
+ +
+

Exception raised by RequestMockBuilder on unexpected bodies.

+
+ +
+ + + + + + + + + +
Method__init__Constructor for an UnexpectedMethodError.
+ + + +
+ +
+
+ + + + + + + + +
+ + + def __init__(self, expected, provided): + + + + + ¶ + +
+
+ +

Constructor for an UnexpectedMethodError.

+
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.errors.UnexpectedMethodError.html b/docs/pydoc/googleapiclient.errors.UnexpectedMethodError.html new file mode 100644 index 00000000000..7bc5a106445 --- /dev/null +++ b/docs/pydoc/googleapiclient.errors.UnexpectedMethodError.html @@ -0,0 +1,472 @@ + + + + + + + + googleapiclient.errors.UnexpectedMethodError + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ exception documentation +
+ +
+

class UnexpectedMethodError(Error):

Constructor: UnexpectedMethodError(methodId)

+

View In Hierarchy

+
+ +
+

Exception raised by RequestMockBuilder on unexpected calls.

+
+ +
+ + + + + + + + + +
Method__init__Constructor for an UnexpectedMethodError.
+ + + +
+ +
+
+ + + + + + + + +
+ + @util.positional(1)
+ def __init__(self, methodId=None): + + + + + ¶ + +
+
+ +

Constructor for an UnexpectedMethodError.

+
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.errors.UnknownApiNameOrVersion.html b/docs/pydoc/googleapiclient.errors.UnknownApiNameOrVersion.html new file mode 100644 index 00000000000..11b9e2d9ccb --- /dev/null +++ b/docs/pydoc/googleapiclient.errors.UnknownApiNameOrVersion.html @@ -0,0 +1,426 @@ + + + + + + + + googleapiclient.errors.UnknownApiNameOrVersion + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ exception documentation +
+ +
+

class UnknownApiNameOrVersion(Error):

+

View In Hierarchy

+
+ +
+

No API with that name and version exists.

+
+ +
+ + + + +
+ +
+ +
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.errors.UnknownFileType.html b/docs/pydoc/googleapiclient.errors.UnknownFileType.html new file mode 100644 index 00000000000..9ecf8ea2c09 --- /dev/null +++ b/docs/pydoc/googleapiclient.errors.UnknownFileType.html @@ -0,0 +1,426 @@ + + + + + + + + googleapiclient.errors.UnknownFileType + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ exception documentation +
+ +
+

class UnknownFileType(Error):

+

View In Hierarchy

+
+ +
+

File type unknown or unexpected.

+
+ +
+ + + + +
+ +
+ +
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.errors.UnknownLinkType.html b/docs/pydoc/googleapiclient.errors.UnknownLinkType.html new file mode 100644 index 00000000000..f5f98cf043b --- /dev/null +++ b/docs/pydoc/googleapiclient.errors.UnknownLinkType.html @@ -0,0 +1,426 @@ + + + + + + + + googleapiclient.errors.UnknownLinkType + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ exception documentation +
+ +
+

class UnknownLinkType(Error):

+

View In Hierarchy

+
+ +
+

Link type unknown or unexpected.

+
+ +
+ + + + +
+ +
+ +
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.errors.html b/docs/pydoc/googleapiclient.errors.html new file mode 100644 index 00000000000..76e76ab7b16 --- /dev/null +++ b/docs/pydoc/googleapiclient.errors.html @@ -0,0 +1,655 @@ + + + + + + + + googleapiclient.errors + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ module documentation +
+ +
+ +

+
+ +
+

Errors for the library.

+

All exceptions defined by the library +should be defined in this file.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ExceptionBatchErrorError occurred during batch operations.
ExceptionErrorBase error for this module.
ExceptionHttpErrorHTTP data was invalid or unexpected.
ExceptionInvalidChunkSizeErrorThe given chunksize is not valid.
ExceptionInvalidJsonErrorThe JSON returned could not be parsed.
ExceptionInvalidNotificationErrorThe channel Notification is invalid.
ExceptionMediaUploadSizeErrorMedia is larger than the method can accept.
ExceptionResumableUploadErrorError occurred during resumable upload.
ExceptionUnacceptableMimeTypeErrorThat is an unacceptable mimetype for this operation.
ExceptionUnexpectedBodyErrorException raised by RequestMockBuilder on unexpected bodies.
ExceptionUnexpectedMethodErrorException raised by RequestMockBuilder on unexpected calls.
ExceptionUnknownApiNameOrVersionNo API with that name and version exists.
ExceptionUnknownFileTypeFile type unknown or unexpected.
ExceptionUnknownLinkTypeLink type unknown or unexpected.
Variable__author__Undocumented
+ + + +
+ +
+
+ + + + + + + + +
+ + __author__: str = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.html b/docs/pydoc/googleapiclient.html new file mode 120000 index 00000000000..64233a9e958 --- /dev/null +++ b/docs/pydoc/googleapiclient.html @@ -0,0 +1 @@ +index.html \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.http.BatchHttpRequest.html b/docs/pydoc/googleapiclient.http.BatchHttpRequest.html new file mode 100644 index 00000000000..2424c9ab170 --- /dev/null +++ b/docs/pydoc/googleapiclient.http.BatchHttpRequest.html @@ -0,0 +1,1363 @@ + + + + + + + + googleapiclient.http.BatchHttpRequest + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ +
+

class BatchHttpRequest(object):

Constructor: BatchHttpRequest(callback, batch_uri)

+

View In Hierarchy

+
+ +
+

Batches multiple HttpRequest objects into a single HTTP request.

+
+

Example

+

from googleapiclient.http import BatchHttpRequest

+
+
def list_animals(request_id, response, exception):
+

"""Do something with the animals list response.""" +if exception is not None:

+
+# Do something with the exception. +pass
+
+
else:
+
# Do something with the response. +pass
+
+
+
def list_farmers(request_id, response, exception):
+

"""Do something with the farmers list response.""" +if exception is not None:

+
+# Do something with the exception. +pass
+
+
else:
+
# Do something with the response. +pass
+
+
+
+

service = build('farm', 'v2')

+

batch = BatchHttpRequest()

+

batch.add(service.animals().list(), list_animals) +batch.add(service.farmers().list(), list_farmers) +batch.execute(http=http)

+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method__init__Constructor for a BatchHttpRequest.
MethodaddAdd a new request.
MethodexecuteExecute all the requests as a single batched HTTP request.
Method_deserialize_responseConvert string into httplib2 response and content.
Method_executeSerialize batch request, send to server, process response.
Method_header_to_idConvert a Content-ID header value to an id.
Method_id_to_headerConvert an id to a Content-ID header value.
Method_new_idCreate a new id.
Method_refresh_and_apply_credentialsRefresh the credentials and apply to the request.
Method_serialize_requestConvert an HttpRequest object into a string.
Instance Variable_base_idUndocumented
Instance Variable_batch_uriUndocumented
Instance Variable_callbackUndocumented
Instance Variable_callbacksUndocumented
Instance Variable_last_auto_idUndocumented
Instance Variable_orderUndocumented
Instance Variable_refreshed_credentialsUndocumented
Instance Variable_requestsUndocumented
Instance Variable_responsesUndocumented
+ + + +
+ +
+
+ + + + + + + + +
+ + @util.positional(1)
+ def __init__(self, callback=None, batch_uri=None): + + + + + ¶ + +
+
+ +

Constructor for a BatchHttpRequest.

Parameters
callbackcallable, A callback to be called for each response, of the +form callback(id, response, exception). The first parameter is the +request id, and the second is the deserialized response object. The +third is an googleapiclient.errors.HttpError exception object if an HTTP error +occurred while processing the request, or None if no error occurred.
batch_uristring, URI to send batch requests to.
+
+
+ + + + + + + + +
+ + @util.positional(2)
+ def add(self, request, callback=None, request_id=None): + + + + + ¶ + +
+
+ +

Add a new request.

+

Every callback added will be paired with a unique id, the request_id. That +unique id will be passed back to the callback when the response comes back +from the server. The default behavior is to have the library generate it's +own unique id. If the caller passes in a request_id then they must ensure +uniqueness for each request_id, and if they are not an exception is +raised. Callers should either supply all request_ids or never supply a +request id, to avoid such an error.

+
Parameters
requestHttpRequest, Request to add to the batch.
callbackcallable, A callback to be called for this response, of the +form callback(id, response, exception). The first parameter is the +request id, and the second is the deserialized response object. The +third is an googleapiclient.errors.HttpError exception object if an HTTP error +occurred while processing the request, or None if no errors occurred.
request_idstring, A unique id for the request. The id will be passed +to the callback with the response.
Returns
None
Raises
BatchError if a media request is added to a batch.
KeyError is the request_id is not unique.
+
+
+ + + + + + + + +
+ + @util.positional(1)
+ def execute(self, http=None): + + + + + ¶ + +
+
+ +

Execute all the requests as a single batched HTTP request.

Parameters
httphttplib2.Http, an http object to be used in place of the one the +HttpRequest request object was constructed with. If one isn't supplied +then use a http object from the requests in this batch.
Returns
None
Raises
httplib2.HttpLib2Error if a transport error has occurred.
googleapiclient.errors.BatchError if the response is the wrong format.
+
+
+ + + + + + + + +
+ + + def _deserialize_response(self, payload): + + + + + ¶ + +
+
+ +

Convert string into httplib2 response and content.

Parameters
payloadstring, headers and body as a string.
Returns
A pair (resp, content), such as would be returned from httplib2.request.
+
+
+ + + + + + + + +
+ + + def _execute(self, http, order, requests): + + + + + ¶ + +
+
+ +

Serialize batch request, send to server, process response.

Parameters
httphttplib2.Http, an http object to be used to make the request with.
orderlist, list of request ids in the order they were added to the +batch.
requestslist, list of request objects to send.
Raises
httplib2.HttpLib2Error if a transport error has occurred.
googleapiclient.errors.BatchError if the response is the wrong format.
+
+
+ + + + + + + + +
+ + + def _header_to_id(self, header): + + + + + ¶ + +
+
+ +

Convert a Content-ID header value to an id.

+

Presumes the Content-ID header conforms to the format that _id_to_header() +returns.

+
Parameters
headerstring, Content-ID header value.
Returns
The extracted id value.
Raises
BatchError if the header is not in the expected format.
+
+
+ + + + + + + + +
+ + + def _id_to_header(self, id_): + + + + + ¶ + +
+
+ +

Convert an id to a Content-ID header value.

Parameters
id_string, identifier of individual request.
Returns
A Content-ID header with the id_ encoded into it. A UUID is prepended to +the value because Content-ID headers are supposed to be universally +unique.
+
+
+ + + + + + + + +
+ + + def _new_id(self): + + + + + ¶ + +
+
+ +

Create a new id.

+

Auto incrementing number that avoids conflicts with ids already used.

+
Returns
string, a new unique id.
+
+
+ + + + + + + + +
+ + + def _refresh_and_apply_credentials(self, request, http): + + + + + ¶ + +
+
+ +

Refresh the credentials and apply to the request.

Parameters
requestHttpRequest, the request.
httphttplib2.Http, the global http object for the batch.
+
+
+ + + + + + + + +
+ + + def _serialize_request(self, request): + + + + + ¶ + +
+
+ +

Convert an HttpRequest object into a string.

Parameters
requestHttpRequest, the request to serialize.
Returns
The request as a string in application/http format.
+
+
+ + + + + + + + +
+ + _base_id = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _batch_uri = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _callback = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _callbacks: dict = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _last_auto_id: int = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _order: list = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _refreshed_credentials: dict = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _requests: dict = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _responses: dict = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.http.HttpMock.html b/docs/pydoc/googleapiclient.http.HttpMock.html new file mode 100644 index 00000000000..a093da12196 --- /dev/null +++ b/docs/pydoc/googleapiclient.http.HttpMock.html @@ -0,0 +1,910 @@ + + + + + + + + googleapiclient.http.HttpMock + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ +
+

class HttpMock(object):

Constructor: HttpMock(filename, headers)

+

View In Hierarchy

+
+ +
+

Mock of httplib2.Http

+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method__init__No summary
MethodcloseUndocumented
MethodrequestUndocumented
Instance VariablebodyUndocumented
Instance VariabledataUndocumented
Instance VariableheadersUndocumented
Instance VariablemethodUndocumented
Instance Variableresponse_headersUndocumented
Instance VariableuriUndocumented
+ + + +
+ +
+
+ + + + + + + + +
+ + + def __init__(self, filename=None, headers=None): + + + + + ¶ + +
+
+ +
Parameters
filenamestring, absolute filename to read response from
headersdict, header to return with response
+
+
+ + + + + + + + +
+ + + def close(self): + + + + + ¶ + +
+
+ +

Undocumented

+
+
+ + + + + + + + +
+ + + def request(self, uri, method='GET', body=None, headers=None, redirections=1, connection_type=None): + + + + + ¶ + +
+
+ +

Undocumented

+
+
+ + + + + + + + +
+ + body = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + data = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + headers = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + method = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + response_headers = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + uri = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.http.HttpMockSequence.html b/docs/pydoc/googleapiclient.http.HttpMockSequence.html new file mode 100644 index 00000000000..86b49ef1cab --- /dev/null +++ b/docs/pydoc/googleapiclient.http.HttpMockSequence.html @@ -0,0 +1,776 @@ + + + + + + + + googleapiclient.http.HttpMockSequence + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ +
+

class HttpMockSequence(object):

Constructor: HttpMockSequence(iterable)

+

View In Hierarchy

+
+ +
+

Mock of httplib2.Http

+

Mocks a sequence of calls to request returning different responses for each +call. Create an instance initialized with the desired response headers +and content and then use as if an httplib2.Http instance.

+
+
+
http = HttpMockSequence([
+
({'status': '401'}, ''), +({'status': '200'}, '{"access_token":"1/3w","expires_in":3600}'), +({'status': '200'}, 'echo_request_headers'), +])
+
+

resp, content = http.request("http://examples.com")

+
+

There are special values you can pass in for content to trigger +behavours that are helpful in testing.

+

'echo_request_headers' means return the request headers in the response body +'echo_request_headers_as_json' means return the request headers in

+
+the response body
+

'echo_request_body' means return the request body in the response body +'echo_request_uri' means return the request uri in the response body

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method__init__No summary
MethodrequestUndocumented
Instance Variablefollow_redirectsUndocumented
Instance Variablerequest_sequenceUndocumented
Instance Variable_iterableUndocumented
+ + + +
+ +
+
+ + + + + + + + +
+ + + def __init__(self, iterable): + + + + + ¶ + +
+
+ +
Parameters
iterableiterable, a sequence of pairs of (headers, body)
+
+
+ + + + + + + + +
+ + + def request(self, uri, method='GET', body=None, headers=None, redirections=1, connection_type=None): + + + + + ¶ + +
+
+ +

Undocumented

+
+
+ + + + + + + + +
+ + follow_redirects: bool = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + request_sequence = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _iterable = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.http.HttpRequest.html b/docs/pydoc/googleapiclient.http.HttpRequest.html new file mode 100644 index 00000000000..7de30abc5fd --- /dev/null +++ b/docs/pydoc/googleapiclient.http.HttpRequest.html @@ -0,0 +1,1497 @@ + + + + + + + + googleapiclient.http.HttpRequest + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ +
+

class HttpRequest(object):

Constructor: HttpRequest(http, postproc, uri, method, ...)

+

View In Hierarchy

+
+ +
+

Encapsulates a single HTTP request.

+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Static Methodfrom_jsonReturns an HttpRequest populated with info from a JSON object.
Static Methodnull_postprocUndocumented
Method__init__Constructor for an HttpRequest.
Methodadd_response_callbackadd_response_headers_callback
MethodexecuteExecute the request.
Methodnext_chunkExecute the next step of a resumable upload.
Methodto_jsonReturns a JSON representation of the HttpRequest.
Instance VariablebodyUndocumented
Instance Variablebody_sizeUndocumented
Instance VariableheadersUndocumented
Instance VariablehttpUndocumented
Instance VariablemethodUndocumented
Instance VariablemethodIdUndocumented
Instance VariablepostprocUndocumented
Instance Variableresponse_callbacksUndocumented
Instance VariableresumableUndocumented
Instance Variableresumable_progressUndocumented
Instance Variableresumable_uriUndocumented
Instance VariableuriUndocumented
Method_process_responseProcess the response from a single chunk upload.
Instance Variable_in_error_stateUndocumented
Instance Variable_randUndocumented
Instance Variable_sleepUndocumented
+ + + +
+ +
+
+ + + + + + + + +
+ + @staticmethod
+ def from_json(s, http, postproc): + + + + + ¶ + +
+
+ +

Returns an HttpRequest populated with info from a JSON object.

+
+
+ + + + + + + + +
+ + @staticmethod
+ def null_postproc(resp, contents): + + + + + ¶ + +
+
+ +

Undocumented

+
+
+ + + + + + + + +
+ + @util.positional(4)
+ def __init__(self, http, postproc, uri, method='GET', body=None, headers=None, methodId=None, resumable=None): + + + + + ¶ + +
+
+ +

Constructor for an HttpRequest.

Parameters
httphttplib2.Http, the transport object to use to make a request
postproccallable, called on the HTTP response and content to transform +it into a data object before returning, or raising an exception +on an error.
uristring, the absolute URI to send the request to
methodstring, the HTTP method to use
bodystring, the request body of the HTTP request,
headersdict, the HTTP request headers
methodIdstring, a unique identifier for the API method being called.
resumableMediaUpload, None if this is not a resumbale request.
+
+
+ + + + + + + + +
+ + @util.positional(2)
+ def add_response_callback(self, cb): + + + + + ¶ + +
+
+ +

add_response_headers_callback

Parameters
cbCallback to be called on receiving the response headers, of signature:
def cb:resp# Where resp is an instance of httplib2.Response
+
+
+ + + + + + + + +
+ + @util.positional(1)
+ def execute(self, http=None, num_retries=0): + + + + + ¶ + +
+
+ +

Execute the request.

Parameters
httphttplib2.Http, an http object to be used in place of the +one the HttpRequest request object was constructed with.
num_retriesInteger, number of times to retry with randomized +exponential backoff. If all retries fail, the raised HttpError +represents the last request. If zero (default), we attempt the +request only once.
Returns
A deserialized object model of the response body as determined +by the postproc.
Raises
googleapiclient.errors.HttpError if the response was not a 2xx.
httplib2.HttpLib2Error if a transport error has occurred.
+
+
+ + + + + + + + +
+ + @util.positional(1)
+ def next_chunk(self, http=None, num_retries=0): + + + + + ¶ + +
+
+ +

Execute the next step of a resumable upload.

+

Can only be used if the method being executed supports media uploads and +the MediaUpload object passed in was flagged as using resumable upload.

+
+

Example

+
+
media = MediaFileUpload('cow.png', mimetype='image/png',
+
chunksize=1000, resumable=True)
+
request = farm.animals().insert(
+
id='cow', +name='cow.png', +media_body=media)
+
+

response = None +while response is None:

+
+

status, response = request.next_chunk() +if status:

+
+print "Upload %d%% complete." % int(status.progress() * 100)
+
+
+
Parameters
httphttplib2.Http, an http object to be used in place of the +one the HttpRequest request object was constructed with.
num_retriesInteger, number of times to retry with randomized +exponential backoff. If all retries fail, the raised HttpError +represents the last request. If zero (default), we attempt the +request only once.
Returns
(status, body)
+
(ResumableMediaStatus, object)
+
The body will be None until the resumable media is fully uploaded.
+
+
Raises
googleapiclient.errors.HttpError if the response was not a 2xx.
httplib2.HttpLib2Error if a transport error has occurred.
+
+
+ + + + + + + + +
+ + + def to_json(self): + + + + + ¶ + +
+
+ +

Returns a JSON representation of the HttpRequest.

+
+
+ + + + + + + + +
+ + body = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + body_size = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + headers = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + http = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + method: str = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + methodId = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + postproc = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + response_callbacks: list = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + resumable = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + resumable_progress: int = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + resumable_uri = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + uri = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + + def _process_response(self, resp, content): + + + + + ¶ + +
+
+ +

Process the response from a single chunk upload.

Parameters
resphttplib2.Response, the response object.
contentstring, the content of the response.
Returns
(status, body)
+
(ResumableMediaStatus, object)
+
The body will be None until the resumable media is fully uploaded.
+
+
Raises
googleapiclient.errors.HttpError if the response was not a 2xx or a 308.
+
+
+ + + + + + + + +
+ + _in_error_state: bool = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _rand = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _sleep = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.http.HttpRequestMock.html b/docs/pydoc/googleapiclient.http.HttpRequestMock.html new file mode 100644 index 00000000000..35b80e71cf7 --- /dev/null +++ b/docs/pydoc/googleapiclient.http.HttpRequestMock.html @@ -0,0 +1,760 @@ + + + + + + + + googleapiclient.http.HttpRequestMock + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ +
+

class HttpRequestMock(object):

Constructor: HttpRequestMock(resp, content, postproc)

+

View In Hierarchy

+
+ +
+

Mock of HttpRequest.

+

Do not construct directly, instead use RequestMockBuilder.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method__init__Constructor for HttpRequestMock
MethodexecuteExecute the request.
Instance VariablecontentUndocumented
Instance VariablepostprocUndocumented
Instance VariablerespUndocumented
+ + + +
+ +
+
+ + + + + + + + +
+ + + def __init__(self, resp, content, postproc): + + + + + ¶ + +
+
+ +

Constructor for HttpRequestMock

Parameters
resphttplib2.Response, the response to emulate coming from the request
contentstring, the response body
postproccallable, the post processing function usually supplied by +the model class. See model.JsonModel.response() as an example.
+
+
+ + + + + + + + +
+ + + def execute(self, http=None): + + + + + ¶ + +
+
+ +

Execute the request.

+

Same behavior as HttpRequest.execute(), but the response is +mocked and not really from an HTTP request/response.

+
+
+
+ + + + + + + + +
+ + content = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + postproc = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + resp = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.http.MediaDownloadProgress.html b/docs/pydoc/googleapiclient.http.MediaDownloadProgress.html new file mode 100644 index 00000000000..93b894d423f --- /dev/null +++ b/docs/pydoc/googleapiclient.http.MediaDownloadProgress.html @@ -0,0 +1,716 @@ + + + + + + + + googleapiclient.http.MediaDownloadProgress + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ +
+

class MediaDownloadProgress(object):

Constructor: MediaDownloadProgress(resumable_progress, total_size)

+

View In Hierarchy

+
+ +
+

Status of a resumable download.

+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + +
Method__init__Constructor.
MethodprogressPercent of download completed, as a float.
Instance Variableresumable_progressUndocumented
Instance Variabletotal_sizeUndocumented
+ + + +
+ +
+
+ + + + + + + + +
+ + + def __init__(self, resumable_progress, total_size): + + + + + ¶ + +
+
+ +

Constructor.

Parameters
resumable_progressint, bytes received so far.
total_sizeint, total bytes in complete download.
+
+
+ + + + + + + + +
+ + + def progress(self): + + + + + ¶ + +
+
+ +

Percent of download completed, as a float.

Returns
the percentage complete as a float, returning 0.0 if the total size of +the download is unknown.
+
+
+ + + + + + + + +
+ + resumable_progress = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + total_size = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.http.MediaFileUpload.html b/docs/pydoc/googleapiclient.http.MediaFileUpload.html new file mode 100644 index 00000000000..4c561d6c55a --- /dev/null +++ b/docs/pydoc/googleapiclient.http.MediaFileUpload.html @@ -0,0 +1,1039 @@ + + + + + + + + googleapiclient.http.MediaFileUpload + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ + + +
+

A MediaUpload for a file.

+

Construct a MediaFileUpload and pass as the media_body parameter of the +method. For example, if we had a service that allowed uploading images:

+
+
+
media = MediaFileUpload('cow.png', mimetype='image/png',
+
chunksize=1024*1024, resumable=True)
+
farm.animals().insert(
+
id='cow', +name='cow.png', +media_body=media).execute()
+
+
+

Depending on the platform you are working on, you may pass -1 as the +chunksize, which indicates that the entire file should be uploaded in a single +request. If the underlying platform supports streams, such as Python 2.6 or +later, then this can be very efficient as it avoids multiple connections, and +also avoids loading the entire file into memory before sending it. Note that +Google App Engine has a 5MB limit on request size, so you should never set +your chunksize larger than 5MB, or to -1.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Static Methodfrom_jsonUndocumented
Method__del__Undocumented
Method__init__Constructor.
Methodto_jsonCreating a JSON representation of an instance of MediaFileUpload.
Instance Variable_fdUndocumented
Instance Variable_filenameUndocumented
+ +

+ Inherited from MediaIoBaseUpload: +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MethodchunksizeChunk size for resumable uploads.
MethodgetbytesGet bytes from the media.
Methodhas_streamDoes the underlying upload support a streaming interface.
MethodmimetypeMime type of the body.
MethodresumableWhether this upload is resumable.
MethodsizeSize of upload.
MethodstreamA stream interface to the data being uploaded.
Instance Variable_chunksizeUndocumented
Instance Variable_mimetypeUndocumented
Instance Variable_resumableUndocumented
Instance Variable_sizeUndocumented
+ +

+ Inherited from MediaUpload (via MediaIoBaseUpload): +

+ + + + + + + + + + + + + + +
Class Methodnew_from_jsonUtility class method to instantiate a MediaUpload subclass from a JSON representation produced by to_json().
Method_to_jsonUtility function for creating a JSON representation of a MediaUpload.
+ + + +
+ +
+
+ + + + + + + + +
+ + @staticmethod
+ def from_json(s): + + + + + ¶ + +
+
+ +

Undocumented

+
+
+ + + + + + + + +
+ + + def __del__(self): + + + + + ¶ + +
+
+ +

Undocumented

+
+
+ + + + + + + + +
+ + @util.positional(2)
+ def __init__(self, filename, mimetype=None, chunksize=DEFAULT_CHUNK_SIZE, resumable=False): + + + + + ¶ + +
+
+ +

Constructor.

Parameters
filenamestring, Name of the file.
mimetypestring, Mime-type of the file. If None then a mime-type will be +guessed from the file extension.
chunksizeint, File will be uploaded in chunks of this many bytes. Only +used if resumable=True. Pass in a value of -1 if the file is to be +uploaded in a single chunk. Note that Google App Engine has a 5MB limit +on request size, so you should never set your chunksize larger than 5MB, +or to -1.
resumablebool, True if this is a resumable upload. False means upload +in a single request.
+
+
+ + + + + + + + +
+ + + def to_json(self): + + + + + ¶ + +
+
+ +

Creating a JSON representation of an instance of MediaFileUpload.

Returns
string, a JSON representation of this instance, suitable to pass to +from_json().
+
+
+ + + + + + + + +
+ + _fd = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _filename = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.http.MediaInMemoryUpload.html b/docs/pydoc/googleapiclient.http.MediaInMemoryUpload.html new file mode 100644 index 00000000000..e5f1c358e25 --- /dev/null +++ b/docs/pydoc/googleapiclient.http.MediaInMemoryUpload.html @@ -0,0 +1,853 @@ + + + + + + + + googleapiclient.http.MediaInMemoryUpload + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ + + +
+

MediaUpload for a chunk of bytes.

+

DEPRECATED: Use MediaIoBaseUpload with either io.TextIOBase or io.StringIO for +the stream.

+
+
+ +
+ + + + + + + + + +
Method__init__Create a new MediaInMemoryUpload.
+ +

+ Inherited from MediaIoBaseUpload: +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MethodchunksizeChunk size for resumable uploads.
MethodgetbytesGet bytes from the media.
Methodhas_streamDoes the underlying upload support a streaming interface.
MethodmimetypeMime type of the body.
MethodresumableWhether this upload is resumable.
MethodsizeSize of upload.
MethodstreamA stream interface to the data being uploaded.
Methodto_jsonThis upload type is not serializable.
Instance Variable_chunksizeUndocumented
Instance Variable_fdUndocumented
Instance Variable_mimetypeUndocumented
Instance Variable_resumableUndocumented
Instance Variable_sizeUndocumented
+ +

+ Inherited from MediaUpload (via MediaIoBaseUpload): +

+ + + + + + + + + + + + + + +
Class Methodnew_from_jsonUtility class method to instantiate a MediaUpload subclass from a JSON representation produced by to_json().
Method_to_jsonUtility function for creating a JSON representation of a MediaUpload.
+ + + +
+ +
+
+ + + + + + + + +
+ + @util.positional(2)
+ def __init__(self, body, mimetype='application/octet-stream', chunksize=DEFAULT_CHUNK_SIZE, resumable=False): + + + + + ¶ + +
+
+ +

Create a new MediaInMemoryUpload.

+

DEPRECATED: Use MediaIoBaseUpload with either io.TextIOBase or io.StringIO for +the stream.

+
Parameters
bodystring, Bytes of body content.
mimetypestring, Mime-type of the file or default of +'application/octet-stream'.
chunksizeint, File will be uploaded in chunks of this many bytes. Only +used if resumable=True.
resumablebool, True if this is a resumable upload. False means upload +in a single request.
+
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.http.MediaIoBaseDownload.html b/docs/pydoc/googleapiclient.http.MediaIoBaseDownload.html new file mode 100644 index 00000000000..113e3ed5bd6 --- /dev/null +++ b/docs/pydoc/googleapiclient.http.MediaIoBaseDownload.html @@ -0,0 +1,1055 @@ + + + + + + + + googleapiclient.http.MediaIoBaseDownload + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ +
+

class MediaIoBaseDownload(object):

Constructor: MediaIoBaseDownload(fd, request, chunksize)

+

View In Hierarchy

+
+ +
+

"Download media resources.

+

Note that the Python file object is compatible with io.Base and can be used +with this class also.

+
+

Example

+

request = farms.animals().get_media(id='cow') +fh = io.FileIO('cow.png', mode='wb') +downloader = MediaIoBaseDownload(fh, request, chunksize=1024*1024)

+

done = False +while done is False:

+
+

status, done = downloader.next_chunk() +if status:

+
+print "Download %d%%." % int(status.progress() * 100)
+
+

print "Download Complete!"

+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method__init__Constructor.
Methodnext_chunkGet the next chunk of the download.
Instance Variable_chunksizeUndocumented
Instance Variable_doneUndocumented
Instance Variable_fdUndocumented
Instance Variable_headersUndocumented
Instance Variable_progressUndocumented
Instance Variable_randUndocumented
Instance Variable_requestUndocumented
Instance Variable_sleepUndocumented
Instance Variable_total_sizeUndocumented
Instance Variable_uriUndocumented
+ + + +
+ +
+
+ + + + + + + + +
+ + @util.positional(3)
+ def __init__(self, fd, request, chunksize=DEFAULT_CHUNK_SIZE): + + + + + ¶ + +
+
+ +

Constructor.

Parameters
fdio.Base or file object, The stream in which to write the downloaded +bytes.
requestgoogleapiclient.http.HttpRequest, the media request to perform in +chunks.
chunksizeint, File will be downloaded in chunks of this many bytes.
+
+
+ + + + + + + + +
+ + @util.positional(1)
+ def next_chunk(self, num_retries=0): + + + + + ¶ + +
+
+ +

Get the next chunk of the download.

Parameters
num_retriesInteger, number of times to retry with randomized +exponential backoff. If all retries fail, the raised HttpError +represents the last request. If zero (default), we attempt the +request only once.
Returns
(status, done)
+
(MediaDownloadProgress, boolean)
+
The value of 'done' will be True when the media has been fully +downloaded or the total size of the media is unknown.
+
+
Raises
googleapiclient.errors.HttpError if the response was not a 2xx.
httplib2.HttpLib2Error if a transport error has occurred.
+
+
+ + + + + + + + +
+ + _chunksize = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _done: bool = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _fd = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _headers: dict = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _progress: int = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _rand = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _request = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _sleep = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _total_size = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _uri = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.http.MediaIoBaseUpload.html b/docs/pydoc/googleapiclient.http.MediaIoBaseUpload.html new file mode 100644 index 00000000000..a8561fc3e6c --- /dev/null +++ b/docs/pydoc/googleapiclient.http.MediaIoBaseUpload.html @@ -0,0 +1,1183 @@ + + + + + + + + googleapiclient.http.MediaIoBaseUpload + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ + + +
+

A MediaUpload for a io.Base objects.

+

Note that the Python file object is compatible with io.Base and can be used +with this class also.

+
+

fh = BytesIO('...Some data to upload...') +media = MediaIoBaseUpload(fh, mimetype='image/png',

+
+chunksize=1024*1024, resumable=True)
+
+
farm.animals().insert(
+
id='cow', +name='cow.png', +media_body=media).execute()
+
+
+

Depending on the platform you are working on, you may pass -1 as the +chunksize, which indicates that the entire file should be uploaded in a single +request. If the underlying platform supports streams, such as Python 2.6 or +later, then this can be very efficient as it avoids multiple connections, and +also avoids loading the entire file into memory before sending it. Note that +Google App Engine has a 5MB limit on request size, so you should never set +your chunksize larger than 5MB, or to -1.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method__init__Constructor.
MethodchunksizeChunk size for resumable uploads.
MethodgetbytesGet bytes from the media.
Methodhas_streamDoes the underlying upload support a streaming interface.
MethodmimetypeMime type of the body.
MethodresumableWhether this upload is resumable.
MethodsizeSize of upload.
MethodstreamA stream interface to the data being uploaded.
Methodto_jsonThis upload type is not serializable.
Instance Variable_chunksizeUndocumented
Instance Variable_fdUndocumented
Instance Variable_mimetypeUndocumented
Instance Variable_resumableUndocumented
Instance Variable_sizeUndocumented
+ +

+ Inherited from MediaUpload: +

+ + + + + + + + + + + + + + +
Class Methodnew_from_jsonUtility class method to instantiate a MediaUpload subclass from a JSON representation produced by to_json().
Method_to_jsonUtility function for creating a JSON representation of a MediaUpload.
+ + + +
+ +
+
+ + + + + + + + +
+ + @util.positional(3)
+ def __init__(self, fd, mimetype, chunksize=DEFAULT_CHUNK_SIZE, resumable=False): + + + + + ¶ + +
+
+ +

Constructor.

Parameters
fdio.Base or file object, The source of the bytes to upload. MUST be +opened in blocking mode, do not use streams opened in non-blocking mode. +The given stream must be seekable, that is, it must be able to call +seek() on fd.
mimetypestring, Mime-type of the file.
chunksizeint, File will be uploaded in chunks of this many bytes. Only +used if resumable=True. Pass in a value of -1 if the file is to be +uploaded as a single chunk. Note that Google App Engine has a 5MB limit +on request size, so you should never set your chunksize larger than 5MB, +or to -1.
resumablebool, True if this is a resumable upload. False means upload +in a single request.
+
+
+ + + + + + + + +
+ + + def chunksize(self): + + + + + ¶ + +
+
+ +

Chunk size for resumable uploads.

Returns
Chunk size in bytes.
+
+
+ + + + + + + + +
+ + + def getbytes(self, begin, length): + + + + + ¶ + +
+
+ +

Get bytes from the media.

Parameters
beginint, offset from beginning of file.
lengthint, number of bytes to read, starting at begin.
Returns
A string of bytes read. May be shorted than length if EOF was reached +first.
+
+
+ + + + + + + + +
+ + + def has_stream(self): + + + + + ¶ + +
+
+ +

Does the underlying upload support a streaming interface.

+

Streaming means it is an io.IOBase subclass that supports seek, i.e. +seekable() returns True.

+
Returns
True if the call to stream() will return an instance of a seekable io.Base +subclass.
+
+
+ + + + + + + + +
+ + + def mimetype(self): + + + + + ¶ + +
+
+ +

Mime type of the body.

Returns
Mime type.
+
+
+ + + + + + + + +
+ + + def resumable(self): + + + + + ¶ + +
+
+ +

Whether this upload is resumable.

Returns
True if resumable upload or False.
+
+
+ + + + + + + + +
+ + + def size(self): + + + + + ¶ + +
+
+ +

Size of upload.

Returns
Size of the body, or None of the size is unknown.
+
+
+ + + + + + + + +
+ + + def stream(self): + + + + + ¶ + +
+
+ +

A stream interface to the data being uploaded.

Returns
The returned value is an io.IOBase subclass that supports seek, i.e. +seekable() returns True.
+
+
+ + + + + + + + +
+ + + def to_json(self): + + + + + ¶ + +
+
+ +

This upload type is not serializable.

+
+
+ + + + + + + + +
+ + _chunksize = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _fd = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _mimetype = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _resumable = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _size = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.http.MediaUpload.html b/docs/pydoc/googleapiclient.http.MediaUpload.html new file mode 100644 index 00000000000..b331e9c3c6f --- /dev/null +++ b/docs/pydoc/googleapiclient.http.MediaUpload.html @@ -0,0 +1,976 @@ + + + + + + + + googleapiclient.http.MediaUpload + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ +
+

class MediaUpload(object):

Known subclasses: googleapiclient.http.MediaIoBaseUpload

+

View In Hierarchy

+
+ +
+

Describes a media object to upload.

+

Base class that defines the interface of MediaUpload subclasses.

+

Note that subclasses of MediaUpload may allow you to control the chunksize +when uploading a media object. It is important to keep the size of the chunk +as large as possible to keep the upload efficient. Other factors may influence +the size of the chunk you use, particularly if you are working in an +environment where individual HTTP requests may have a hardcoded time limit, +such as under certain classes of requests under Google App Engine.

+

Streams are io.Base compatible objects that support seek(). Some MediaUpload +subclasses support using streams directly to upload data. Support for +streaming may be indicated by a MediaUpload sub-class and if appropriate for a +platform that stream will be used for uploading the media object. The support +for streaming is indicated by has_stream() returning True. The stream() method +should return an io.Base object that supports seek(). On platforms where the +underlying httplib module supports streaming, for example Python 2.6 and +later, the stream will be passed into the http library which will result in +less memory being used and possibly faster uploads.

+

If you need to upload media that can't be uploaded using any of the existing +MediaUpload sub-class then you can sub-class MediaUpload for your particular +needs.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class Methodnew_from_jsonUtility class method to instantiate a MediaUpload subclass from a JSON representation produced by to_json().
MethodchunksizeChunk size for resumable uploads.
MethodgetbytesGet bytes from the media.
Methodhas_streamDoes the underlying upload support a streaming interface.
MethodmimetypeMime type of the body.
MethodresumableWhether this upload is resumable.
MethodsizeSize of upload.
MethodstreamA stream interface to the data being uploaded.
Methodto_jsonCreate a JSON representation of an instance of MediaUpload.
Method_to_jsonUtility function for creating a JSON representation of a MediaUpload.
+ + + +
+ +
+
+ + + + + + + + +
+ + @classmethod
+ def new_from_json(cls, s): + + + + + ¶ + +
+
+ +

Utility class method to instantiate a MediaUpload subclass from a JSON +representation produced by to_json().

Parameters
sstring, JSON from to_json().
Returns
An instance of the subclass of MediaUpload that was serialized with +to_json().
+
+
+ + + + + + + + +
+ + + def chunksize(self): + + + + + ¶ + +
+
+ +

Chunk size for resumable uploads.

Returns
Chunk size in bytes.
+
+
+ + + + + + + + +
+ + + def getbytes(self, begin, end): + + + + + ¶ + +
+
+ +

Get bytes from the media.

Parameters
beginint, offset from beginning of file.
endUndocumented
lengthint, number of bytes to read, starting at begin.
Returns
A string of bytes read. May be shorter than length if EOF was reached +first.
+
+
+ + + + + + + + +
+ + + def has_stream(self): + + + + + ¶ + +
+
+ +

Does the underlying upload support a streaming interface.

+

Streaming means it is an io.IOBase subclass that supports seek, i.e. +seekable() returns True.

+
Returns
True if the call to stream() will return an instance of a seekable io.Base +subclass.
+
+
+ + + + + + + + +
+ + + def mimetype(self): + + + + + ¶ + +
+
+ +

Mime type of the body.

Returns
Mime type.
+
+
+ + + + + + + + +
+ + + def resumable(self): + + + + + ¶ + +
+
+ +

Whether this upload is resumable.

Returns
True if resumable upload or False.
+
+
+ + + + + + + + +
+ + + def size(self): + + + + + ¶ + +
+
+ +

Size of upload.

Returns
Size of the body, or None of the size is unknown.
+
+
+ + + + + + + + +
+ + + def stream(self): + + + + + ¶ + +
+
+ +

A stream interface to the data being uploaded.

Returns
The returned value is an io.IOBase subclass that supports seek, i.e. +seekable() returns True.
+
+
+ + + + + + + + +
+ + + def to_json(self): + + + + + ¶ + +
+
+ +

Create a JSON representation of an instance of MediaUpload.

Returns
string, a JSON representation of this instance, suitable to pass to +from_json().
+
+
+ + + + + + + + +
+ + @util.positional(1)
+ def _to_json(self, strip=None): + + + + + ¶ + +
+
+ +

Utility function for creating a JSON representation of a MediaUpload.

Parameters
striparray, An array of names of members to not include in the JSON.
Returns
string, a JSON representation of this instance, suitable to pass to +from_json().
+
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.http.MediaUploadProgress.html b/docs/pydoc/googleapiclient.http.MediaUploadProgress.html new file mode 100644 index 00000000000..a2c17553fae --- /dev/null +++ b/docs/pydoc/googleapiclient.http.MediaUploadProgress.html @@ -0,0 +1,717 @@ + + + + + + + + googleapiclient.http.MediaUploadProgress + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ +
+

class MediaUploadProgress(object):

Constructor: MediaUploadProgress(resumable_progress, total_size)

+

View In Hierarchy

+
+ +
+

Status of a resumable upload.

+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + +
Method__init__Constructor.
MethodprogressPercent of upload completed, as a float.
Instance Variableresumable_progressUndocumented
Instance Variabletotal_sizeUndocumented
+ + + +
+ +
+
+ + + + + + + + +
+ + + def __init__(self, resumable_progress, total_size): + + + + + ¶ + +
+
+ +

Constructor.

Parameters
resumable_progressint, bytes sent so far.
total_sizeint, total bytes in complete upload, or None if the total +upload size isn't known ahead of time.
+
+
+ + + + + + + + +
+ + + def progress(self): + + + + + ¶ + +
+
+ +

Percent of upload completed, as a float.

Returns
the percentage complete as a float, returning 0.0 if the total size of +the upload is unknown.
+
+
+ + + + + + + + +
+ + resumable_progress = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + total_size = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.http.RequestMockBuilder.html b/docs/pydoc/googleapiclient.http.RequestMockBuilder.html new file mode 100644 index 00000000000..2a4772a89e7 --- /dev/null +++ b/docs/pydoc/googleapiclient.http.RequestMockBuilder.html @@ -0,0 +1,755 @@ + + + + + + + + googleapiclient.http.RequestMockBuilder + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ +
+

class RequestMockBuilder(object):

Constructor: RequestMockBuilder(responses, check_unexpected)

+

View In Hierarchy

+
+ +
+

A simple mock of HttpRequest

+

Pass in a dictionary to the constructor that maps request methodIds to +tuples of (httplib2.Response, content, opt_expected_body) that should be +returned when that method is called. None may also be passed in for the +httplib2.Response, in which case a 200 OK response will be generated. +If an opt_expected_body (str or dict) is provided, it will be compared to +the body and UnexpectedBodyError will be raised on inequality.

+
+

Example

+

response = '{"data": {"id": "tag:google.c...' +requestBuilder = RequestMockBuilder(

+
+
+
{
+
'plus.activities.get': (None, response),
+
+

}

+
+

) +googleapiclient.discovery.build("plus", "v1", requestBuilder=requestBuilder)

+
+

Methods that you do not supply a response for will return a +200 OK with an empty string as the response content or raise an excpetion +if check_unexpected is set to True. The methodId is taken from the rpcName +in the discovery document.

+

For more details see the project wiki.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + +
Method__call__Implements the callable interface that discovery.build() expects of requestBuilder, which is to build an object compatible with HttpRequest.execute(). See that method for the description of the parameters and the expected response.
Method__init__Constructor for RequestMockBuilder
Instance Variablecheck_unexpectedUndocumented
Instance VariableresponsesUndocumented
+ + + +
+ +
+
+ + + + + + + + +
+ + + def __call__(self, http, postproc, uri, method='GET', body=None, headers=None, methodId=None, resumable=None): + + + + + ¶ + +
+
+ +

Implements the callable interface that discovery.build() expects +of requestBuilder, which is to build an object compatible with +HttpRequest.execute(). See that method for the description of the +parameters and the expected response.

+
+
+ + + + + + + + +
+ + + def __init__(self, responses, check_unexpected=False): + + + + + ¶ + +
+
+ +

Constructor for RequestMockBuilder

+

The constructed object should be a callable object +that can replace the class HttpResponse.

+
+
responses - A dictionary that maps methodIds into tuples
+
of (httplib2.Response, content). The methodId +comes from the 'rpcName' field in the discovery +document.
+
check_unexpected - A boolean setting whether or not UnexpectedMethodError
+
should be raised on unsupplied method.
+
+
+
+
+ + + + + + + + +
+ + check_unexpected = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + responses = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.http._StreamSlice.html b/docs/pydoc/googleapiclient.http._StreamSlice.html new file mode 100644 index 00000000000..d1e33498e8f --- /dev/null +++ b/docs/pydoc/googleapiclient.http._StreamSlice.html @@ -0,0 +1,760 @@ + + + + + + + + googleapiclient.http._StreamSlice + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ +
+

class _StreamSlice(object):

Constructor: _StreamSlice(stream, begin, chunksize)

+

View In Hierarchy

+
+ +
+

Truncated stream.

+

Takes a stream and presents a stream that is a slice of the original stream. +This is used when uploading media in chunks. In later versions of Python a +stream can be passed to httplib in place of the string of data to send. The +problem is that httplib just blindly reads to the end of the stream. This +wrapper presents a virtual stream that only reads to the end of the chunk.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method__init__Constructor.
MethodreadRead n bytes.
Instance Variable_beginUndocumented
Instance Variable_chunksizeUndocumented
Instance Variable_streamUndocumented
+ + + +
+ +
+
+ + + + + + + + +
+ + + def __init__(self, stream, begin, chunksize): + + + + + ¶ + +
+
+ +

Constructor.

Parameters
stream(io.Base, file object), the stream to wrap.
beginint, the seek position the chunk begins at.
chunksizeint, the size of the chunk.
+
+
+ + + + + + + + +
+ + + def read(self, n=-1): + + + + + ¶ + +
+
+ +

Read n bytes.

Parameters
n
int
the number of bytes to read.
Returns
A string of length 'n', or less if EOF is reached.
+
+
+ + + + + + + + +
+ + _begin = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _chunksize = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + _stream = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.http.html b/docs/pydoc/googleapiclient.http.html new file mode 100644 index 00000000000..9364b4f1176 --- /dev/null +++ b/docs/pydoc/googleapiclient.http.html @@ -0,0 +1,1154 @@ + + + + + + + + googleapiclient.http + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ module documentation +
+ +
+ +

+
+ +
+

Classes to encapsulate a single HTTP request.

+

The classes implement a command pattern, with every +object supporting an execute() method that does the +actual HTTP request.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ClassBatchHttpRequestBatches multiple HttpRequest objects into a single HTTP request.
ClassHttpMockMock of httplib2.Http
ClassHttpMockSequenceMock of httplib2.Http
ClassHttpRequestEncapsulates a single HTTP request.
ClassHttpRequestMockMock of HttpRequest.
ClassMediaDownloadProgressStatus of a resumable download.
ClassMediaFileUploadA MediaUpload for a file.
ClassMediaInMemoryUploadMediaUpload for a chunk of bytes.
ClassMediaIoBaseDownload"Download media resources.
ClassMediaIoBaseUploadA MediaUpload for a io.Base objects.
ClassMediaUploadDescribes a media object to upload.
ClassMediaUploadProgressStatus of a resumable upload.
ClassRequestMockBuilderA simple mock of HttpRequest
Functionbuild_httpBuilds httplib2.Http object
Functionset_user_agentSet the user-agent on every request.
Functiontunnel_patchTunnel PATCH requests over POST.
ConstantDEFAULT_CHUNK_SIZEUndocumented
ConstantDEFAULT_HTTP_TIMEOUT_SECUndocumented
ConstantLOGGERUndocumented
ConstantMAX_BATCH_LIMITUndocumented
ConstantMAX_URI_LENGTHUndocumented
Variable__author__Undocumented
Class_StreamSliceTruncated stream.
Function_retry_requestRetries an HTTP request multiple times while handling errors.
Function_should_retry_responseDetermines whether a response should be retried.
Constant_LEGACY_BATCH_URIUndocumented
Constant_TOO_MANY_REQUESTSUndocumented
+ + + +
+ +
+
+ + + + + + + + +
+ + + def build_http(): + + + + + ¶ + +
+
+ +

Builds httplib2.Http object

+

Returns: +A httplib2.Http object, which is used to make http requests, and which has timeout set by default. +To override default timeout call

+
+socket.setdefaulttimeout(timeout_in_sec)
+

before interacting with this method.

+
+
+
+ + + + + + + + +
+ + + def set_user_agent(http, user_agent): + + + + + ¶ + +
+
+ +

Set the user-agent on every request.

+
+

Example

+

h = httplib2.Http() +h = set_user_agent(h, "my-app-name/6.0")

+
+

Most of the time the user-agent will be set doing auth, this is for the rare +cases where you are accessing an unauthenticated endpoint.

+
Parameters
httpUndocumented
user_agentstring, the value for the user-agent header.
http - An instance of httplib2.Httpor something that acts like it.
Returns
A modified instance of http that was passed in.
+
+
+ + + + + + + + +
+ + + def tunnel_patch(http): + + + + + ¶ + +
+
+ +

Tunnel PATCH requests over POST.

+
+

Example

+

h = httplib2.Http() +h = tunnel_patch(h, "my-app-name/6.0")

+
+

Useful if you are running on a platform that doesn't support PATCH. +Apply this last if you are using OAuth 1.0, as changing the method +will result in a different signature.

+
Parameters
httpUndocumented
http - An instance of httplib2.Httpor something that acts like it.
Returns
A modified instance of http that was passed in.
+
+
+ + + + + + + + +
+ + DEFAULT_CHUNK_SIZE = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
100 * 1024 * 1024
+
+
+ + + + + + + + +
+ + DEFAULT_HTTP_TIMEOUT_SEC: int = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
60
+
+
+ + + + + + + + +
+ + LOGGER = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
logging.getLogger(__name__)
+
+
+ + + + + + + + +
+ + MAX_BATCH_LIMIT: int = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
1000
+
+
+ + + + + + + + +
+ + MAX_URI_LENGTH: int = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
2048
+
+
+ + + + + + + + +
+ + __author__: str = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + + def _retry_request(http, num_retries, req_type, sleep, rand, uri, method, *args, **kwargs): + + + + + ¶ + +
+
+ +

Retries an HTTP request multiple times while handling errors.

+

If after all retries the request still fails, last error is either returned as +return value (for HTTP 5xx errors) or thrown (for ssl.SSLError).

+
Parameters
httpHttp object to be used to execute request.
num_retriesMaximum number of retries.
req_typeType of the request (used for logging retries).
sleepFunctions to sleep for random time between retries.
randFunctions to sleep for random time between retries.
uriURI to be requested.
methodHTTP method to be used.
*argsAdditional arguments passed to http.request.
**kwargsAdditional arguments passed to http.request.
Returns
resp, content - Response from the http request (may be HTTP 5xx).
+
+
+ + + + + + + + +
+ + + def _should_retry_response(resp_status, content): + + + + + ¶ + +
+
+ +

Determines whether a response should be retried.

Parameters
resp_statusThe response status received.
contentThe response content body.
Returns
True if the response should be retried, otherwise False.
+
+
+ + + + + + + + +
+ + _LEGACY_BATCH_URI: str = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
'https://www.googleapis.com/batch'
+
+
+ + + + + + + + +
+ + _TOO_MANY_REQUESTS: int = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
429
+
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.mimeparse.html b/docs/pydoc/googleapiclient.mimeparse.html new file mode 100644 index 00000000000..09a0882d170 --- /dev/null +++ b/docs/pydoc/googleapiclient.mimeparse.html @@ -0,0 +1,951 @@ + + + + + + + + googleapiclient.mimeparse + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ module documentation +
+ +
+ +

+
+ +
+

MIME-Type Parser

+

This module provides basic functions for handling mime-types. It can handle +matching mime-types against a list of media-ranges. See section 14.1 of the +HTTP specification [RFC 2616] for a complete explanation.

+
+http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1
+
+
Contents:
+
    +
  • parse_mime_type(): Parses a mime-type into its component parts.
  • +
  • +
    parse_media_range(): Media-ranges are mime-types with wild-cards and a 'q'
    +
    quality parameter.
    +
    +
  • +
  • +
    quality(): Determines the quality ('q') of a mime-type when
    +
    compared against a list of media-ranges.
    +
    +
  • +
  • +
    quality_parsed(): Just like quality() except the second parameter must be
    +
    pre-parsed.
    +
    +
  • +
  • +
    best_match(): Choose the mime-type with the highest quality ('q')
    +
    from a list of candidates.
    +
    +
  • +
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Functionbest_matchReturn mime-type with the highest quality ('q') from list of candidates.
Functionfitness_and_quality_parsedFind the best match for a mime-type amongst parsed media-ranges.
Functionparse_media_rangeParse a media-range into its component parts.
Functionparse_mime_typeParses a mime-type into its component parts.
FunctionqualityReturn the quality ('q') of a mime-type against a list of media-ranges.
Functionquality_parsedFind the best match for a mime-type amongst parsed media-ranges.
Variable__author__Undocumented
Variable__credits__Undocumented
Variable__email__Undocumented
Variable__license__Undocumented
Variable__version__Undocumented
Function_filter_blankUndocumented
+ + + +
+ +
+
+ + + + + + + + +
+ + + def best_match(supported, header): + + + + + ¶ + +
+
+ +

Return mime-type with the highest quality ('q') from list of candidates.

+

Takes a list of supported mime-types and finds the best match for all the +media-ranges listed in header. The value of header must be a string that +conforms to the format of the HTTP Accept: header. The value of 'supported' +is a list of mime-types. The list of supported mime-types should be sorted +in order of increasing desirability, in case of a situation where there is +a tie.

+
+>>> best_match(['application/xbel+xml', 'text/xml'],
+               'text/*;q=0.5,*/*; q=0.1')
+'text/xml'
+
+
+
+ + + + + + + + +
+ + + def fitness_and_quality_parsed(mime_type, parsed_ranges): + + + + + ¶ + +
+
+ +

Find the best match for a mime-type amongst parsed media-ranges.

+

Find the best match for a given mime-type against a list of media_ranges +that have already been parsed by parse_media_range(). Returns a tuple of +the fitness value and the value of the 'q' quality parameter of the best +match, or (-1, 0) if no match was found. Just as for quality_parsed(), +'parsed_ranges' must be a list of parsed media ranges.

+
+
+
+ + + + + + + + +
+ + + def parse_media_range(range): + + + + + ¶ + +
+
+ +

Parse a media-range into its component parts.

+

Carves up a media range and returns a tuple of the (type, subtype, +params) where 'params' is a dictionary of all the parameters for the media +range. For example, the media range 'application/*;q=0.5' would get parsed +into:

+
+('application', '*', {'q', '0.5'})
+

In addition this function also guarantees that there is a value for 'q' +in the params dictionary, filling it in with a proper default if +necessary.

+
+
+
+ + + + + + + + +
+ + + def parse_mime_type(mime_type): + + + + + ¶ + +
+
+ +

Parses a mime-type into its component parts.

+

Carves up a mime-type and returns a tuple of the (type, subtype, params) +where 'params' is a dictionary of all the parameters for the media range. +For example, the media range 'application/xhtml;q=0.5' would get parsed +into:

+
+('application', 'xhtml', {'q', '0.5'})
+
+
+
+ + + + + + + + +
+ + + def quality(mime_type, ranges): + + + + + ¶ + +
+
+ +

Return the quality ('q') of a mime-type against a list of media-ranges.

+

Returns the quality 'q' of a mime-type when compared against the +media-ranges in ranges. For example:

+
+>>> quality('text/html','text/*;q=0.3, text/html;q=0.7,
+              text/html;level=1, text/html;level=2;q=0.4, */*;q=0.5')
+0.7
+
+
+
+ + + + + + + + +
+ + + def quality_parsed(mime_type, parsed_ranges): + + + + + ¶ + +
+
+ +

Find the best match for a mime-type amongst parsed media-ranges.

+

Find the best match for a given mime-type against a list of media_ranges +that have already been parsed by parse_media_range(). Returns the 'q' +quality parameter of the best match, 0 if no match was found. This function +bahaves the same as quality() except that 'parsed_ranges' must be a list of +parsed media ranges.

+
+
+
+ + + + + + + + +
+ + __author__: str = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + __credits__: str = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + __email__: str = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + __license__: str = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + __version__: str = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + + def _filter_blank(i): + + + + + ¶ + +
+
+ +

Undocumented

+
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.model.BaseModel.html b/docs/pydoc/googleapiclient.model.BaseModel.html new file mode 100644 index 00000000000..6ae54d659ca --- /dev/null +++ b/docs/pydoc/googleapiclient.model.BaseModel.html @@ -0,0 +1,847 @@ + + + + + + + + googleapiclient.model.BaseModel + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ + + +
+

Base model class.

+

Subclasses should provide implementations for the "serialize" and +"deserialize" methods, as well as values for the following class attributes.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MethoddeserializePerform the actual deserialization from response string to Python object.
MethodrequestUpdates outgoing requests with a serialized body.
MethodresponseConvert the response wire format into a Python object.
MethodserializePerform the actual Python object serialization.
Instance VariableacceptThe value to use for the HTTP Accept header.
Instance Variablealt_paramThe value to supply as the "alt" query parameter for requests.
Instance Variablecontent_typeThe value to use for the HTTP Content-type header.
Instance Variableno_content_responseThe value to return when deserializing a 204 "No Content" response.
Method_build_queryBuilds a query string.
Method_log_requestLogs debugging information about the request if requested.
Method_log_responseLogs debugging information about the response if requested.
+ + + +
+ +
+
+ + + + + + + + +
+ + + def deserialize(self, content): + + + + + ¶ + +
+
+ +

Perform the actual deserialization from response string to Python +object.

Parameters
contentstring, the body of the HTTP response
Returns
The body de-serialized as a Python object.
+
+
+ + + + + + + + +
+ + + def request(self, headers, path_params, query_params, body_value): + + + + + ¶ + +
+
+ +

Updates outgoing requests with a serialized body.

Parameters
headersdict, request headers
path_paramsdict, parameters that appear in the request path
query_paramsdict, parameters that appear in the query
body_valueobject, the request body as a Python object, which must be +serializable by json.
Returns
A tuple of (headers, path_params, query, body)headers: dict, request headers +path_params: dict, parameters that appear in the request path +query: string, query part of the request URI +body: string, the body serialized as JSON
+
+
+ + + + + + + + +
+ + + def response(self, resp, content): + + + + + ¶ + +
+
+ +

Convert the response wire format into a Python object.

Parameters
resphttplib2.Response, the HTTP response headers and status
contentstring, the body of the HTTP response
Returns
The body de-serialized as a Python object.
Raises
googleapiclient.errors.HttpError if a non 2xx response is received.
+
+
+ + + + + + + + +
+ + + def serialize(self, body_value): + + + + + ¶ + +
+
+ +

Perform the actual Python object serialization.

Parameters
body_valueobject, the request body as a Python object.
Returns
string, the body in serialized form.
+
+
+ + + + + + + + +
+ + accept = + + + + + ¶ + +
+
+ +

The value to use for the HTTP Accept header.

+ +
+
+ + + + + + + + +
+ + alt_param = + + + + + ¶ + +
+
+ +

The value to supply as the "alt" query parameter for requests.

+ +
+
+ + + + + + + + +
+ + content_type = + + + + + ¶ + +
+
+ +

The value to use for the HTTP Content-type header.

+ +
+
+ + + + + + + + +
+ + no_content_response = + + + + + ¶ + +
+
+ +

The value to return when deserializing a 204 "No +Content" response.

+ +
+
+ + + + + + + + +
+ + + def _build_query(self, params): + + + + + ¶ + +
+
+ +

Builds a query string.

Parameters
paramsdict, the query parameters
Returns
The query parameters properly encoded into an HTTP URI query string.
+
+
+ + + + + + + + +
+ + + def _log_request(self, headers, path_params, query, body): + + + + + ¶ + +
+
+ +

Logs debugging information about the request if requested.

+
+
+ + + + + + + + +
+ + + def _log_response(self, resp, content): + + + + + ¶ + +
+
+ +

Logs debugging information about the response if requested.

+
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.model.JsonModel.html b/docs/pydoc/googleapiclient.model.JsonModel.html new file mode 100644 index 00000000000..2e3804c0e5a --- /dev/null +++ b/docs/pydoc/googleapiclient.model.JsonModel.html @@ -0,0 +1,812 @@ + + + + + + + + googleapiclient.model.JsonModel + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ + + +
+

Model class for JSON.

+

Serializes and de-serializes between JSON and the Python +object representation of HTTP request and response bodies.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method__init__Construct a JsonModel.
MethoddeserializePerform the actual deserialization from response string to Python object.
MethodserializePerform the actual Python object serialization.
Instance VariableacceptUndocumented
Instance Variablealt_paramUndocumented
Instance Variablecontent_typeUndocumented
Propertyno_content_responseUndocumented
Instance Variable_data_wrapperUndocumented
+ +

+ Inherited from BaseModel: +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MethodrequestUpdates outgoing requests with a serialized body.
MethodresponseConvert the response wire format into a Python object.
Method_build_queryBuilds a query string.
Method_log_requestLogs debugging information about the request if requested.
Method_log_responseLogs debugging information about the response if requested.
+ + + +
+ +
+
+ + + + + + + + +
+ + + def __init__(self, data_wrapper=False): + + + + + ¶ + +
+
+ +

Construct a JsonModel.

Parameters
data_wrapperboolean, wrap requests and responses in a data wrapper
+
+
+ + + + + + + + +
+ + + def deserialize(self, content): + + + + + ¶ + +
+
+ +

Perform the actual deserialization from response string to Python +object.

Parameters
contentstring, the body of the HTTP response
Returns
The body de-serialized as a Python object.
+
+
+ + + + + + + + +
+ + + def serialize(self, body_value): + + + + + ¶ + +
+
+ +

Perform the actual Python object serialization.

Parameters
body_valueobject, the request body as a Python object.
Returns
string, the body in serialized form.
+
+
+ + + + + + + + +
+ + accept: str = + + + + + ¶ + +
+ +
+ + + + + + + + +
+ + alt_param: str = + + + + + ¶ + +
+ +
+ + + + + + + + +
+ + content_type: str = + + + + + ¶ + +
+ +
+ + + + + + + + +
+ @property
+ no_content_response = + + + + + ¶ + +
+ +
+ + + + + + + + +
+ + _data_wrapper = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.model.MediaModel.html b/docs/pydoc/googleapiclient.model.MediaModel.html new file mode 100644 index 00000000000..b384734746a --- /dev/null +++ b/docs/pydoc/googleapiclient.model.MediaModel.html @@ -0,0 +1,753 @@ + + + + + + + + googleapiclient.model.MediaModel + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ +
+

class MediaModel(JsonModel):

Constructor: MediaModel(data_wrapper)

+

View In Hierarchy

+
+ +
+

Model class for requests that return Media.

+

Serializes and de-serializes between JSON and the Python +object representation of HTTP request, and returns the raw bytes +of the response body.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MethoddeserializePerform the actual deserialization from response string to Python object.
Instance VariableacceptUndocumented
Instance Variablealt_paramUndocumented
Instance Variablecontent_typeUndocumented
Propertyno_content_responseUndocumented
+ +

+ Inherited from JsonModel: +

+ + + + + + + + + + + + + + + + + + + +
Method__init__Construct a JsonModel.
MethodserializePerform the actual Python object serialization.
Instance Variable_data_wrapperUndocumented
+ +

+ Inherited from BaseModel (via JsonModel): +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MethodrequestUpdates outgoing requests with a serialized body.
MethodresponseConvert the response wire format into a Python object.
Method_build_queryBuilds a query string.
Method_log_requestLogs debugging information about the request if requested.
Method_log_responseLogs debugging information about the response if requested.
+ + + +
+ +
+
+ + + + + + + + +
+ + + def deserialize(self, content): + + + + + ¶ + +
+
+ +

Perform the actual deserialization from response string to Python +object.

Parameters
contentstring, the body of the HTTP response
Returns
The body de-serialized as a Python object.
+
+
+ + + + + + + + +
+ + accept: str = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + alt_param: str = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + content_type: str = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ @property
+ no_content_response = + + + + + ¶ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.model.Model.html b/docs/pydoc/googleapiclient.model.Model.html new file mode 100644 index 00000000000..1dc157141ad --- /dev/null +++ b/docs/pydoc/googleapiclient.model.Model.html @@ -0,0 +1,492 @@ + + + + + + + + googleapiclient.model.Model + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ +
+

class Model(object):

Known subclasses: googleapiclient.model.BaseModel

+

View In Hierarchy

+
+ +
+

Model base class.

+

All Model classes should implement this interface. +The Model serializes and de-serializes between a wire +format such as JSON and a Python object representation.

+
+
+ +
+ + + + + + + + + + + + + + +
MethodrequestUpdates outgoing requests with a serialized body.
MethodresponseConvert the response wire format into a Python object.
+ + + +
+ +
+
+ + + + + + + + +
+ + + def request(self, headers, path_params, query_params, body_value): + + + + + ¶ + +
+
+ +

Updates outgoing requests with a serialized body.

Parameters
headersdict, request headers
path_paramsdict, parameters that appear in the request path
query_paramsdict, parameters that appear in the query
body_valueobject, the request body as a Python object, which must be +serializable.
Returns
A tuple of (headers, path_params, query, body)headers: dict, request headers +path_params: dict, parameters that appear in the request path +query: string, query part of the request URI +body: string, the body serialized in the desired wire format.
+
+
+ + + + + + + + +
+ + + def response(self, resp, content): + + + + + ¶ + +
+
+ +

Convert the response wire format into a Python object.

Parameters
resphttplib2.Response, the HTTP response headers and status
contentstring, the body of the HTTP response
Returns
The body de-serialized as a Python object.
Raises
googleapiclient.errors.HttpError if a non 2xx response is received.
+
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.model.ProtocolBufferModel.html b/docs/pydoc/googleapiclient.model.ProtocolBufferModel.html new file mode 100644 index 00000000000..fbb3e85e20a --- /dev/null +++ b/docs/pydoc/googleapiclient.model.ProtocolBufferModel.html @@ -0,0 +1,815 @@ + + + + + + + + googleapiclient.model.ProtocolBufferModel + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ +
+

class ProtocolBufferModel(BaseModel):

Constructor: ProtocolBufferModel(protocol_buffer)

+

View In Hierarchy

+
+ +
+

Model class for protocol buffers.

+

Serializes and de-serializes the binary protocol buffer sent in the HTTP +request and response bodies.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method__init__Constructs a ProtocolBufferModel.
MethoddeserializePerform the actual deserialization from response string to Python object.
MethodserializePerform the actual Python object serialization.
Instance VariableacceptUndocumented
Instance Variablealt_paramUndocumented
Instance Variablecontent_typeUndocumented
Propertyno_content_responseUndocumented
Instance Variable_protocol_bufferUndocumented
+ +

+ Inherited from BaseModel: +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MethodrequestUpdates outgoing requests with a serialized body.
MethodresponseConvert the response wire format into a Python object.
Method_build_queryBuilds a query string.
Method_log_requestLogs debugging information about the request if requested.
Method_log_responseLogs debugging information about the response if requested.
+ + + +
+ +
+
+ + + + + + + + +
+ + + def __init__(self, protocol_buffer): + + + + + ¶ + +
+
+ +

Constructs a ProtocolBufferModel.

+

The serialized protocol buffer returned in an HTTP response will be +de-serialized using the given protocol buffer class.

+
Parameters
protocol_bufferThe protocol buffer class used to de-serialize a
response from the API.
+
+
+ + + + + + + + +
+ + + def deserialize(self, content): + + + + + ¶ + +
+
+ +

Perform the actual deserialization from response string to Python +object.

Parameters
contentstring, the body of the HTTP response
Returns
The body de-serialized as a Python object.
+
+
+ + + + + + + + +
+ + + def serialize(self, body_value): + + + + + ¶ + +
+
+ +

Perform the actual Python object serialization.

Parameters
body_valueobject, the request body as a Python object.
Returns
string, the body in serialized form.
+
+
+ + + + + + + + +
+ + accept: str = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + alt_param: str = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + content_type: str = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ @property
+ no_content_response = + + + + + ¶ + +
+ +
+ + + + + + + + +
+ + _protocol_buffer = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.model.RawModel.html b/docs/pydoc/googleapiclient.model.RawModel.html new file mode 100644 index 00000000000..9f30b057628 --- /dev/null +++ b/docs/pydoc/googleapiclient.model.RawModel.html @@ -0,0 +1,753 @@ + + + + + + + + googleapiclient.model.RawModel + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ +
+

class RawModel(JsonModel):

Constructor: RawModel(data_wrapper)

+

View In Hierarchy

+
+ +
+

Model class for requests that don't return JSON.

+

Serializes and de-serializes between JSON and the Python +object representation of HTTP request, and returns the raw bytes +of the response body.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MethoddeserializePerform the actual deserialization from response string to Python object.
Instance VariableacceptUndocumented
Instance Variablealt_paramUndocumented
Instance Variablecontent_typeUndocumented
Propertyno_content_responseUndocumented
+ +

+ Inherited from JsonModel: +

+ + + + + + + + + + + + + + + + + + + +
Method__init__Construct a JsonModel.
MethodserializePerform the actual Python object serialization.
Instance Variable_data_wrapperUndocumented
+ +

+ Inherited from BaseModel (via JsonModel): +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MethodrequestUpdates outgoing requests with a serialized body.
MethodresponseConvert the response wire format into a Python object.
Method_build_queryBuilds a query string.
Method_log_requestLogs debugging information about the request if requested.
Method_log_responseLogs debugging information about the response if requested.
+ + + +
+ +
+
+ + + + + + + + +
+ + + def deserialize(self, content): + + + + + ¶ + +
+
+ +

Perform the actual deserialization from response string to Python +object.

Parameters
contentstring, the body of the HTTP response
Returns
The body de-serialized as a Python object.
+
+
+ + + + + + + + +
+ + accept: str = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + alt_param = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + content_type: str = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ @property
+ no_content_response = + + + + + ¶ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.model.html b/docs/pydoc/googleapiclient.model.html new file mode 100644 index 00000000000..e464ece4d36 --- /dev/null +++ b/docs/pydoc/googleapiclient.model.html @@ -0,0 +1,750 @@ + + + + + + + + googleapiclient.model + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ module documentation +
+ +
+ +

+
+ +
+

Model objects for requests and responses.

+

Each API may support one or more serializations, such +as JSON, Atom, etc. The model classes are responsible +for converting between the wire format and the Python +object representation.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ClassBaseModelBase model class.
ClassJsonModelModel class for JSON.
ClassMediaModelModel class for requests that return Media.
ClassModelModel base class.
ClassProtocolBufferModelModel class for protocol buffers.
ClassRawModelModel class for requests that don't return JSON.
FunctionmakepatchCreate a patch object.
ConstantLOGGERUndocumented
Variable__author__Undocumented
Variabledump_request_responseUndocumented
Function_abstractUndocumented
Constant_PY_VERSIONUndocumented
+ + + +
+ +
+
+ + + + + + + + +
+ + + def makepatch(original, modified): + + + + + ¶ + +
+
+ +

Create a patch object.

+

Some methods support PATCH, an efficient way to send updates to a resource. +This method allows the easy construction of patch bodies by looking at the +differences between a resource before and after it was modified.

+
+
Example usage:
+

item = service.activities().get(postid=postid, userid=userid).execute() +original = copy.deepcopy(item) +item['object']['content'] = 'This is updated.' +service.activities.patch(postid=postid, userid=userid,

+
+body=makepatch(original, item)).execute()
+
+
+
Parameters
originalobject, the original deserialized resource
modifiedobject, the modified deserialized resource
Returns
An object that contains only the changes from original to modified, in a +form suitable to pass to a PATCH method.
+
+
+ + + + + + + + +
+ + LOGGER = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
logging.getLogger(__name__)
+
+
+ + + + + + + + +
+ + __author__: str = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + dump_request_response: bool = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + + def _abstract(): + + + + + ¶ + +
+
+ +

Undocumented

+
+
+ + + + + + + + +
+ + _PY_VERSION = + + + + + ¶ + +
+
+ +

Undocumented

+
Value
platform.python_version()
+
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.sample_tools.html b/docs/pydoc/googleapiclient.sample_tools.html new file mode 100644 index 00000000000..156f01b5ec3 --- /dev/null +++ b/docs/pydoc/googleapiclient.sample_tools.html @@ -0,0 +1,491 @@ + + + + + + + + googleapiclient.sample_tools + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ module documentation +
+ +
+ +

+
+ +
+

Utilities for making samples.

+

Consolidates a lot of code commonly repeated in sample applications.

+
+
+ +
+ + + + + + + + + + + + + + +
FunctioninitA common initialization routine for samples.
Variable__author__Undocumented
+ + + +
+ +
+
+ + + + + + + + +
+ + + def init(argv, name, version, doc, filename, scope=None, parents=[], discovery_filename=None): + + + + + ¶ + +
+
+ +

A common initialization routine for samples.

+

Many of the sample applications do the same initialization, which has now +been consolidated into this function. This function uses common idioms found +in almost all the samples, i.e. for an API with name 'apiname', the +credentials are stored in a file named apiname.dat, and the +client_secrets.json file is stored in the same directory as the application +main file.

+
Parameters
argvlist of string, the command-line parameters of the application.
namestring, name of the API.
versionstring, version of the API.
docstring, description of the application. Usually set to __doc__.
filenameUndocumented
scopestring, The OAuth scope used.
parentslist of argparse.ArgumentParser, additional command-line flags.
discovery_filenamestring, name of local discovery file (JSON). Use when discovery doc not available via URL.
filestring, filename of the application. Usually set to __file__.
Returns
A tuple of (service, flags), where service is the service object and flags +is the parsed command-line flags.
+
+
+ + + + + + + + +
+ + __author__: str = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.schema.Schemas.html b/docs/pydoc/googleapiclient.schema.Schemas.html new file mode 100644 index 00000000000..b818271e25b --- /dev/null +++ b/docs/pydoc/googleapiclient.schema.Schemas.html @@ -0,0 +1,647 @@ + + + + + + + + googleapiclient.schema.Schemas + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ +
+

class Schemas(object):

Constructor: Schemas(discovery)

+

View In Hierarchy

+
+ +
+

Schemas for an API.

+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method__init__Constructor.
MethodgetGet deserialized JSON schema from the schema name.
MethodprettyPrintByNameGet pretty printed object prototype from the schema name.
MethodprettyPrintSchemaGet pretty printed object prototype of schema.
Instance VariableprettyUndocumented
Instance VariableschemasUndocumented
Method_prettyPrintByNameGet pretty printed object prototype from the schema name.
Method_prettyPrintSchemaGet pretty printed object prototype of schema.
+ + + +
+ +
+
+ + + + + + + + +
+ + + def __init__(self, discovery): + + + + + ¶ + +
+
+ +

Constructor.

Parameters
discoveryobject, Deserialized discovery document from which we pull +out the named schema.
+
+
+ + + + + + + + +
+ + + def get(self, name, default=None): + + + + + ¶ + +
+
+ +

Get deserialized JSON schema from the schema name.

Parameters
namestring, Schema name.
defaultobject, return value if name not found.
+
+
+ + + + + + + + +
+ + + def prettyPrintByName(self, name): + + + + + ¶ + +
+
+ +

Get pretty printed object prototype from the schema name.

Parameters
namestring, Name of schema in the discovery document.
Returns
+
string, A string that contains a prototype object with
+
comments that conforms to the given schema.
+
+
+
+
+ + + + + + + + +
+ + + def prettyPrintSchema(self, schema): + + + + + ¶ + +
+
+ +

Get pretty printed object prototype of schema.

Parameters
schemaobject, Parsed JSON schema.
Returns
+
string, A string that contains a prototype object with
+
comments that conforms to the given schema.
+
+
+
+
+ + + + + + + + +
+ + pretty: dict = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + schemas = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + @util.positional(2)
+ def _prettyPrintByName(self, name, seen=None, dent=0): + + + + + ¶ + +
+
+ +

Get pretty printed object prototype from the schema name.

Parameters
namestring, Name of schema in the discovery document.
seenlist of string, Names of schema already seen. Used to handle +recursive definitions.
dentUndocumented
Returns
+
string, A string that contains a prototype object with
+
comments that conforms to the given schema.
+
+
+
+
+ + + + + + + + +
+ + @util.positional(2)
+ def _prettyPrintSchema(self, schema, seen=None, dent=0): + + + + + ¶ + +
+
+ +

Get pretty printed object prototype of schema.

Parameters
schemaobject, Parsed JSON schema.
seenlist of string, Names of schema already seen. Used to handle +recursive definitions.
dentUndocumented
Returns
+
string, A string that contains a prototype object with
+
comments that conforms to the given schema.
+
+
+
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.schema._SchemaToStruct.html b/docs/pydoc/googleapiclient.schema._SchemaToStruct.html new file mode 100644 index 00000000000..b8bd3f9e390 --- /dev/null +++ b/docs/pydoc/googleapiclient.schema._SchemaToStruct.html @@ -0,0 +1,866 @@ + + + + + + + + googleapiclient.schema._SchemaToStruct + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ class documentation +
+ +
+

class _SchemaToStruct(object):

Constructor: _SchemaToStruct(schema, seen, dent)

+

View In Hierarchy

+
+ +
+

Convert schema to a prototype object.

+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Method__init__Constructor.
MethodemitAdd text as a line to the output.
MethodemitBeginAdd text to the output, but with no line terminator.
MethodemitEndAdd text and comment to the output with line terminator.
MethodindentIncrease indentation level.
Methodto_strPrototype object based on the schema, in Python code with comments.
MethodundentDecrease indentation level.
Instance VariabledentUndocumented
Instance Variablefrom_cacheUndocumented
Instance VariableschemaUndocumented
Instance VariableseenUndocumented
Instance VariablestringUndocumented
Instance VariablevalueUndocumented
Method_to_str_implPrototype object based on the schema, in Python code with comments.
+ + + +
+ +
+
+ + + + + + + + +
+ + @util.positional(3)
+ def __init__(self, schema, seen, dent=0): + + + + + ¶ + +
+
+ +

Constructor.

Parameters
schemaobject, Parsed JSON schema.
seenlist, List of names of schema already seen while parsing. Used to +handle recursive definitions.
dentint, Initial indentation depth.
+
+
+ + + + + + + + +
+ + + def emit(self, text): + + + + + ¶ + +
+
+ +

Add text as a line to the output.

Parameters
textstring, Text to output.
+
+
+ + + + + + + + +
+ + + def emitBegin(self, text): + + + + + ¶ + +
+
+ +

Add text to the output, but with no line terminator.

Parameters
textstring, Text to output.
+
+
+ + + + + + + + +
+ + + def emitEnd(self, text, comment): + + + + + ¶ + +
+
+ +

Add text and comment to the output with line terminator.

Parameters
textstring, Text to output.
commentstring, Python comment.
+
+
+ + + + + + + + +
+ + + def indent(self): + + + + + ¶ + +
+
+ +

Increase indentation level.

+
+
+ + + + + + + + +
+ + + def to_str(self, from_cache): + + + + + ¶ + +
+
+ +

Prototype object based on the schema, in Python code with comments.

Parameters
from_cachecallable(name, seen), Callable that retrieves an object +prototype for a schema with the given name. Seen is a list of schema +names already seen as we recursively descend the schema definition.
Returns
Prototype object based on the schema, in Python code with comments. +The lines of the code will all be properly indented.
+
+
+ + + + + + + + +
+ + + def undent(self): + + + + + ¶ + +
+
+ +

Decrease indentation level.

+
+
+ + + + + + + + +
+ + dent = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + from_cache = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + schema = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + seen = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + string = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + value: list = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+ + + + + + + + +
+ + + def _to_str_impl(self, schema): + + + + + ¶ + +
+
+ +

Prototype object based on the schema, in Python code with comments.

Parameters
schemaobject, Parsed JSON schema file.
Returns
Prototype object based on the schema, in Python code with comments.
+
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.schema.html b/docs/pydoc/googleapiclient.schema.html new file mode 100644 index 00000000000..12e4694ee74 --- /dev/null +++ b/docs/pydoc/googleapiclient.schema.html @@ -0,0 +1,531 @@ + + + + + + + + googleapiclient.schema + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ module documentation +
+ +
+ +

+
+ +
+

Schema processing for discovery based APIs

+

Schemas holds an APIs discovery schemas. It can return those schema as +deserialized JSON objects, or pretty print them as prototype objects that +conform to the schema.

+

For example, given the schema:

+
+
+
schema = """{
+
+
"Foo": {
+

"type": "object", +"properties": {

+
+
+
"etag": {
+
"type": "string", +"description": "ETag of the collection."
+
+

}, +"kind": {

+
+"type": "string", +"description": "Type of the collection ('calendar#acl').", +"default": "calendar#acl"
+

}, +"nextPageToken": {

+
+

"type": "string", +"description": "Token used to access the next

+
+page of this result. Omitted if no further results are available."
+
+

}

+
+

}

+
+
+

}

+
+
+

}"""

+

s = Schemas(schema) +print s.prettyPrintByName('Foo')

+

Produces the following output:

+
+
+
{
+
+
"nextPageToken": "A String", # Token used to access the
+
# next page of this result. Omitted if no further results are available.
+
+

"kind": "A String", # Type of the collection ('calendar#acl'). +"etag": "A String", # ETag of the collection.

+
+
+

},

+
+
+

The constructor takes a discovery document in which to look up named schema.

+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
ClassSchemasSchemas for an API.
Variable__author__Undocumented
Class_SchemaToStructConvert schema to a prototype object.
+ + + +
+ +
+
+ + + + + + + + +
+ + __author__: str = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/googleapiclient.version.html b/docs/pydoc/googleapiclient.version.html new file mode 100644 index 00000000000..ea3d2230932 --- /dev/null +++ b/docs/pydoc/googleapiclient.version.html @@ -0,0 +1,439 @@ + + + + + + + + googleapiclient.version + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ module documentation +
+ +
+ +

+
+ +
+

Undocumented

+
+ +
+ + + + + + + + + +
Variable__version__Undocumented
+ + + +
+ +
+
+ + + + + + + + +
+ + __version__: str = + + + + + ¶ + +
+
+ +

Undocumented

+ +
+
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/index.html b/docs/pydoc/index.html new file mode 100644 index 00000000000..d0c377fcf97 --- /dev/null +++ b/docs/pydoc/index.html @@ -0,0 +1,428 @@ + + + + + + + + googleapiclient + + + + + + + + + + + + + + + + +
+ + + + +
+ + + + + + +
+ package documentation +
+ +
+ +

+
+ +
+

Undocumented

+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ModulechannelChannel notifications support.
ModulediscoveryClient for discovery based APIs.
Packagediscovery_cacheCaching utility for the discovery document.
ModuleerrorsErrors for the library.
ModulehttpClasses to encapsulate a single HTTP request.
ModulemimeparseMIME-Type Parser
ModulemodelModel objects for requests and responses.
Modulesample_toolsUtilities for making samples.
ModuleschemaSchema processing for discovery based APIs
ModuleversionUndocumented
Module_authHelpers for authentication using oauth2client or google-auth.
Module_helpersHelper functions for commonly used utilities.
+ + + +
+ +
+ +
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/lunr.js b/docs/pydoc/lunr.js new file mode 100644 index 00000000000..6768f2a3846 --- /dev/null +++ b/docs/pydoc/lunr.js @@ -0,0 +1,3475 @@ +/** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + */ + + ;(function(){ + + /** + * A convenience function for configuring and constructing + * a new lunr Index. + * + * A lunr.Builder instance is created and the pipeline setup + * with a trimmer, stop word filter and stemmer. + * + * This builder object is yielded to the configuration function + * that is passed as a parameter, allowing the list of fields + * and other builder parameters to be customised. + * + * All documents _must_ be added within the passed config function. + * + * @example + * var idx = lunr(function () { + * this.field('title') + * this.field('body') + * this.ref('id') + * + * documents.forEach(function (doc) { + * this.add(doc) + * }, this) + * }) + * + * @see {@link lunr.Builder} + * @see {@link lunr.Pipeline} + * @see {@link lunr.trimmer} + * @see {@link lunr.stopWordFilter} + * @see {@link lunr.stemmer} + * @namespace {function} lunr + */ + var lunr = function (config) { + var builder = new lunr.Builder + + builder.pipeline.add( + lunr.trimmer, + lunr.stopWordFilter, + lunr.stemmer + ) + + builder.searchPipeline.add( + lunr.stemmer + ) + + config.call(builder, builder) + return builder.build() + } + + lunr.version = "2.3.9" + /*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + */ + + /** + * A namespace containing utils for the rest of the lunr library + * @namespace lunr.utils + */ + lunr.utils = {} + + /** + * Print a warning message to the console. + * + * @param {String} message The message to be printed. + * @memberOf lunr.utils + * @function + */ + lunr.utils.warn = (function (global) { + /* eslint-disable no-console */ + return function (message) { + if (global.console && console.warn) { + console.warn(message) + } + } + /* eslint-enable no-console */ + })(this) + + /** + * Convert an object to a string. + * + * In the case of `null` and `undefined` the function returns + * the empty string, in all other cases the result of calling + * `toString` on the passed object is returned. + * + * @param {Any} obj The object to convert to a string. + * @return {String} string representation of the passed object. + * @memberOf lunr.utils + */ + lunr.utils.asString = function (obj) { + if (obj === void 0 || obj === null) { + return "" + } else { + return obj.toString() + } + } + + /** + * Clones an object. + * + * Will create a copy of an existing object such that any mutations + * on the copy cannot affect the original. + * + * Only shallow objects are supported, passing a nested object to this + * function will cause a TypeError. + * + * Objects with primitives, and arrays of primitives are supported. + * + * @param {Object} obj The object to clone. + * @return {Object} a clone of the passed object. + * @throws {TypeError} when a nested object is passed. + * @memberOf Utils + */ + lunr.utils.clone = function (obj) { + if (obj === null || obj === undefined) { + return obj + } + + var clone = Object.create(null), + keys = Object.keys(obj) + + for (var i = 0; i < keys.length; i++) { + var key = keys[i], + val = obj[key] + + if (Array.isArray(val)) { + clone[key] = val.slice() + continue + } + + if (typeof val === 'string' || + typeof val === 'number' || + typeof val === 'boolean') { + clone[key] = val + continue + } + + throw new TypeError("clone is not deep and does not support nested objects") + } + + return clone + } + lunr.FieldRef = function (docRef, fieldName, stringValue) { + this.docRef = docRef + this.fieldName = fieldName + this._stringValue = stringValue + } + + lunr.FieldRef.joiner = "/" + + lunr.FieldRef.fromString = function (s) { + var n = s.indexOf(lunr.FieldRef.joiner) + + if (n === -1) { + throw "malformed field ref string" + } + + var fieldRef = s.slice(0, n), + docRef = s.slice(n + 1) + + return new lunr.FieldRef (docRef, fieldRef, s) + } + + lunr.FieldRef.prototype.toString = function () { + if (this._stringValue == undefined) { + this._stringValue = this.fieldName + lunr.FieldRef.joiner + this.docRef + } + + return this._stringValue + } + /*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + */ + + /** + * A lunr set. + * + * @constructor + */ + lunr.Set = function (elements) { + this.elements = Object.create(null) + + if (elements) { + this.length = elements.length + + for (var i = 0; i < this.length; i++) { + this.elements[elements[i]] = true + } + } else { + this.length = 0 + } + } + + /** + * A complete set that contains all elements. + * + * @static + * @readonly + * @type {lunr.Set} + */ + lunr.Set.complete = { + intersect: function (other) { + return other + }, + + union: function () { + return this + }, + + contains: function () { + return true + } + } + + /** + * An empty set that contains no elements. + * + * @static + * @readonly + * @type {lunr.Set} + */ + lunr.Set.empty = { + intersect: function () { + return this + }, + + union: function (other) { + return other + }, + + contains: function () { + return false + } + } + + /** + * Returns true if this set contains the specified object. + * + * @param {object} object - Object whose presence in this set is to be tested. + * @returns {boolean} - True if this set contains the specified object. + */ + lunr.Set.prototype.contains = function (object) { + return !!this.elements[object] + } + + /** + * Returns a new set containing only the elements that are present in both + * this set and the specified set. + * + * @param {lunr.Set} other - set to intersect with this set. + * @returns {lunr.Set} a new set that is the intersection of this and the specified set. + */ + + lunr.Set.prototype.intersect = function (other) { + var a, b, elements, intersection = [] + + if (other === lunr.Set.complete) { + return this + } + + if (other === lunr.Set.empty) { + return other + } + + if (this.length < other.length) { + a = this + b = other + } else { + a = other + b = this + } + + elements = Object.keys(a.elements) + + for (var i = 0; i < elements.length; i++) { + var element = elements[i] + if (element in b.elements) { + intersection.push(element) + } + } + + return new lunr.Set (intersection) + } + + /** + * Returns a new set combining the elements of this and the specified set. + * + * @param {lunr.Set} other - set to union with this set. + * @return {lunr.Set} a new set that is the union of this and the specified set. + */ + + lunr.Set.prototype.union = function (other) { + if (other === lunr.Set.complete) { + return lunr.Set.complete + } + + if (other === lunr.Set.empty) { + return this + } + + return new lunr.Set(Object.keys(this.elements).concat(Object.keys(other.elements))) + } + /** + * A function to calculate the inverse document frequency for + * a posting. This is shared between the builder and the index + * + * @private + * @param {object} posting - The posting for a given term + * @param {number} documentCount - The total number of documents. + */ + lunr.idf = function (posting, documentCount) { + var documentsWithTerm = 0 + + for (var fieldName in posting) { + if (fieldName == '_index') continue // Ignore the term index, its not a field + documentsWithTerm += Object.keys(posting[fieldName]).length + } + + var x = (documentCount - documentsWithTerm + 0.5) / (documentsWithTerm + 0.5) + + return Math.log(1 + Math.abs(x)) + } + + /** + * A token wraps a string representation of a token + * as it is passed through the text processing pipeline. + * + * @constructor + * @param {string} [str=''] - The string token being wrapped. + * @param {object} [metadata={}] - Metadata associated with this token. + */ + lunr.Token = function (str, metadata) { + this.str = str || "" + this.metadata = metadata || {} + } + + /** + * Returns the token string that is being wrapped by this object. + * + * @returns {string} + */ + lunr.Token.prototype.toString = function () { + return this.str + } + + /** + * A token update function is used when updating or optionally + * when cloning a token. + * + * @callback lunr.Token~updateFunction + * @param {string} str - The string representation of the token. + * @param {Object} metadata - All metadata associated with this token. + */ + + /** + * Applies the given function to the wrapped string token. + * + * @example + * token.update(function (str, metadata) { + * return str.toUpperCase() + * }) + * + * @param {lunr.Token~updateFunction} fn - A function to apply to the token string. + * @returns {lunr.Token} + */ + lunr.Token.prototype.update = function (fn) { + this.str = fn(this.str, this.metadata) + return this + } + + /** + * Creates a clone of this token. Optionally a function can be + * applied to the cloned token. + * + * @param {lunr.Token~updateFunction} [fn] - An optional function to apply to the cloned token. + * @returns {lunr.Token} + */ + lunr.Token.prototype.clone = function (fn) { + fn = fn || function (s) { return s } + return new lunr.Token (fn(this.str, this.metadata), this.metadata) + } + /*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + */ + + /** + * A function for splitting a string into tokens ready to be inserted into + * the search index. Uses `lunr.tokenizer.separator` to split strings, change + * the value of this property to change how strings are split into tokens. + * + * This tokenizer will convert its parameter to a string by calling `toString` and + * then will split this string on the character in `lunr.tokenizer.separator`. + * Arrays will have their elements converted to strings and wrapped in a lunr.Token. + * + * Optional metadata can be passed to the tokenizer, this metadata will be cloned and + * added as metadata to every token that is created from the object to be tokenized. + * + * @static + * @param {?(string|object|object[])} obj - The object to convert into tokens + * @param {?object} metadata - Optional metadata to associate with every token + * @returns {lunr.Token[]} + * @see {@link lunr.Pipeline} + */ + lunr.tokenizer = function (obj, metadata) { + if (obj == null || obj == undefined) { + return [] + } + + if (Array.isArray(obj)) { + return obj.map(function (t) { + return new lunr.Token( + lunr.utils.asString(t).toLowerCase(), + lunr.utils.clone(metadata) + ) + }) + } + + var str = obj.toString().toLowerCase(), + len = str.length, + tokens = [] + + for (var sliceEnd = 0, sliceStart = 0; sliceEnd <= len; sliceEnd++) { + var char = str.charAt(sliceEnd), + sliceLength = sliceEnd - sliceStart + + if ((char.match(lunr.tokenizer.separator) || sliceEnd == len)) { + + if (sliceLength > 0) { + var tokenMetadata = lunr.utils.clone(metadata) || {} + tokenMetadata["position"] = [sliceStart, sliceLength] + tokenMetadata["index"] = tokens.length + + tokens.push( + new lunr.Token ( + str.slice(sliceStart, sliceEnd), + tokenMetadata + ) + ) + } + + sliceStart = sliceEnd + 1 + } + + } + + return tokens + } + + /** + * The separator used to split a string into tokens. Override this property to change the behaviour of + * `lunr.tokenizer` behaviour when tokenizing strings. By default this splits on whitespace and hyphens. + * + * @static + * @see lunr.tokenizer + */ + lunr.tokenizer.separator = /[\s\-]+/ + /*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + */ + + /** + * lunr.Pipelines maintain an ordered list of functions to be applied to all + * tokens in documents entering the search index and queries being ran against + * the index. + * + * An instance of lunr.Index created with the lunr shortcut will contain a + * pipeline with a stop word filter and an English language stemmer. Extra + * functions can be added before or after either of these functions or these + * default functions can be removed. + * + * When run the pipeline will call each function in turn, passing a token, the + * index of that token in the original list of all tokens and finally a list of + * all the original tokens. + * + * The output of functions in the pipeline will be passed to the next function + * in the pipeline. To exclude a token from entering the index the function + * should return undefined, the rest of the pipeline will not be called with + * this token. + * + * For serialisation of pipelines to work, all functions used in an instance of + * a pipeline should be registered with lunr.Pipeline. Registered functions can + * then be loaded. If trying to load a serialised pipeline that uses functions + * that are not registered an error will be thrown. + * + * If not planning on serialising the pipeline then registering pipeline functions + * is not necessary. + * + * @constructor + */ + lunr.Pipeline = function () { + this._stack = [] + } + + lunr.Pipeline.registeredFunctions = Object.create(null) + + /** + * A pipeline function maps lunr.Token to lunr.Token. A lunr.Token contains the token + * string as well as all known metadata. A pipeline function can mutate the token string + * or mutate (or add) metadata for a given token. + * + * A pipeline function can indicate that the passed token should be discarded by returning + * null, undefined or an empty string. This token will not be passed to any downstream pipeline + * functions and will not be added to the index. + * + * Multiple tokens can be returned by returning an array of tokens. Each token will be passed + * to any downstream pipeline functions and all will returned tokens will be added to the index. + * + * Any number of pipeline functions may be chained together using a lunr.Pipeline. + * + * @interface lunr.PipelineFunction + * @param {lunr.Token} token - A token from the document being processed. + * @param {number} i - The index of this token in the complete list of tokens for this document/field. + * @param {lunr.Token[]} tokens - All tokens for this document/field. + * @returns {(?lunr.Token|lunr.Token[])} + */ + + /** + * Register a function with the pipeline. + * + * Functions that are used in the pipeline should be registered if the pipeline + * needs to be serialised, or a serialised pipeline needs to be loaded. + * + * Registering a function does not add it to a pipeline, functions must still be + * added to instances of the pipeline for them to be used when running a pipeline. + * + * @param {lunr.PipelineFunction} fn - The function to check for. + * @param {String} label - The label to register this function with + */ + lunr.Pipeline.registerFunction = function (fn, label) { + if (label in this.registeredFunctions) { + lunr.utils.warn('Overwriting existing registered function: ' + label) + } + + fn.label = label + lunr.Pipeline.registeredFunctions[fn.label] = fn + } + + /** + * Warns if the function is not registered as a Pipeline function. + * + * @param {lunr.PipelineFunction} fn - The function to check for. + * @private + */ + lunr.Pipeline.warnIfFunctionNotRegistered = function (fn) { + var isRegistered = fn.label && (fn.label in this.registeredFunctions) + + if (!isRegistered) { + lunr.utils.warn('Function is not registered with pipeline. This may cause problems when serialising the index.\n', fn) + } + } + + /** + * Loads a previously serialised pipeline. + * + * All functions to be loaded must already be registered with lunr.Pipeline. + * If any function from the serialised data has not been registered then an + * error will be thrown. + * + * @param {Object} serialised - The serialised pipeline to load. + * @returns {lunr.Pipeline} + */ + lunr.Pipeline.load = function (serialised) { + var pipeline = new lunr.Pipeline + + serialised.forEach(function (fnName) { + var fn = lunr.Pipeline.registeredFunctions[fnName] + + if (fn) { + pipeline.add(fn) + } else { + throw new Error('Cannot load unregistered function: ' + fnName) + } + }) + + return pipeline + } + + /** + * Adds new functions to the end of the pipeline. + * + * Logs a warning if the function has not been registered. + * + * @param {lunr.PipelineFunction[]} functions - Any number of functions to add to the pipeline. + */ + lunr.Pipeline.prototype.add = function () { + var fns = Array.prototype.slice.call(arguments) + + fns.forEach(function (fn) { + lunr.Pipeline.warnIfFunctionNotRegistered(fn) + this._stack.push(fn) + }, this) + } + + /** + * Adds a single function after a function that already exists in the + * pipeline. + * + * Logs a warning if the function has not been registered. + * + * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline. + * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline. + */ + lunr.Pipeline.prototype.after = function (existingFn, newFn) { + lunr.Pipeline.warnIfFunctionNotRegistered(newFn) + + var pos = this._stack.indexOf(existingFn) + if (pos == -1) { + throw new Error('Cannot find existingFn') + } + + pos = pos + 1 + this._stack.splice(pos, 0, newFn) + } + + /** + * Adds a single function before a function that already exists in the + * pipeline. + * + * Logs a warning if the function has not been registered. + * + * @param {lunr.PipelineFunction} existingFn - A function that already exists in the pipeline. + * @param {lunr.PipelineFunction} newFn - The new function to add to the pipeline. + */ + lunr.Pipeline.prototype.before = function (existingFn, newFn) { + lunr.Pipeline.warnIfFunctionNotRegistered(newFn) + + var pos = this._stack.indexOf(existingFn) + if (pos == -1) { + throw new Error('Cannot find existingFn') + } + + this._stack.splice(pos, 0, newFn) + } + + /** + * Removes a function from the pipeline. + * + * @param {lunr.PipelineFunction} fn The function to remove from the pipeline. + */ + lunr.Pipeline.prototype.remove = function (fn) { + var pos = this._stack.indexOf(fn) + if (pos == -1) { + return + } + + this._stack.splice(pos, 1) + } + + /** + * Runs the current list of functions that make up the pipeline against the + * passed tokens. + * + * @param {Array} tokens The tokens to run through the pipeline. + * @returns {Array} + */ + lunr.Pipeline.prototype.run = function (tokens) { + var stackLength = this._stack.length + + for (var i = 0; i < stackLength; i++) { + var fn = this._stack[i] + var memo = [] + + for (var j = 0; j < tokens.length; j++) { + var result = fn(tokens[j], j, tokens) + + if (result === null || result === void 0 || result === '') continue + + if (Array.isArray(result)) { + for (var k = 0; k < result.length; k++) { + memo.push(result[k]) + } + } else { + memo.push(result) + } + } + + tokens = memo + } + + return tokens + } + + /** + * Convenience method for passing a string through a pipeline and getting + * strings out. This method takes care of wrapping the passed string in a + * token and mapping the resulting tokens back to strings. + * + * @param {string} str - The string to pass through the pipeline. + * @param {?object} metadata - Optional metadata to associate with the token + * passed to the pipeline. + * @returns {string[]} + */ + lunr.Pipeline.prototype.runString = function (str, metadata) { + var token = new lunr.Token (str, metadata) + + return this.run([token]).map(function (t) { + return t.toString() + }) + } + + /** + * Resets the pipeline by removing any existing processors. + * + */ + lunr.Pipeline.prototype.reset = function () { + this._stack = [] + } + + /** + * Returns a representation of the pipeline ready for serialisation. + * + * Logs a warning if the function has not been registered. + * + * @returns {Array} + */ + lunr.Pipeline.prototype.toJSON = function () { + return this._stack.map(function (fn) { + lunr.Pipeline.warnIfFunctionNotRegistered(fn) + + return fn.label + }) + } + /*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + */ + + /** + * A vector is used to construct the vector space of documents and queries. These + * vectors support operations to determine the similarity between two documents or + * a document and a query. + * + * Normally no parameters are required for initializing a vector, but in the case of + * loading a previously dumped vector the raw elements can be provided to the constructor. + * + * For performance reasons vectors are implemented with a flat array, where an elements + * index is immediately followed by its value. E.g. [index, value, index, value]. This + * allows the underlying array to be as sparse as possible and still offer decent + * performance when being used for vector calculations. + * + * @constructor + * @param {Number[]} [elements] - The flat list of element index and element value pairs. + */ + lunr.Vector = function (elements) { + this._magnitude = 0 + this.elements = elements || [] + } + + + /** + * Calculates the position within the vector to insert a given index. + * + * This is used internally by insert and upsert. If there are duplicate indexes then + * the position is returned as if the value for that index were to be updated, but it + * is the callers responsibility to check whether there is a duplicate at that index + * + * @param {Number} insertIdx - The index at which the element should be inserted. + * @returns {Number} + */ + lunr.Vector.prototype.positionForIndex = function (index) { + // For an empty vector the tuple can be inserted at the beginning + if (this.elements.length == 0) { + return 0 + } + + var start = 0, + end = this.elements.length / 2, + sliceLength = end - start, + pivotPoint = Math.floor(sliceLength / 2), + pivotIndex = this.elements[pivotPoint * 2] + + while (sliceLength > 1) { + if (pivotIndex < index) { + start = pivotPoint + } + + if (pivotIndex > index) { + end = pivotPoint + } + + if (pivotIndex == index) { + break + } + + sliceLength = end - start + pivotPoint = start + Math.floor(sliceLength / 2) + pivotIndex = this.elements[pivotPoint * 2] + } + + if (pivotIndex == index) { + return pivotPoint * 2 + } + + if (pivotIndex > index) { + return pivotPoint * 2 + } + + if (pivotIndex < index) { + return (pivotPoint + 1) * 2 + } + } + + /** + * Inserts an element at an index within the vector. + * + * Does not allow duplicates, will throw an error if there is already an entry + * for this index. + * + * @param {Number} insertIdx - The index at which the element should be inserted. + * @param {Number} val - The value to be inserted into the vector. + */ + lunr.Vector.prototype.insert = function (insertIdx, val) { + this.upsert(insertIdx, val, function () { + throw "duplicate index" + }) + } + + /** + * Inserts or updates an existing index within the vector. + * + * @param {Number} insertIdx - The index at which the element should be inserted. + * @param {Number} val - The value to be inserted into the vector. + * @param {function} fn - A function that is called for updates, the existing value and the + * requested value are passed as arguments + */ + lunr.Vector.prototype.upsert = function (insertIdx, val, fn) { + this._magnitude = 0 + var position = this.positionForIndex(insertIdx) + + if (this.elements[position] == insertIdx) { + this.elements[position + 1] = fn(this.elements[position + 1], val) + } else { + this.elements.splice(position, 0, insertIdx, val) + } + } + + /** + * Calculates the magnitude of this vector. + * + * @returns {Number} + */ + lunr.Vector.prototype.magnitude = function () { + if (this._magnitude) return this._magnitude + + var sumOfSquares = 0, + elementsLength = this.elements.length + + for (var i = 1; i < elementsLength; i += 2) { + var val = this.elements[i] + sumOfSquares += val * val + } + + return this._magnitude = Math.sqrt(sumOfSquares) + } + + /** + * Calculates the dot product of this vector and another vector. + * + * @param {lunr.Vector} otherVector - The vector to compute the dot product with. + * @returns {Number} + */ + lunr.Vector.prototype.dot = function (otherVector) { + var dotProduct = 0, + a = this.elements, b = otherVector.elements, + aLen = a.length, bLen = b.length, + aVal = 0, bVal = 0, + i = 0, j = 0 + + while (i < aLen && j < bLen) { + aVal = a[i], bVal = b[j] + if (aVal < bVal) { + i += 2 + } else if (aVal > bVal) { + j += 2 + } else if (aVal == bVal) { + dotProduct += a[i + 1] * b[j + 1] + i += 2 + j += 2 + } + } + + return dotProduct + } + + /** + * Calculates the similarity between this vector and another vector. + * + * @param {lunr.Vector} otherVector - The other vector to calculate the + * similarity with. + * @returns {Number} + */ + lunr.Vector.prototype.similarity = function (otherVector) { + return this.dot(otherVector) / this.magnitude() || 0 + } + + /** + * Converts the vector to an array of the elements within the vector. + * + * @returns {Number[]} + */ + lunr.Vector.prototype.toArray = function () { + var output = new Array (this.elements.length / 2) + + for (var i = 1, j = 0; i < this.elements.length; i += 2, j++) { + output[j] = this.elements[i] + } + + return output + } + + /** + * A JSON serializable representation of the vector. + * + * @returns {Number[]} + */ + lunr.Vector.prototype.toJSON = function () { + return this.elements + } + /* eslint-disable */ + /*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + */ + + /** + * lunr.stemmer is an english language stemmer, this is a JavaScript + * implementation of the PorterStemmer taken from http://tartarus.org/~martin + * + * @static + * @implements {lunr.PipelineFunction} + * @param {lunr.Token} token - The string to stem + * @returns {lunr.Token} + * @see {@link lunr.Pipeline} + * @function + */ + lunr.stemmer = (function(){ + var step2list = { + "ational" : "ate", + "tional" : "tion", + "enci" : "ence", + "anci" : "ance", + "izer" : "ize", + "bli" : "ble", + "alli" : "al", + "entli" : "ent", + "eli" : "e", + "ousli" : "ous", + "ization" : "ize", + "ation" : "ate", + "ator" : "ate", + "alism" : "al", + "iveness" : "ive", + "fulness" : "ful", + "ousness" : "ous", + "aliti" : "al", + "iviti" : "ive", + "biliti" : "ble", + "logi" : "log" + }, + + step3list = { + "icate" : "ic", + "ative" : "", + "alize" : "al", + "iciti" : "ic", + "ical" : "ic", + "ful" : "", + "ness" : "" + }, + + c = "[^aeiou]", // consonant + v = "[aeiouy]", // vowel + C = c + "[^aeiouy]*", // consonant sequence + V = v + "[aeiou]*", // vowel sequence + + mgr0 = "^(" + C + ")?" + V + C, // [C]VC... is m>0 + meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$", // [C]VC[V] is m=1 + mgr1 = "^(" + C + ")?" + V + C + V + C, // [C]VCVC... is m>1 + s_v = "^(" + C + ")?" + v; // vowel in stem + + var re_mgr0 = new RegExp(mgr0); + var re_mgr1 = new RegExp(mgr1); + var re_meq1 = new RegExp(meq1); + var re_s_v = new RegExp(s_v); + + var re_1a = /^(.+?)(ss|i)es$/; + var re2_1a = /^(.+?)([^s])s$/; + var re_1b = /^(.+?)eed$/; + var re2_1b = /^(.+?)(ed|ing)$/; + var re_1b_2 = /.$/; + var re2_1b_2 = /(at|bl|iz)$/; + var re3_1b_2 = new RegExp("([^aeiouylsz])\\1$"); + var re4_1b_2 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + + var re_1c = /^(.+?[^aeiou])y$/; + var re_2 = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + + var re_3 = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + + var re_4 = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + var re2_4 = /^(.+?)(s|t)(ion)$/; + + var re_5 = /^(.+?)e$/; + var re_5_1 = /ll$/; + var re3_5 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + + var porterStemmer = function porterStemmer(w) { + var stem, + suffix, + firstch, + re, + re2, + re3, + re4; + + if (w.length < 3) { return w; } + + firstch = w.substr(0,1); + if (firstch == "y") { + w = firstch.toUpperCase() + w.substr(1); + } + + // Step 1a + re = re_1a + re2 = re2_1a; + + if (re.test(w)) { w = w.replace(re,"$1$2"); } + else if (re2.test(w)) { w = w.replace(re2,"$1$2"); } + + // Step 1b + re = re_1b; + re2 = re2_1b; + if (re.test(w)) { + var fp = re.exec(w); + re = re_mgr0; + if (re.test(fp[1])) { + re = re_1b_2; + w = w.replace(re,""); + } + } else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = re_s_v; + if (re2.test(stem)) { + w = stem; + re2 = re2_1b_2; + re3 = re3_1b_2; + re4 = re4_1b_2; + if (re2.test(w)) { w = w + "e"; } + else if (re3.test(w)) { re = re_1b_2; w = w.replace(re,""); } + else if (re4.test(w)) { w = w + "e"; } + } + } + + // Step 1c - replace suffix y or Y by i if preceded by a non-vowel which is not the first letter of the word (so cry -> cri, by -> by, say -> say) + re = re_1c; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + w = stem + "i"; + } + + // Step 2 + re = re_2; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = re_mgr0; + if (re.test(stem)) { + w = stem + step2list[suffix]; + } + } + + // Step 3 + re = re_3; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = re_mgr0; + if (re.test(stem)) { + w = stem + step3list[suffix]; + } + } + + // Step 4 + re = re_4; + re2 = re2_4; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = re_mgr1; + if (re.test(stem)) { + w = stem; + } + } else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = re_mgr1; + if (re2.test(stem)) { + w = stem; + } + } + + // Step 5 + re = re_5; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = re_mgr1; + re2 = re_meq1; + re3 = re3_5; + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) { + w = stem; + } + } + + re = re_5_1; + re2 = re_mgr1; + if (re.test(w) && re2.test(w)) { + re = re_1b_2; + w = w.replace(re,""); + } + + // and turn initial Y back to y + + if (firstch == "y") { + w = firstch.toLowerCase() + w.substr(1); + } + + return w; + }; + + return function (token) { + return token.update(porterStemmer); + } + })(); + + lunr.Pipeline.registerFunction(lunr.stemmer, 'stemmer') + /*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + */ + + /** + * lunr.generateStopWordFilter builds a stopWordFilter function from the provided + * list of stop words. + * + * The built in lunr.stopWordFilter is built using this generator and can be used + * to generate custom stopWordFilters for applications or non English languages. + * + * @function + * @param {Array} token The token to pass through the filter + * @returns {lunr.PipelineFunction} + * @see lunr.Pipeline + * @see lunr.stopWordFilter + */ + lunr.generateStopWordFilter = function (stopWords) { + var words = stopWords.reduce(function (memo, stopWord) { + memo[stopWord] = stopWord + return memo + }, {}) + + return function (token) { + if (token && words[token.toString()] !== token.toString()) return token + } + } + + /** + * lunr.stopWordFilter is an English language stop word list filter, any words + * contained in the list will not be passed through the filter. + * + * This is intended to be used in the Pipeline. If the token does not pass the + * filter then undefined will be returned. + * + * @function + * @implements {lunr.PipelineFunction} + * @params {lunr.Token} token - A token to check for being a stop word. + * @returns {lunr.Token} + * @see {@link lunr.Pipeline} + */ + lunr.stopWordFilter = lunr.generateStopWordFilter([ + 'a', + 'able', + 'about', + 'across', + 'after', + 'all', + 'almost', + 'also', + 'am', + 'among', + 'an', + 'and', + 'any', + 'are', + 'as', + 'at', + 'be', + 'because', + 'been', + 'but', + 'by', + 'can', + 'cannot', + 'could', + 'dear', + 'did', + 'do', + 'does', + 'either', + 'else', + 'ever', + 'every', + 'for', + 'from', + 'get', + 'got', + 'had', + 'has', + 'have', + 'he', + 'her', + 'hers', + 'him', + 'his', + 'how', + 'however', + 'i', + 'if', + 'in', + 'into', + 'is', + 'it', + 'its', + 'just', + 'least', + 'let', + 'like', + 'likely', + 'may', + 'me', + 'might', + 'most', + 'must', + 'my', + 'neither', + 'no', + 'nor', + 'not', + 'of', + 'off', + 'often', + 'on', + 'only', + 'or', + 'other', + 'our', + 'own', + 'rather', + 'said', + 'say', + 'says', + 'she', + 'should', + 'since', + 'so', + 'some', + 'than', + 'that', + 'the', + 'their', + 'them', + 'then', + 'there', + 'these', + 'they', + 'this', + 'tis', + 'to', + 'too', + 'twas', + 'us', + 'wants', + 'was', + 'we', + 'were', + 'what', + 'when', + 'where', + 'which', + 'while', + 'who', + 'whom', + 'why', + 'will', + 'with', + 'would', + 'yet', + 'you', + 'your' + ]) + + lunr.Pipeline.registerFunction(lunr.stopWordFilter, 'stopWordFilter') + /*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + */ + + /** + * lunr.trimmer is a pipeline function for trimming non word + * characters from the beginning and end of tokens before they + * enter the index. + * + * This implementation may not work correctly for non latin + * characters and should either be removed or adapted for use + * with languages with non-latin characters. + * + * @static + * @implements {lunr.PipelineFunction} + * @param {lunr.Token} token The token to pass through the filter + * @returns {lunr.Token} + * @see lunr.Pipeline + */ + lunr.trimmer = function (token) { + return token.update(function (s) { + return s.replace(/^\W+/, '').replace(/\W+$/, '') + }) + } + + lunr.Pipeline.registerFunction(lunr.trimmer, 'trimmer') + /*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + */ + + /** + * A token set is used to store the unique list of all tokens + * within an index. Token sets are also used to represent an + * incoming query to the index, this query token set and index + * token set are then intersected to find which tokens to look + * up in the inverted index. + * + * A token set can hold multiple tokens, as in the case of the + * index token set, or it can hold a single token as in the + * case of a simple query token set. + * + * Additionally token sets are used to perform wildcard matching. + * Leading, contained and trailing wildcards are supported, and + * from this edit distance matching can also be provided. + * + * Token sets are implemented as a minimal finite state automata, + * where both common prefixes and suffixes are shared between tokens. + * This helps to reduce the space used for storing the token set. + * + * @constructor + */ + lunr.TokenSet = function () { + this.final = false + this.edges = {} + this.id = lunr.TokenSet._nextId + lunr.TokenSet._nextId += 1 + } + + /** + * Keeps track of the next, auto increment, identifier to assign + * to a new tokenSet. + * + * TokenSets require a unique identifier to be correctly minimised. + * + * @private + */ + lunr.TokenSet._nextId = 1 + + /** + * Creates a TokenSet instance from the given sorted array of words. + * + * @param {String[]} arr - A sorted array of strings to create the set from. + * @returns {lunr.TokenSet} + * @throws Will throw an error if the input array is not sorted. + */ + lunr.TokenSet.fromArray = function (arr) { + var builder = new lunr.TokenSet.Builder + + for (var i = 0, len = arr.length; i < len; i++) { + builder.insert(arr[i]) + } + + builder.finish() + return builder.root + } + + /** + * Creates a token set from a query clause. + * + * @private + * @param {Object} clause - A single clause from lunr.Query. + * @param {string} clause.term - The query clause term. + * @param {number} [clause.editDistance] - The optional edit distance for the term. + * @returns {lunr.TokenSet} + */ + lunr.TokenSet.fromClause = function (clause) { + if ('editDistance' in clause) { + return lunr.TokenSet.fromFuzzyString(clause.term, clause.editDistance) + } else { + return lunr.TokenSet.fromString(clause.term) + } + } + + /** + * Creates a token set representing a single string with a specified + * edit distance. + * + * Insertions, deletions, substitutions and transpositions are each + * treated as an edit distance of 1. + * + * Increasing the allowed edit distance will have a dramatic impact + * on the performance of both creating and intersecting these TokenSets. + * It is advised to keep the edit distance less than 3. + * + * @param {string} str - The string to create the token set from. + * @param {number} editDistance - The allowed edit distance to match. + * @returns {lunr.Vector} + */ + lunr.TokenSet.fromFuzzyString = function (str, editDistance) { + var root = new lunr.TokenSet + + var stack = [{ + node: root, + editsRemaining: editDistance, + str: str + }] + + while (stack.length) { + var frame = stack.pop() + + // no edit + if (frame.str.length > 0) { + var char = frame.str.charAt(0), + noEditNode + + if (char in frame.node.edges) { + noEditNode = frame.node.edges[char] + } else { + noEditNode = new lunr.TokenSet + frame.node.edges[char] = noEditNode + } + + if (frame.str.length == 1) { + noEditNode.final = true + } + + stack.push({ + node: noEditNode, + editsRemaining: frame.editsRemaining, + str: frame.str.slice(1) + }) + } + + if (frame.editsRemaining == 0) { + continue + } + + // insertion + if ("*" in frame.node.edges) { + var insertionNode = frame.node.edges["*"] + } else { + var insertionNode = new lunr.TokenSet + frame.node.edges["*"] = insertionNode + } + + if (frame.str.length == 0) { + insertionNode.final = true + } + + stack.push({ + node: insertionNode, + editsRemaining: frame.editsRemaining - 1, + str: frame.str + }) + + // deletion + // can only do a deletion if we have enough edits remaining + // and if there are characters left to delete in the string + if (frame.str.length > 1) { + stack.push({ + node: frame.node, + editsRemaining: frame.editsRemaining - 1, + str: frame.str.slice(1) + }) + } + + // deletion + // just removing the last character from the str + if (frame.str.length == 1) { + frame.node.final = true + } + + // substitution + // can only do a substitution if we have enough edits remaining + // and if there are characters left to substitute + if (frame.str.length >= 1) { + if ("*" in frame.node.edges) { + var substitutionNode = frame.node.edges["*"] + } else { + var substitutionNode = new lunr.TokenSet + frame.node.edges["*"] = substitutionNode + } + + if (frame.str.length == 1) { + substitutionNode.final = true + } + + stack.push({ + node: substitutionNode, + editsRemaining: frame.editsRemaining - 1, + str: frame.str.slice(1) + }) + } + + // transposition + // can only do a transposition if there are edits remaining + // and there are enough characters to transpose + if (frame.str.length > 1) { + var charA = frame.str.charAt(0), + charB = frame.str.charAt(1), + transposeNode + + if (charB in frame.node.edges) { + transposeNode = frame.node.edges[charB] + } else { + transposeNode = new lunr.TokenSet + frame.node.edges[charB] = transposeNode + } + + if (frame.str.length == 1) { + transposeNode.final = true + } + + stack.push({ + node: transposeNode, + editsRemaining: frame.editsRemaining - 1, + str: charA + frame.str.slice(2) + }) + } + } + + return root + } + + /** + * Creates a TokenSet from a string. + * + * The string may contain one or more wildcard characters (*) + * that will allow wildcard matching when intersecting with + * another TokenSet. + * + * @param {string} str - The string to create a TokenSet from. + * @returns {lunr.TokenSet} + */ + lunr.TokenSet.fromString = function (str) { + var node = new lunr.TokenSet, + root = node + + /* + * Iterates through all characters within the passed string + * appending a node for each character. + * + * When a wildcard character is found then a self + * referencing edge is introduced to continually match + * any number of any characters. + */ + for (var i = 0, len = str.length; i < len; i++) { + var char = str[i], + final = (i == len - 1) + + if (char == "*") { + node.edges[char] = node + node.final = final + + } else { + var next = new lunr.TokenSet + next.final = final + + node.edges[char] = next + node = next + } + } + + return root + } + + /** + * Converts this TokenSet into an array of strings + * contained within the TokenSet. + * + * This is not intended to be used on a TokenSet that + * contains wildcards, in these cases the results are + * undefined and are likely to cause an infinite loop. + * + * @returns {string[]} + */ + lunr.TokenSet.prototype.toArray = function () { + var words = [] + + var stack = [{ + prefix: "", + node: this + }] + + while (stack.length) { + var frame = stack.pop(), + edges = Object.keys(frame.node.edges), + len = edges.length + + if (frame.node.final) { + /* In Safari, at this point the prefix is sometimes corrupted, see: + * https://github.com/olivernn/lunr.js/issues/279 Calling any + * String.prototype method forces Safari to "cast" this string to what + * it's supposed to be, fixing the bug. */ + frame.prefix.charAt(0) + words.push(frame.prefix) + } + + for (var i = 0; i < len; i++) { + var edge = edges[i] + + stack.push({ + prefix: frame.prefix.concat(edge), + node: frame.node.edges[edge] + }) + } + } + + return words + } + + /** + * Generates a string representation of a TokenSet. + * + * This is intended to allow TokenSets to be used as keys + * in objects, largely to aid the construction and minimisation + * of a TokenSet. As such it is not designed to be a human + * friendly representation of the TokenSet. + * + * @returns {string} + */ + lunr.TokenSet.prototype.toString = function () { + // NOTE: Using Object.keys here as this.edges is very likely + // to enter 'hash-mode' with many keys being added + // + // avoiding a for-in loop here as it leads to the function + // being de-optimised (at least in V8). From some simple + // benchmarks the performance is comparable, but allowing + // V8 to optimize may mean easy performance wins in the future. + + if (this._str) { + return this._str + } + + var str = this.final ? '1' : '0', + labels = Object.keys(this.edges).sort(), + len = labels.length + + for (var i = 0; i < len; i++) { + var label = labels[i], + node = this.edges[label] + + str = str + label + node.id + } + + return str + } + + /** + * Returns a new TokenSet that is the intersection of + * this TokenSet and the passed TokenSet. + * + * This intersection will take into account any wildcards + * contained within the TokenSet. + * + * @param {lunr.TokenSet} b - An other TokenSet to intersect with. + * @returns {lunr.TokenSet} + */ + lunr.TokenSet.prototype.intersect = function (b) { + var output = new lunr.TokenSet, + frame = undefined + + var stack = [{ + qNode: b, + output: output, + node: this + }] + + while (stack.length) { + frame = stack.pop() + + // NOTE: As with the #toString method, we are using + // Object.keys and a for loop instead of a for-in loop + // as both of these objects enter 'hash' mode, causing + // the function to be de-optimised in V8 + var qEdges = Object.keys(frame.qNode.edges), + qLen = qEdges.length, + nEdges = Object.keys(frame.node.edges), + nLen = nEdges.length + + for (var q = 0; q < qLen; q++) { + var qEdge = qEdges[q] + + for (var n = 0; n < nLen; n++) { + var nEdge = nEdges[n] + + if (nEdge == qEdge || qEdge == '*') { + var node = frame.node.edges[nEdge], + qNode = frame.qNode.edges[qEdge], + final = node.final && qNode.final, + next = undefined + + if (nEdge in frame.output.edges) { + // an edge already exists for this character + // no need to create a new node, just set the finality + // bit unless this node is already final + next = frame.output.edges[nEdge] + next.final = next.final || final + + } else { + // no edge exists yet, must create one + // set the finality bit and insert it + // into the output + next = new lunr.TokenSet + next.final = final + frame.output.edges[nEdge] = next + } + + stack.push({ + qNode: qNode, + output: next, + node: node + }) + } + } + } + } + + return output + } + lunr.TokenSet.Builder = function () { + this.previousWord = "" + this.root = new lunr.TokenSet + this.uncheckedNodes = [] + this.minimizedNodes = {} + } + + lunr.TokenSet.Builder.prototype.insert = function (word) { + var node, + commonPrefix = 0 + + if (word < this.previousWord) { + throw new Error ("Out of order word insertion") + } + + for (var i = 0; i < word.length && i < this.previousWord.length; i++) { + if (word[i] != this.previousWord[i]) break + commonPrefix++ + } + + this.minimize(commonPrefix) + + if (this.uncheckedNodes.length == 0) { + node = this.root + } else { + node = this.uncheckedNodes[this.uncheckedNodes.length - 1].child + } + + for (var i = commonPrefix; i < word.length; i++) { + var nextNode = new lunr.TokenSet, + char = word[i] + + node.edges[char] = nextNode + + this.uncheckedNodes.push({ + parent: node, + char: char, + child: nextNode + }) + + node = nextNode + } + + node.final = true + this.previousWord = word + } + + lunr.TokenSet.Builder.prototype.finish = function () { + this.minimize(0) + } + + lunr.TokenSet.Builder.prototype.minimize = function (downTo) { + for (var i = this.uncheckedNodes.length - 1; i >= downTo; i--) { + var node = this.uncheckedNodes[i], + childKey = node.child.toString() + + if (childKey in this.minimizedNodes) { + node.parent.edges[node.char] = this.minimizedNodes[childKey] + } else { + // Cache the key for this node since + // we know it can't change anymore + node.child._str = childKey + + this.minimizedNodes[childKey] = node.child + } + + this.uncheckedNodes.pop() + } + } + /*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + */ + + /** + * An index contains the built index of all documents and provides a query interface + * to the index. + * + * Usually instances of lunr.Index will not be created using this constructor, instead + * lunr.Builder should be used to construct new indexes, or lunr.Index.load should be + * used to load previously built and serialized indexes. + * + * @constructor + * @param {Object} attrs - The attributes of the built search index. + * @param {Object} attrs.invertedIndex - An index of term/field to document reference. + * @param {Object} attrs.fieldVectors - Field vectors + * @param {lunr.TokenSet} attrs.tokenSet - An set of all corpus tokens. + * @param {string[]} attrs.fields - The names of indexed document fields. + * @param {lunr.Pipeline} attrs.pipeline - The pipeline to use for search terms. + */ + lunr.Index = function (attrs) { + this.invertedIndex = attrs.invertedIndex + this.fieldVectors = attrs.fieldVectors + this.tokenSet = attrs.tokenSet + this.fields = attrs.fields + this.pipeline = attrs.pipeline + } + + /** + * A result contains details of a document matching a search query. + * @typedef {Object} lunr.Index~Result + * @property {string} ref - The reference of the document this result represents. + * @property {number} score - A number between 0 and 1 representing how similar this document is to the query. + * @property {lunr.MatchData} matchData - Contains metadata about this match including which term(s) caused the match. + */ + + /** + * Although lunr provides the ability to create queries using lunr.Query, it also provides a simple + * query language which itself is parsed into an instance of lunr.Query. + * + * For programmatically building queries it is advised to directly use lunr.Query, the query language + * is best used for human entered text rather than program generated text. + * + * At its simplest queries can just be a single term, e.g. `hello`, multiple terms are also supported + * and will be combined with OR, e.g `hello world` will match documents that contain either 'hello' + * or 'world', though those that contain both will rank higher in the results. + * + * Wildcards can be included in terms to match one or more unspecified characters, these wildcards can + * be inserted anywhere within the term, and more than one wildcard can exist in a single term. Adding + * wildcards will increase the number of documents that will be found but can also have a negative + * impact on query performance, especially with wildcards at the beginning of a term. + * + * Terms can be restricted to specific fields, e.g. `title:hello`, only documents with the term + * hello in the title field will match this query. Using a field not present in the index will lead + * to an error being thrown. + * + * Modifiers can also be added to terms, lunr supports edit distance and boost modifiers on terms. A term + * boost will make documents matching that term score higher, e.g. `foo^5`. Edit distance is also supported + * to provide fuzzy matching, e.g. 'hello~2' will match documents with hello with an edit distance of 2. + * Avoid large values for edit distance to improve query performance. + * + * Each term also supports a presence modifier. By default a term's presence in document is optional, however + * this can be changed to either required or prohibited. For a term's presence to be required in a document the + * term should be prefixed with a '+', e.g. `+foo bar` is a search for documents that must contain 'foo' and + * optionally contain 'bar'. Conversely a leading '-' sets the terms presence to prohibited, i.e. it must not + * appear in a document, e.g. `-foo bar` is a search for documents that do not contain 'foo' but may contain 'bar'. + * + * To escape special characters the backslash character '\' can be used, this allows searches to include + * characters that would normally be considered modifiers, e.g. `foo\~2` will search for a term "foo~2" instead + * of attempting to apply a boost of 2 to the search term "foo". + * + * @typedef {string} lunr.Index~QueryString + * @example Simple single term query + * hello + * @example Multiple term query + * hello world + * @example term scoped to a field + * title:hello + * @example term with a boost of 10 + * hello^10 + * @example term with an edit distance of 2 + * hello~2 + * @example terms with presence modifiers + * -foo +bar baz + */ + + /** + * Performs a search against the index using lunr query syntax. + * + * Results will be returned sorted by their score, the most relevant results + * will be returned first. For details on how the score is calculated, please see + * the {@link https://lunrjs.com/guides/searching.html#scoring|guide}. + * + * For more programmatic querying use lunr.Index#query. + * + * @param {lunr.Index~QueryString} queryString - A string containing a lunr query. + * @throws {lunr.QueryParseError} If the passed query string cannot be parsed. + * @returns {lunr.Index~Result[]} + */ + lunr.Index.prototype.search = function (queryString) { + return this.query(function (query) { + var parser = new lunr.QueryParser(queryString, query) + parser.parse() + }) + } + + /** + * A query builder callback provides a query object to be used to express + * the query to perform on the index. + * + * @callback lunr.Index~queryBuilder + * @param {lunr.Query} query - The query object to build up. + * @this lunr.Query + */ + + /** + * Performs a query against the index using the yielded lunr.Query object. + * + * If performing programmatic queries against the index, this method is preferred + * over lunr.Index#search so as to avoid the additional query parsing overhead. + * + * A query object is yielded to the supplied function which should be used to + * express the query to be run against the index. + * + * Note that although this function takes a callback parameter it is _not_ an + * asynchronous operation, the callback is just yielded a query object to be + * customized. + * + * @param {lunr.Index~queryBuilder} fn - A function that is used to build the query. + * @returns {lunr.Index~Result[]} + */ + lunr.Index.prototype.query = function (fn) { + // for each query clause + // * process terms + // * expand terms from token set + // * find matching documents and metadata + // * get document vectors + // * score documents + + var query = new lunr.Query(this.fields), + matchingFields = Object.create(null), + queryVectors = Object.create(null), + termFieldCache = Object.create(null), + requiredMatches = Object.create(null), + prohibitedMatches = Object.create(null) + + /* + * To support field level boosts a query vector is created per + * field. An empty vector is eagerly created to support negated + * queries. + */ + for (var i = 0; i < this.fields.length; i++) { + queryVectors[this.fields[i]] = new lunr.Vector + } + + fn.call(query, query) + + for (var i = 0; i < query.clauses.length; i++) { + /* + * Unless the pipeline has been disabled for this term, which is + * the case for terms with wildcards, we need to pass the clause + * term through the search pipeline. A pipeline returns an array + * of processed terms. Pipeline functions may expand the passed + * term, which means we may end up performing multiple index lookups + * for a single query term. + */ + var clause = query.clauses[i], + terms = null, + clauseMatches = lunr.Set.empty + + if (clause.usePipeline) { + terms = this.pipeline.runString(clause.term, { + fields: clause.fields + }) + } else { + terms = [clause.term] + } + + for (var m = 0; m < terms.length; m++) { + var term = terms[m] + + /* + * Each term returned from the pipeline needs to use the same query + * clause object, e.g. the same boost and or edit distance. The + * simplest way to do this is to re-use the clause object but mutate + * its term property. + */ + clause.term = term + + /* + * From the term in the clause we create a token set which will then + * be used to intersect the indexes token set to get a list of terms + * to lookup in the inverted index + */ + var termTokenSet = lunr.TokenSet.fromClause(clause), + expandedTerms = this.tokenSet.intersect(termTokenSet).toArray() + + /* + * If a term marked as required does not exist in the tokenSet it is + * impossible for the search to return any matches. We set all the field + * scoped required matches set to empty and stop examining any further + * clauses. + */ + if (expandedTerms.length === 0 && clause.presence === lunr.Query.presence.REQUIRED) { + for (var k = 0; k < clause.fields.length; k++) { + var field = clause.fields[k] + requiredMatches[field] = lunr.Set.empty + } + + break + } + + for (var j = 0; j < expandedTerms.length; j++) { + /* + * For each term get the posting and termIndex, this is required for + * building the query vector. + */ + var expandedTerm = expandedTerms[j], + posting = this.invertedIndex[expandedTerm], + termIndex = posting._index + + for (var k = 0; k < clause.fields.length; k++) { + /* + * For each field that this query term is scoped by (by default + * all fields are in scope) we need to get all the document refs + * that have this term in that field. + * + * The posting is the entry in the invertedIndex for the matching + * term from above. + */ + var field = clause.fields[k], + fieldPosting = posting[field], + matchingDocumentRefs = Object.keys(fieldPosting), + termField = expandedTerm + "/" + field, + matchingDocumentsSet = new lunr.Set(matchingDocumentRefs) + + /* + * if the presence of this term is required ensure that the matching + * documents are added to the set of required matches for this clause. + * + */ + if (clause.presence == lunr.Query.presence.REQUIRED) { + clauseMatches = clauseMatches.union(matchingDocumentsSet) + + if (requiredMatches[field] === undefined) { + requiredMatches[field] = lunr.Set.complete + } + } + + /* + * if the presence of this term is prohibited ensure that the matching + * documents are added to the set of prohibited matches for this field, + * creating that set if it does not yet exist. + */ + if (clause.presence == lunr.Query.presence.PROHIBITED) { + if (prohibitedMatches[field] === undefined) { + prohibitedMatches[field] = lunr.Set.empty + } + + prohibitedMatches[field] = prohibitedMatches[field].union(matchingDocumentsSet) + + /* + * Prohibited matches should not be part of the query vector used for + * similarity scoring and no metadata should be extracted so we continue + * to the next field + */ + continue + } + + /* + * The query field vector is populated using the termIndex found for + * the term and a unit value with the appropriate boost applied. + * Using upsert because there could already be an entry in the vector + * for the term we are working with. In that case we just add the scores + * together. + */ + queryVectors[field].upsert(termIndex, clause.boost, function (a, b) { return a + b }) + + /** + * If we've already seen this term, field combo then we've already collected + * the matching documents and metadata, no need to go through all that again + */ + if (termFieldCache[termField]) { + continue + } + + for (var l = 0; l < matchingDocumentRefs.length; l++) { + /* + * All metadata for this term/field/document triple + * are then extracted and collected into an instance + * of lunr.MatchData ready to be returned in the query + * results + */ + var matchingDocumentRef = matchingDocumentRefs[l], + matchingFieldRef = new lunr.FieldRef (matchingDocumentRef, field), + metadata = fieldPosting[matchingDocumentRef], + fieldMatch + + if ((fieldMatch = matchingFields[matchingFieldRef]) === undefined) { + matchingFields[matchingFieldRef] = new lunr.MatchData (expandedTerm, field, metadata) + } else { + fieldMatch.add(expandedTerm, field, metadata) + } + + } + + termFieldCache[termField] = true + } + } + } + + /** + * If the presence was required we need to update the requiredMatches field sets. + * We do this after all fields for the term have collected their matches because + * the clause terms presence is required in _any_ of the fields not _all_ of the + * fields. + */ + if (clause.presence === lunr.Query.presence.REQUIRED) { + for (var k = 0; k < clause.fields.length; k++) { + var field = clause.fields[k] + requiredMatches[field] = requiredMatches[field].intersect(clauseMatches) + } + } + } + + /** + * Need to combine the field scoped required and prohibited + * matching documents into a global set of required and prohibited + * matches + */ + var allRequiredMatches = lunr.Set.complete, + allProhibitedMatches = lunr.Set.empty + + for (var i = 0; i < this.fields.length; i++) { + var field = this.fields[i] + + if (requiredMatches[field]) { + allRequiredMatches = allRequiredMatches.intersect(requiredMatches[field]) + } + + if (prohibitedMatches[field]) { + allProhibitedMatches = allProhibitedMatches.union(prohibitedMatches[field]) + } + } + + var matchingFieldRefs = Object.keys(matchingFields), + results = [], + matches = Object.create(null) + + /* + * If the query is negated (contains only prohibited terms) + * we need to get _all_ fieldRefs currently existing in the + * index. This is only done when we know that the query is + * entirely prohibited terms to avoid any cost of getting all + * fieldRefs unnecessarily. + * + * Additionally, blank MatchData must be created to correctly + * populate the results. + */ + if (query.isNegated()) { + matchingFieldRefs = Object.keys(this.fieldVectors) + + for (var i = 0; i < matchingFieldRefs.length; i++) { + var matchingFieldRef = matchingFieldRefs[i] + var fieldRef = lunr.FieldRef.fromString(matchingFieldRef) + matchingFields[matchingFieldRef] = new lunr.MatchData + } + } + + for (var i = 0; i < matchingFieldRefs.length; i++) { + /* + * Currently we have document fields that match the query, but we + * need to return documents. The matchData and scores are combined + * from multiple fields belonging to the same document. + * + * Scores are calculated by field, using the query vectors created + * above, and combined into a final document score using addition. + */ + var fieldRef = lunr.FieldRef.fromString(matchingFieldRefs[i]), + docRef = fieldRef.docRef + + if (!allRequiredMatches.contains(docRef)) { + continue + } + + if (allProhibitedMatches.contains(docRef)) { + continue + } + + var fieldVector = this.fieldVectors[fieldRef], + score = queryVectors[fieldRef.fieldName].similarity(fieldVector), + docMatch + + if ((docMatch = matches[docRef]) !== undefined) { + docMatch.score += score + docMatch.matchData.combine(matchingFields[fieldRef]) + } else { + var match = { + ref: docRef, + score: score, + matchData: matchingFields[fieldRef] + } + matches[docRef] = match + results.push(match) + } + } + + /* + * Sort the results objects by score, highest first. + */ + return results.sort(function (a, b) { + return b.score - a.score + }) + } + + /** + * Prepares the index for JSON serialization. + * + * The schema for this JSON blob will be described in a + * separate JSON schema file. + * + * @returns {Object} + */ + lunr.Index.prototype.toJSON = function () { + var invertedIndex = Object.keys(this.invertedIndex) + .sort() + .map(function (term) { + return [term, this.invertedIndex[term]] + }, this) + + var fieldVectors = Object.keys(this.fieldVectors) + .map(function (ref) { + return [ref, this.fieldVectors[ref].toJSON()] + }, this) + + return { + version: lunr.version, + fields: this.fields, + fieldVectors: fieldVectors, + invertedIndex: invertedIndex, + pipeline: this.pipeline.toJSON() + } + } + + /** + * Loads a previously serialized lunr.Index + * + * @param {Object} serializedIndex - A previously serialized lunr.Index + * @returns {lunr.Index} + */ + lunr.Index.load = function (serializedIndex) { + var attrs = {}, + fieldVectors = {}, + serializedVectors = serializedIndex.fieldVectors, + invertedIndex = Object.create(null), + serializedInvertedIndex = serializedIndex.invertedIndex, + tokenSetBuilder = new lunr.TokenSet.Builder, + pipeline = lunr.Pipeline.load(serializedIndex.pipeline) + + if (serializedIndex.version != lunr.version) { + lunr.utils.warn("Version mismatch when loading serialised index. Current version of lunr '" + lunr.version + "' does not match serialized index '" + serializedIndex.version + "'") + } + + for (var i = 0; i < serializedVectors.length; i++) { + var tuple = serializedVectors[i], + ref = tuple[0], + elements = tuple[1] + + fieldVectors[ref] = new lunr.Vector(elements) + } + + for (var i = 0; i < serializedInvertedIndex.length; i++) { + var tuple = serializedInvertedIndex[i], + term = tuple[0], + posting = tuple[1] + + tokenSetBuilder.insert(term) + invertedIndex[term] = posting + } + + tokenSetBuilder.finish() + + attrs.fields = serializedIndex.fields + + attrs.fieldVectors = fieldVectors + attrs.invertedIndex = invertedIndex + attrs.tokenSet = tokenSetBuilder.root + attrs.pipeline = pipeline + + return new lunr.Index(attrs) + } + /*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + */ + + /** + * lunr.Builder performs indexing on a set of documents and + * returns instances of lunr.Index ready for querying. + * + * All configuration of the index is done via the builder, the + * fields to index, the document reference, the text processing + * pipeline and document scoring parameters are all set on the + * builder before indexing. + * + * @constructor + * @property {string} _ref - Internal reference to the document reference field. + * @property {string[]} _fields - Internal reference to the document fields to index. + * @property {object} invertedIndex - The inverted index maps terms to document fields. + * @property {object} documentTermFrequencies - Keeps track of document term frequencies. + * @property {object} documentLengths - Keeps track of the length of documents added to the index. + * @property {lunr.tokenizer} tokenizer - Function for splitting strings into tokens for indexing. + * @property {lunr.Pipeline} pipeline - The pipeline performs text processing on tokens before indexing. + * @property {lunr.Pipeline} searchPipeline - A pipeline for processing search terms before querying the index. + * @property {number} documentCount - Keeps track of the total number of documents indexed. + * @property {number} _b - A parameter to control field length normalization, setting this to 0 disabled normalization, 1 fully normalizes field lengths, the default value is 0.75. + * @property {number} _k1 - A parameter to control how quickly an increase in term frequency results in term frequency saturation, the default value is 1.2. + * @property {number} termIndex - A counter incremented for each unique term, used to identify a terms position in the vector space. + * @property {array} metadataWhitelist - A list of metadata keys that have been whitelisted for entry in the index. + */ + lunr.Builder = function () { + this._ref = "id" + this._fields = Object.create(null) + this._documents = Object.create(null) + this.invertedIndex = Object.create(null) + this.fieldTermFrequencies = {} + this.fieldLengths = {} + this.tokenizer = lunr.tokenizer + this.pipeline = new lunr.Pipeline + this.searchPipeline = new lunr.Pipeline + this.documentCount = 0 + this._b = 0.75 + this._k1 = 1.2 + this.termIndex = 0 + this.metadataWhitelist = [] + } + + /** + * Sets the document field used as the document reference. Every document must have this field. + * The type of this field in the document should be a string, if it is not a string it will be + * coerced into a string by calling toString. + * + * The default ref is 'id'. + * + * The ref should _not_ be changed during indexing, it should be set before any documents are + * added to the index. Changing it during indexing can lead to inconsistent results. + * + * @param {string} ref - The name of the reference field in the document. + */ + lunr.Builder.prototype.ref = function (ref) { + this._ref = ref + } + + /** + * A function that is used to extract a field from a document. + * + * Lunr expects a field to be at the top level of a document, if however the field + * is deeply nested within a document an extractor function can be used to extract + * the right field for indexing. + * + * @callback fieldExtractor + * @param {object} doc - The document being added to the index. + * @returns {?(string|object|object[])} obj - The object that will be indexed for this field. + * @example Extracting a nested field + * function (doc) { return doc.nested.field } + */ + + /** + * Adds a field to the list of document fields that will be indexed. Every document being + * indexed should have this field. Null values for this field in indexed documents will + * not cause errors but will limit the chance of that document being retrieved by searches. + * + * All fields should be added before adding documents to the index. Adding fields after + * a document has been indexed will have no effect on already indexed documents. + * + * Fields can be boosted at build time. This allows terms within that field to have more + * importance when ranking search results. Use a field boost to specify that matches within + * one field are more important than other fields. + * + * @param {string} fieldName - The name of a field to index in all documents. + * @param {object} attributes - Optional attributes associated with this field. + * @param {number} [attributes.boost=1] - Boost applied to all terms within this field. + * @param {fieldExtractor} [attributes.extractor] - Function to extract a field from a document. + * @throws {RangeError} fieldName cannot contain unsupported characters '/' + */ + lunr.Builder.prototype.field = function (fieldName, attributes) { + if (/\//.test(fieldName)) { + throw new RangeError ("Field '" + fieldName + "' contains illegal character '/'") + } + + this._fields[fieldName] = attributes || {} + } + + /** + * A parameter to tune the amount of field length normalisation that is applied when + * calculating relevance scores. A value of 0 will completely disable any normalisation + * and a value of 1 will fully normalise field lengths. The default is 0.75. Values of b + * will be clamped to the range 0 - 1. + * + * @param {number} number - The value to set for this tuning parameter. + */ + lunr.Builder.prototype.b = function (number) { + if (number < 0) { + this._b = 0 + } else if (number > 1) { + this._b = 1 + } else { + this._b = number + } + } + + /** + * A parameter that controls the speed at which a rise in term frequency results in term + * frequency saturation. The default value is 1.2. Setting this to a higher value will give + * slower saturation levels, a lower value will result in quicker saturation. + * + * @param {number} number - The value to set for this tuning parameter. + */ + lunr.Builder.prototype.k1 = function (number) { + this._k1 = number + } + + /** + * Adds a document to the index. + * + * Before adding fields to the index the index should have been fully setup, with the document + * ref and all fields to index already having been specified. + * + * The document must have a field name as specified by the ref (by default this is 'id') and + * it should have all fields defined for indexing, though null or undefined values will not + * cause errors. + * + * Entire documents can be boosted at build time. Applying a boost to a document indicates that + * this document should rank higher in search results than other documents. + * + * @param {object} doc - The document to add to the index. + * @param {object} attributes - Optional attributes associated with this document. + * @param {number} [attributes.boost=1] - Boost applied to all terms within this document. + */ + lunr.Builder.prototype.add = function (doc, attributes) { + var docRef = doc[this._ref], + fields = Object.keys(this._fields) + + this._documents[docRef] = attributes || {} + this.documentCount += 1 + + for (var i = 0; i < fields.length; i++) { + var fieldName = fields[i], + extractor = this._fields[fieldName].extractor, + field = extractor ? extractor(doc) : doc[fieldName], + tokens = this.tokenizer(field, { + fields: [fieldName] + }), + terms = this.pipeline.run(tokens), + fieldRef = new lunr.FieldRef (docRef, fieldName), + fieldTerms = Object.create(null) + + this.fieldTermFrequencies[fieldRef] = fieldTerms + this.fieldLengths[fieldRef] = 0 + + // store the length of this field for this document + this.fieldLengths[fieldRef] += terms.length + + // calculate term frequencies for this field + for (var j = 0; j < terms.length; j++) { + var term = terms[j] + + if (fieldTerms[term] == undefined) { + fieldTerms[term] = 0 + } + + fieldTerms[term] += 1 + + // add to inverted index + // create an initial posting if one doesn't exist + if (this.invertedIndex[term] == undefined) { + var posting = Object.create(null) + posting["_index"] = this.termIndex + this.termIndex += 1 + + for (var k = 0; k < fields.length; k++) { + posting[fields[k]] = Object.create(null) + } + + this.invertedIndex[term] = posting + } + + // add an entry for this term/fieldName/docRef to the invertedIndex + if (this.invertedIndex[term][fieldName][docRef] == undefined) { + this.invertedIndex[term][fieldName][docRef] = Object.create(null) + } + + // store all whitelisted metadata about this token in the + // inverted index + for (var l = 0; l < this.metadataWhitelist.length; l++) { + var metadataKey = this.metadataWhitelist[l], + metadata = term.metadata[metadataKey] + + if (this.invertedIndex[term][fieldName][docRef][metadataKey] == undefined) { + this.invertedIndex[term][fieldName][docRef][metadataKey] = [] + } + + this.invertedIndex[term][fieldName][docRef][metadataKey].push(metadata) + } + } + + } + } + + /** + * Calculates the average document length for this index + * + * @private + */ + lunr.Builder.prototype.calculateAverageFieldLengths = function () { + + var fieldRefs = Object.keys(this.fieldLengths), + numberOfFields = fieldRefs.length, + accumulator = {}, + documentsWithField = {} + + for (var i = 0; i < numberOfFields; i++) { + var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]), + field = fieldRef.fieldName + + documentsWithField[field] || (documentsWithField[field] = 0) + documentsWithField[field] += 1 + + accumulator[field] || (accumulator[field] = 0) + accumulator[field] += this.fieldLengths[fieldRef] + } + + var fields = Object.keys(this._fields) + + for (var i = 0; i < fields.length; i++) { + var fieldName = fields[i] + accumulator[fieldName] = accumulator[fieldName] / documentsWithField[fieldName] + } + + this.averageFieldLength = accumulator + } + + /** + * Builds a vector space model of every document using lunr.Vector + * + * @private + */ + lunr.Builder.prototype.createFieldVectors = function () { + var fieldVectors = {}, + fieldRefs = Object.keys(this.fieldTermFrequencies), + fieldRefsLength = fieldRefs.length, + termIdfCache = Object.create(null) + + for (var i = 0; i < fieldRefsLength; i++) { + var fieldRef = lunr.FieldRef.fromString(fieldRefs[i]), + fieldName = fieldRef.fieldName, + fieldLength = this.fieldLengths[fieldRef], + fieldVector = new lunr.Vector, + termFrequencies = this.fieldTermFrequencies[fieldRef], + terms = Object.keys(termFrequencies), + termsLength = terms.length + + + var fieldBoost = this._fields[fieldName].boost || 1, + docBoost = this._documents[fieldRef.docRef].boost || 1 + + for (var j = 0; j < termsLength; j++) { + var term = terms[j], + tf = termFrequencies[term], + termIndex = this.invertedIndex[term]._index, + idf, score, scoreWithPrecision + + if (termIdfCache[term] === undefined) { + idf = lunr.idf(this.invertedIndex[term], this.documentCount) + termIdfCache[term] = idf + } else { + idf = termIdfCache[term] + } + + score = idf * ((this._k1 + 1) * tf) / (this._k1 * (1 - this._b + this._b * (fieldLength / this.averageFieldLength[fieldName])) + tf) + score *= fieldBoost + score *= docBoost + scoreWithPrecision = Math.round(score * 1000) / 1000 + // Converts 1.23456789 to 1.234. + // Reducing the precision so that the vectors take up less + // space when serialised. Doing it now so that they behave + // the same before and after serialisation. Also, this is + // the fastest approach to reducing a number's precision in + // JavaScript. + + fieldVector.insert(termIndex, scoreWithPrecision) + } + + fieldVectors[fieldRef] = fieldVector + } + + this.fieldVectors = fieldVectors + } + + /** + * Creates a token set of all tokens in the index using lunr.TokenSet + * + * @private + */ + lunr.Builder.prototype.createTokenSet = function () { + this.tokenSet = lunr.TokenSet.fromArray( + Object.keys(this.invertedIndex).sort() + ) + } + + /** + * Builds the index, creating an instance of lunr.Index. + * + * This completes the indexing process and should only be called + * once all documents have been added to the index. + * + * @returns {lunr.Index} + */ + lunr.Builder.prototype.build = function () { + this.calculateAverageFieldLengths() + this.createFieldVectors() + this.createTokenSet() + + return new lunr.Index({ + invertedIndex: this.invertedIndex, + fieldVectors: this.fieldVectors, + tokenSet: this.tokenSet, + fields: Object.keys(this._fields), + pipeline: this.searchPipeline + }) + } + + /** + * Applies a plugin to the index builder. + * + * A plugin is a function that is called with the index builder as its context. + * Plugins can be used to customise or extend the behaviour of the index + * in some way. A plugin is just a function, that encapsulated the custom + * behaviour that should be applied when building the index. + * + * The plugin function will be called with the index builder as its argument, additional + * arguments can also be passed when calling use. The function will be called + * with the index builder as its context. + * + * @param {Function} plugin The plugin to apply. + */ + lunr.Builder.prototype.use = function (fn) { + var args = Array.prototype.slice.call(arguments, 1) + args.unshift(this) + fn.apply(this, args) + } + /** + * Contains and collects metadata about a matching document. + * A single instance of lunr.MatchData is returned as part of every + * lunr.Index~Result. + * + * @constructor + * @param {string} term - The term this match data is associated with + * @param {string} field - The field in which the term was found + * @param {object} metadata - The metadata recorded about this term in this field + * @property {object} metadata - A cloned collection of metadata associated with this document. + * @see {@link lunr.Index~Result} + */ + lunr.MatchData = function (term, field, metadata) { + var clonedMetadata = Object.create(null), + metadataKeys = Object.keys(metadata || {}) + + // Cloning the metadata to prevent the original + // being mutated during match data combination. + // Metadata is kept in an array within the inverted + // index so cloning the data can be done with + // Array#slice + for (var i = 0; i < metadataKeys.length; i++) { + var key = metadataKeys[i] + clonedMetadata[key] = metadata[key].slice() + } + + this.metadata = Object.create(null) + + if (term !== undefined) { + this.metadata[term] = Object.create(null) + this.metadata[term][field] = clonedMetadata + } + } + + /** + * An instance of lunr.MatchData will be created for every term that matches a + * document. However only one instance is required in a lunr.Index~Result. This + * method combines metadata from another instance of lunr.MatchData with this + * objects metadata. + * + * @param {lunr.MatchData} otherMatchData - Another instance of match data to merge with this one. + * @see {@link lunr.Index~Result} + */ + lunr.MatchData.prototype.combine = function (otherMatchData) { + var terms = Object.keys(otherMatchData.metadata) + + for (var i = 0; i < terms.length; i++) { + var term = terms[i], + fields = Object.keys(otherMatchData.metadata[term]) + + if (this.metadata[term] == undefined) { + this.metadata[term] = Object.create(null) + } + + for (var j = 0; j < fields.length; j++) { + var field = fields[j], + keys = Object.keys(otherMatchData.metadata[term][field]) + + if (this.metadata[term][field] == undefined) { + this.metadata[term][field] = Object.create(null) + } + + for (var k = 0; k < keys.length; k++) { + var key = keys[k] + + if (this.metadata[term][field][key] == undefined) { + this.metadata[term][field][key] = otherMatchData.metadata[term][field][key] + } else { + this.metadata[term][field][key] = this.metadata[term][field][key].concat(otherMatchData.metadata[term][field][key]) + } + + } + } + } + } + + /** + * Add metadata for a term/field pair to this instance of match data. + * + * @param {string} term - The term this match data is associated with + * @param {string} field - The field in which the term was found + * @param {object} metadata - The metadata recorded about this term in this field + */ + lunr.MatchData.prototype.add = function (term, field, metadata) { + if (!(term in this.metadata)) { + this.metadata[term] = Object.create(null) + this.metadata[term][field] = metadata + return + } + + if (!(field in this.metadata[term])) { + this.metadata[term][field] = metadata + return + } + + var metadataKeys = Object.keys(metadata) + + for (var i = 0; i < metadataKeys.length; i++) { + var key = metadataKeys[i] + + if (key in this.metadata[term][field]) { + this.metadata[term][field][key] = this.metadata[term][field][key].concat(metadata[key]) + } else { + this.metadata[term][field][key] = metadata[key] + } + } + } + /** + * A lunr.Query provides a programmatic way of defining queries to be performed + * against a {@link lunr.Index}. + * + * Prefer constructing a lunr.Query using the {@link lunr.Index#query} method + * so the query object is pre-initialized with the right index fields. + * + * @constructor + * @property {lunr.Query~Clause[]} clauses - An array of query clauses. + * @property {string[]} allFields - An array of all available fields in a lunr.Index. + */ + lunr.Query = function (allFields) { + this.clauses = [] + this.allFields = allFields + } + + /** + * Constants for indicating what kind of automatic wildcard insertion will be used when constructing a query clause. + * + * This allows wildcards to be added to the beginning and end of a term without having to manually do any string + * concatenation. + * + * The wildcard constants can be bitwise combined to select both leading and trailing wildcards. + * + * @constant + * @default + * @property {number} wildcard.NONE - The term will have no wildcards inserted, this is the default behaviour + * @property {number} wildcard.LEADING - Prepend the term with a wildcard, unless a leading wildcard already exists + * @property {number} wildcard.TRAILING - Append a wildcard to the term, unless a trailing wildcard already exists + * @see lunr.Query~Clause + * @see lunr.Query#clause + * @see lunr.Query#term + * @example query term with trailing wildcard + * query.term('foo', { wildcard: lunr.Query.wildcard.TRAILING }) + * @example query term with leading and trailing wildcard + * query.term('foo', { + * wildcard: lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING + * }) + */ + + lunr.Query.wildcard = new String ("*") + lunr.Query.wildcard.NONE = 0 + lunr.Query.wildcard.LEADING = 1 + lunr.Query.wildcard.TRAILING = 2 + + /** + * Constants for indicating what kind of presence a term must have in matching documents. + * + * @constant + * @enum {number} + * @see lunr.Query~Clause + * @see lunr.Query#clause + * @see lunr.Query#term + * @example query term with required presence + * query.term('foo', { presence: lunr.Query.presence.REQUIRED }) + */ + lunr.Query.presence = { + /** + * Term's presence in a document is optional, this is the default value. + */ + OPTIONAL: 1, + + /** + * Term's presence in a document is required, documents that do not contain + * this term will not be returned. + */ + REQUIRED: 2, + + /** + * Term's presence in a document is prohibited, documents that do contain + * this term will not be returned. + */ + PROHIBITED: 3 + } + + /** + * A single clause in a {@link lunr.Query} contains a term and details on how to + * match that term against a {@link lunr.Index}. + * + * @typedef {Object} lunr.Query~Clause + * @property {string[]} fields - The fields in an index this clause should be matched against. + * @property {number} [boost=1] - Any boost that should be applied when matching this clause. + * @property {number} [editDistance] - Whether the term should have fuzzy matching applied, and how fuzzy the match should be. + * @property {boolean} [usePipeline] - Whether the term should be passed through the search pipeline. + * @property {number} [wildcard=lunr.Query.wildcard.NONE] - Whether the term should have wildcards appended or prepended. + * @property {number} [presence=lunr.Query.presence.OPTIONAL] - The terms presence in any matching documents. + */ + + /** + * Adds a {@link lunr.Query~Clause} to this query. + * + * Unless the clause contains the fields to be matched all fields will be matched. In addition + * a default boost of 1 is applied to the clause. + * + * @param {lunr.Query~Clause} clause - The clause to add to this query. + * @see lunr.Query~Clause + * @returns {lunr.Query} + */ + lunr.Query.prototype.clause = function (clause) { + if (!('fields' in clause)) { + clause.fields = this.allFields + } + + if (!('boost' in clause)) { + clause.boost = 1 + } + + if (!('usePipeline' in clause)) { + clause.usePipeline = true + } + + if (!('wildcard' in clause)) { + clause.wildcard = lunr.Query.wildcard.NONE + } + + if ((clause.wildcard & lunr.Query.wildcard.LEADING) && (clause.term.charAt(0) != lunr.Query.wildcard)) { + clause.term = "*" + clause.term + } + + if ((clause.wildcard & lunr.Query.wildcard.TRAILING) && (clause.term.slice(-1) != lunr.Query.wildcard)) { + clause.term = "" + clause.term + "*" + } + + if (!('presence' in clause)) { + clause.presence = lunr.Query.presence.OPTIONAL + } + + this.clauses.push(clause) + + return this + } + + /** + * A negated query is one in which every clause has a presence of + * prohibited. These queries require some special processing to return + * the expected results. + * + * @returns boolean + */ + lunr.Query.prototype.isNegated = function () { + for (var i = 0; i < this.clauses.length; i++) { + if (this.clauses[i].presence != lunr.Query.presence.PROHIBITED) { + return false + } + } + + return true + } + + /** + * Adds a term to the current query, under the covers this will create a {@link lunr.Query~Clause} + * to the list of clauses that make up this query. + * + * The term is used as is, i.e. no tokenization will be performed by this method. Instead conversion + * to a token or token-like string should be done before calling this method. + * + * The term will be converted to a string by calling `toString`. Multiple terms can be passed as an + * array, each term in the array will share the same options. + * + * @param {object|object[]} term - The term(s) to add to the query. + * @param {object} [options] - Any additional properties to add to the query clause. + * @returns {lunr.Query} + * @see lunr.Query#clause + * @see lunr.Query~Clause + * @example adding a single term to a query + * query.term("foo") + * @example adding a single term to a query and specifying search fields, term boost and automatic trailing wildcard + * query.term("foo", { + * fields: ["title"], + * boost: 10, + * wildcard: lunr.Query.wildcard.TRAILING + * }) + * @example using lunr.tokenizer to convert a string to tokens before using them as terms + * query.term(lunr.tokenizer("foo bar")) + */ + lunr.Query.prototype.term = function (term, options) { + if (Array.isArray(term)) { + term.forEach(function (t) { this.term(t, lunr.utils.clone(options)) }, this) + return this + } + + var clause = options || {} + clause.term = term.toString() + + this.clause(clause) + + return this + } + lunr.QueryParseError = function (message, start, end) { + this.name = "QueryParseError" + this.message = message + this.start = start + this.end = end + } + + lunr.QueryParseError.prototype = new Error + lunr.QueryLexer = function (str) { + this.lexemes = [] + this.str = str + this.length = str.length + this.pos = 0 + this.start = 0 + this.escapeCharPositions = [] + } + + lunr.QueryLexer.prototype.run = function () { + var state = lunr.QueryLexer.lexText + + while (state) { + state = state(this) + } + } + + lunr.QueryLexer.prototype.sliceString = function () { + var subSlices = [], + sliceStart = this.start, + sliceEnd = this.pos + + for (var i = 0; i < this.escapeCharPositions.length; i++) { + sliceEnd = this.escapeCharPositions[i] + subSlices.push(this.str.slice(sliceStart, sliceEnd)) + sliceStart = sliceEnd + 1 + } + + subSlices.push(this.str.slice(sliceStart, this.pos)) + this.escapeCharPositions.length = 0 + + return subSlices.join('') + } + + lunr.QueryLexer.prototype.emit = function (type) { + this.lexemes.push({ + type: type, + str: this.sliceString(), + start: this.start, + end: this.pos + }) + + this.start = this.pos + } + + lunr.QueryLexer.prototype.escapeCharacter = function () { + this.escapeCharPositions.push(this.pos - 1) + this.pos += 1 + } + + lunr.QueryLexer.prototype.next = function () { + if (this.pos >= this.length) { + return lunr.QueryLexer.EOS + } + + var char = this.str.charAt(this.pos) + this.pos += 1 + return char + } + + lunr.QueryLexer.prototype.width = function () { + return this.pos - this.start + } + + lunr.QueryLexer.prototype.ignore = function () { + if (this.start == this.pos) { + this.pos += 1 + } + + this.start = this.pos + } + + lunr.QueryLexer.prototype.backup = function () { + this.pos -= 1 + } + + lunr.QueryLexer.prototype.acceptDigitRun = function () { + var char, charCode + + do { + char = this.next() + charCode = char.charCodeAt(0) + } while (charCode > 47 && charCode < 58) + + if (char != lunr.QueryLexer.EOS) { + this.backup() + } + } + + lunr.QueryLexer.prototype.more = function () { + return this.pos < this.length + } + + lunr.QueryLexer.EOS = 'EOS' + lunr.QueryLexer.FIELD = 'FIELD' + lunr.QueryLexer.TERM = 'TERM' + lunr.QueryLexer.EDIT_DISTANCE = 'EDIT_DISTANCE' + lunr.QueryLexer.BOOST = 'BOOST' + lunr.QueryLexer.PRESENCE = 'PRESENCE' + + lunr.QueryLexer.lexField = function (lexer) { + lexer.backup() + lexer.emit(lunr.QueryLexer.FIELD) + lexer.ignore() + return lunr.QueryLexer.lexText + } + + lunr.QueryLexer.lexTerm = function (lexer) { + if (lexer.width() > 1) { + lexer.backup() + lexer.emit(lunr.QueryLexer.TERM) + } + + lexer.ignore() + + if (lexer.more()) { + return lunr.QueryLexer.lexText + } + } + + lunr.QueryLexer.lexEditDistance = function (lexer) { + lexer.ignore() + lexer.acceptDigitRun() + lexer.emit(lunr.QueryLexer.EDIT_DISTANCE) + return lunr.QueryLexer.lexText + } + + lunr.QueryLexer.lexBoost = function (lexer) { + lexer.ignore() + lexer.acceptDigitRun() + lexer.emit(lunr.QueryLexer.BOOST) + return lunr.QueryLexer.lexText + } + + lunr.QueryLexer.lexEOS = function (lexer) { + if (lexer.width() > 0) { + lexer.emit(lunr.QueryLexer.TERM) + } + } + + // This matches the separator used when tokenising fields + // within a document. These should match otherwise it is + // not possible to search for some tokens within a document. + // + // It is possible for the user to change the separator on the + // tokenizer so it _might_ clash with any other of the special + // characters already used within the search string, e.g. :. + // + // This means that it is possible to change the separator in + // such a way that makes some words unsearchable using a search + // string. + lunr.QueryLexer.termSeparator = lunr.tokenizer.separator + + lunr.QueryLexer.lexText = function (lexer) { + while (true) { + var char = lexer.next() + + if (char == lunr.QueryLexer.EOS) { + return lunr.QueryLexer.lexEOS + } + + // Escape character is '\' + if (char.charCodeAt(0) == 92) { + lexer.escapeCharacter() + continue + } + + if (char == ":") { + return lunr.QueryLexer.lexField + } + + if (char == "~") { + lexer.backup() + if (lexer.width() > 0) { + lexer.emit(lunr.QueryLexer.TERM) + } + return lunr.QueryLexer.lexEditDistance + } + + if (char == "^") { + lexer.backup() + if (lexer.width() > 0) { + lexer.emit(lunr.QueryLexer.TERM) + } + return lunr.QueryLexer.lexBoost + } + + // "+" indicates term presence is required + // checking for length to ensure that only + // leading "+" are considered + if (char == "+" && lexer.width() === 1) { + lexer.emit(lunr.QueryLexer.PRESENCE) + return lunr.QueryLexer.lexText + } + + // "-" indicates term presence is prohibited + // checking for length to ensure that only + // leading "-" are considered + if (char == "-" && lexer.width() === 1) { + lexer.emit(lunr.QueryLexer.PRESENCE) + return lunr.QueryLexer.lexText + } + + if (char.match(lunr.QueryLexer.termSeparator)) { + return lunr.QueryLexer.lexTerm + } + } + } + + lunr.QueryParser = function (str, query) { + this.lexer = new lunr.QueryLexer (str) + this.query = query + this.currentClause = {} + this.lexemeIdx = 0 + } + + lunr.QueryParser.prototype.parse = function () { + this.lexer.run() + this.lexemes = this.lexer.lexemes + + var state = lunr.QueryParser.parseClause + + while (state) { + state = state(this) + } + + return this.query + } + + lunr.QueryParser.prototype.peekLexeme = function () { + return this.lexemes[this.lexemeIdx] + } + + lunr.QueryParser.prototype.consumeLexeme = function () { + var lexeme = this.peekLexeme() + this.lexemeIdx += 1 + return lexeme + } + + lunr.QueryParser.prototype.nextClause = function () { + var completedClause = this.currentClause + this.query.clause(completedClause) + this.currentClause = {} + } + + lunr.QueryParser.parseClause = function (parser) { + var lexeme = parser.peekLexeme() + + if (lexeme == undefined) { + return + } + + switch (lexeme.type) { + case lunr.QueryLexer.PRESENCE: + return lunr.QueryParser.parsePresence + case lunr.QueryLexer.FIELD: + return lunr.QueryParser.parseField + case lunr.QueryLexer.TERM: + return lunr.QueryParser.parseTerm + default: + var errorMessage = "expected either a field or a term, found " + lexeme.type + + if (lexeme.str.length >= 1) { + errorMessage += " with value '" + lexeme.str + "'" + } + + throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) + } + } + + lunr.QueryParser.parsePresence = function (parser) { + var lexeme = parser.consumeLexeme() + + if (lexeme == undefined) { + return + } + + switch (lexeme.str) { + case "-": + parser.currentClause.presence = lunr.Query.presence.PROHIBITED + break + case "+": + parser.currentClause.presence = lunr.Query.presence.REQUIRED + break + default: + var errorMessage = "unrecognised presence operator'" + lexeme.str + "'" + throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) + } + + var nextLexeme = parser.peekLexeme() + + if (nextLexeme == undefined) { + var errorMessage = "expecting term or field, found nothing" + throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) + } + + switch (nextLexeme.type) { + case lunr.QueryLexer.FIELD: + return lunr.QueryParser.parseField + case lunr.QueryLexer.TERM: + return lunr.QueryParser.parseTerm + default: + var errorMessage = "expecting term or field, found '" + nextLexeme.type + "'" + throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end) + } + } + + lunr.QueryParser.parseField = function (parser) { + var lexeme = parser.consumeLexeme() + + if (lexeme == undefined) { + return + } + + if (parser.query.allFields.indexOf(lexeme.str) == -1) { + var possibleFields = parser.query.allFields.map(function (f) { return "'" + f + "'" }).join(', '), + errorMessage = "unrecognised field '" + lexeme.str + "', possible fields: " + possibleFields + + throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) + } + + parser.currentClause.fields = [lexeme.str] + + var nextLexeme = parser.peekLexeme() + + if (nextLexeme == undefined) { + var errorMessage = "expecting term, found nothing" + throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) + } + + switch (nextLexeme.type) { + case lunr.QueryLexer.TERM: + return lunr.QueryParser.parseTerm + default: + var errorMessage = "expecting term, found '" + nextLexeme.type + "'" + throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end) + } + } + + lunr.QueryParser.parseTerm = function (parser) { + var lexeme = parser.consumeLexeme() + + if (lexeme == undefined) { + return + } + + parser.currentClause.term = lexeme.str.toLowerCase() + + if (lexeme.str.indexOf("*") != -1) { + parser.currentClause.usePipeline = false + } + + var nextLexeme = parser.peekLexeme() + + if (nextLexeme == undefined) { + parser.nextClause() + return + } + + switch (nextLexeme.type) { + case lunr.QueryLexer.TERM: + parser.nextClause() + return lunr.QueryParser.parseTerm + case lunr.QueryLexer.FIELD: + parser.nextClause() + return lunr.QueryParser.parseField + case lunr.QueryLexer.EDIT_DISTANCE: + return lunr.QueryParser.parseEditDistance + case lunr.QueryLexer.BOOST: + return lunr.QueryParser.parseBoost + case lunr.QueryLexer.PRESENCE: + parser.nextClause() + return lunr.QueryParser.parsePresence + default: + var errorMessage = "Unexpected lexeme type '" + nextLexeme.type + "'" + throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end) + } + } + + lunr.QueryParser.parseEditDistance = function (parser) { + var lexeme = parser.consumeLexeme() + + if (lexeme == undefined) { + return + } + + var editDistance = parseInt(lexeme.str, 10) + + if (isNaN(editDistance)) { + var errorMessage = "edit distance must be numeric" + throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) + } + + parser.currentClause.editDistance = editDistance + + var nextLexeme = parser.peekLexeme() + + if (nextLexeme == undefined) { + parser.nextClause() + return + } + + switch (nextLexeme.type) { + case lunr.QueryLexer.TERM: + parser.nextClause() + return lunr.QueryParser.parseTerm + case lunr.QueryLexer.FIELD: + parser.nextClause() + return lunr.QueryParser.parseField + case lunr.QueryLexer.EDIT_DISTANCE: + return lunr.QueryParser.parseEditDistance + case lunr.QueryLexer.BOOST: + return lunr.QueryParser.parseBoost + case lunr.QueryLexer.PRESENCE: + parser.nextClause() + return lunr.QueryParser.parsePresence + default: + var errorMessage = "Unexpected lexeme type '" + nextLexeme.type + "'" + throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end) + } + } + + lunr.QueryParser.parseBoost = function (parser) { + var lexeme = parser.consumeLexeme() + + if (lexeme == undefined) { + return + } + + var boost = parseInt(lexeme.str, 10) + + if (isNaN(boost)) { + var errorMessage = "boost must be numeric" + throw new lunr.QueryParseError (errorMessage, lexeme.start, lexeme.end) + } + + parser.currentClause.boost = boost + + var nextLexeme = parser.peekLexeme() + + if (nextLexeme == undefined) { + parser.nextClause() + return + } + + switch (nextLexeme.type) { + case lunr.QueryLexer.TERM: + parser.nextClause() + return lunr.QueryParser.parseTerm + case lunr.QueryLexer.FIELD: + parser.nextClause() + return lunr.QueryParser.parseField + case lunr.QueryLexer.EDIT_DISTANCE: + return lunr.QueryParser.parseEditDistance + case lunr.QueryLexer.BOOST: + return lunr.QueryParser.parseBoost + case lunr.QueryLexer.PRESENCE: + parser.nextClause() + return lunr.QueryParser.parsePresence + default: + var errorMessage = "Unexpected lexeme type '" + nextLexeme.type + "'" + throw new lunr.QueryParseError (errorMessage, nextLexeme.start, nextLexeme.end) + } + } + + /** + * export the module via AMD, CommonJS or as a browser global + * Export code from https://github.com/umdjs/umd/blob/master/returnExports.js + */ + ;(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(factory) + } else if (typeof exports === 'object') { + /** + * Node. Does not work with strict CommonJS, but + * only CommonJS-like enviroments that support module.exports, + * like Node. + */ + module.exports = factory() + } else { + // Browser globals (root is window) + root.lunr = factory() + } + }(this, function () { + /** + * Just return a value to define the module export. + * This example returns an object, but the module + * can return a function as the exported value. + */ + return lunr + })) + })(); diff --git a/docs/pydoc/moduleIndex.html b/docs/pydoc/moduleIndex.html new file mode 100644 index 00000000000..6daa479b98f --- /dev/null +++ b/docs/pydoc/moduleIndex.html @@ -0,0 +1,166 @@ + + + + + + + + Module Index + + + + + + + + + + + + + + + + +
+ + + +
  • googleapiclient - No package docstring; 10/11 modules, 1/1 package documented
    • channel - Channel notifications support.
    • discovery - Client for discovery based APIs.
    • discovery_cache - Caching utility for the discovery document.
      • appengine_memcache - App Engine memcache based cache for the discovery document.
      • base - An abstract class for caching the discovery document.
      • file_cache - File based cache for the discovery document.
    • errors - Errors for the library.
    • http - Classes to encapsulate a single HTTP request.
    • mimeparse - MIME-Type Parser
    • model - Model objects for requests and responses.
    • sample_tools - Utilities for making samples.
    • schema - Schema processing for discovery based APIs
    • version - Undocumented
    • _auth - Helpers for authentication using oauth2client or google-auth.
    • _helpers - Helper functions for commonly used utilities.
+ +
+ + + + + + + \ No newline at end of file diff --git a/docs/pydoc/nameIndex.html b/docs/pydoc/nameIndex.html new file mode 100644 index 00000000000..f49b59afdba --- /dev/null +++ b/docs/pydoc/nameIndex.html @@ -0,0 +1,383 @@ + + + + + + + + Index of Names + + + + + + + + + + + + + + + + +
+ + + + + + + +

A

+ + + + + + +

B

+ + + + + + +

C

+ + + + + + +

D

+ + + + + + +

E

+ + + + + + +

F

+ + + + + + +

G

+ + + + + + +

H

+ + + + + + +

I

+ + + + + + +

J

+ + + + + + +

K

+ + + + + + +

L

+ + + + + + +

M

+ + + + + + +

N

+ + + + + + +

P

+ + + + + + +

Q

+ + + + + + +

R

+ + + + + + +

S

+ + + + + + +

T

+ + + + + + +

U

+ + + + + + +

V

+ + + + + + +

W

+ + + + + + +

X

+ + + + + + +

_

+ + + + +
+ + + + + + + + \ No newline at end of file diff --git a/docs/pydoc/objects.inv b/docs/pydoc/objects.inv new file mode 100644 index 00000000000..b7d8bc229f8 Binary files /dev/null and b/docs/pydoc/objects.inv differ diff --git a/docs/pydoc/pydoctor.js b/docs/pydoc/pydoctor.js new file mode 100644 index 00000000000..e75269cdfc5 --- /dev/null +++ b/docs/pydoc/pydoctor.js @@ -0,0 +1,35 @@ +// Toogle private view + +function initPrivate() { + var params = (new URL(document.location)).searchParams; + if (!params || !parseInt(params.get('private'))) { + var show = false; + var hash = document.location.hash; + + if (hash != '') { + var anchor = document.querySelector('a[name="' + hash.substring(1) + '"]'); + show = anchor && anchor.parentNode.classList.contains('private'); + } + + if (!show) { + document.body.classList.add("private-hidden"); + } + } + updatePrivate(); +} + +function togglePrivate() { + document.body.classList.toggle("private-hidden"); + updatePrivate(); +} +function updatePrivate() { + var hidden = document.body.classList.contains('private-hidden'); + document.querySelector('#showPrivate button').innerText = + hidden ? 'Show Private API' : 'Hide Private API'; + if (history) { + var search = hidden ? document.location.pathname : '?private=1'; + history.replaceState(null, '', search + document.location.hash); + } +} + +initPrivate(); diff --git a/docs/pydoc/search.js b/docs/pydoc/search.js new file mode 100644 index 00000000000..7fb34200c54 --- /dev/null +++ b/docs/pydoc/search.js @@ -0,0 +1,478 @@ +// This file contains the code that drives the search system UX. +// It's included in every HTML file. +// Depends on library files searchlib.js and ajax.js (and of course lunr.js) + +// Ideas for improvments: +// - Include filtering buttons: +// - search only in the current module +// - have a query frontend that helps build complex queries +// - Filter out results that have score > 0.001 by default and show them on demand. +// - Should we change the default term presence to be MUST and not SHOULD ? +// -> Hack something like 'name index -value' -> '+name +index -value' +// -> 'name ?index -value' -> '+name index -value' +// - Highlight can use https://github.com/bep/docuapi/blob/5bfdc7d366ef2de58dc4e52106ad474d06410907/assets/js/helpers/highlight.js#L1 +// Better: Add support for AND and OR with parenthesis, ajust this code https://stackoverflow.com/a/20374128 + +//////// GLOBAL VARS ///////// + +let input = document.getElementById('search-box'); +let results_container = document.getElementById('search-results-container'); +let results_list = document.getElementById('search-results'); +let searchInDocstringsButton = document.getElementById('search-docstrings-button'); +let searchInDocstringsCheckbox = document.getElementById('toggle-search-in-docstrings-checkbox'); +var isSearchReadyPromise = null; + +// setTimeout variable to warn when a search takes too long +var _setLongSearchInfosTimeout = null; + +//////// UI META INFORMATIONS FUNCTIONS ///////// + +// Taken from https://stackoverflow.com/a/14130005 +// For security. +function htmlEncode(str) { + return String(str).replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"'); +} + +function _setInfos(message, box_id, text_id) { + document.getElementById(text_id).textContent = message; + if (message.length>0){ + document.getElementById(box_id).style.display = 'block'; + } + else{ + document.getElementById(box_id).style.display = 'none'; + } +} + +/** + * Set the search status. + */ +function setStatus(message) { + document.getElementById('search-status').textContent = message; +} + +/** + * Show a warning, hide warning box if empty string. + */ +function setWarning(message) { + _setInfos(message, 'search-warn-box', 'search-warn'); +} + +/** + * Say that Something went wrong. + */ +function setErrorStatus() { + resetLongSearchTimerInfo() + setStatus("Something went wrong."); + setErrorInfos(); +} + +/** + * Show additional error infos (used to show query parser errors infos) or tell to go check the console. + * @param message: (optional) string + */ +function setErrorInfos(message) { + if (message != undefined){ + setWarning(message); + } + else{ + setWarning("Error: See development console for details."); + } +} + +/** + * Reset the long search timer warning. + */ +function resetLongSearchTimerInfo(){ + if (_setLongSearchInfosTimeout){ + clearTimeout(_setLongSearchInfosTimeout); + } +} +function launchLongSearchTimerInfo(){ + // After 10 seconds of searching, warn that this is taking more time than usual. + _setLongSearchInfosTimeout = setTimeout(setLongSearchInfos, 10000); +} + +/** + * Say that this search is taking longer than usual. + */ +function setLongSearchInfos(){ + setWarning("This is taking longer than usual... You can keep waiting for the search to complete, or retry the search with other terms."); +} + +//////// UI SHOW/HIDE FUNCTIONS ///////// + +function hideResultContainer(){ + results_container.style.display = 'none'; + if (!document.body.classList.contains("search-help-hidden")){ + document.body.classList.add("search-help-hidden"); + } +} + +function showResultContainer(){ + results_container.style.display = 'block'; + updateClearSearchBtn(); +} + +function toggleSearchHelpText() { + document.body.classList.toggle("search-help-hidden"); + if (document.body.classList.contains("search-help-hidden") && input.value.length==0){ + hideResultContainer(); + } + else{ + showResultContainer(); + } +} + +function resetResultList(){ + resetLongSearchTimerInfo(); + results_list.innerHTML = ''; + setWarning(''); + setStatus(''); +} + +function clearSearch(){ + stopSearching(); + + input.value = ''; + updateClearSearchBtn(); +} + +function stopSearching(){ + // UI + hideResultContainer(); + resetResultList(); + + // NOT UI + _stopSearchingProcess(); +} + +function _stopSearchingProcess(){ + abortSearch(); + restartSearchWorker(); +} + +/** + * Show and hide the (X) button depending on the current search input. + * We do not show the (X) button when there is no search going on. + */ + function updateClearSearchBtn(){ + + if (input.value.length>0){ + document.getElementById('search-clear-button').style.display = 'inline-block'; + } + else{ + document.getElementById('search-clear-button').style.display = 'none'; + } +} + +//////// SEARCH WARPPER FUNCTIONS ///////// + +// Values configuring the search-as-you-type feature. +var SEARCH_DEFAULT_DELAY = 100; // in miliseconds +var SEARCH_INCREASED_DELAY = 200; +var SEARCH_INDEX_SIZE_TRESH_INCREASE_DELAY = 10; // in MB +var SEARCH_INDEX_SIZE_TRESH_DISABLE_SEARCH_AS_YOU_TYPE = 20; +var SEARCH_AUTO_WILDCARD = true; + +// Search delay depends on index size. +function _getIndexSizePromise(indexURL){ + return httpGetPromise(indexURL).then((responseText) => { + if (responseText==null){ + return 0; + } + let indexSizeApprox = responseText.length / 1000000; // in MB + return indexSizeApprox; + }); +} +function _getSearchDelayPromise(indexURL){ // -> Promise of a Search delay number. + return _getIndexSizePromise(indexURL).then((size) => { + var searchDelay = SEARCH_DEFAULT_DELAY; + if (size===0){ + return searchDelay; + } + if (size>SEARCH_INDEX_SIZE_TRESH_INCREASE_DELAY){ + // For better UX + searchDelay = SEARCH_INCREASED_DELAY; // in miliseconds, this avoids searching several times when typing several leters very rapidly + } + return searchDelay; + }); +} + +function _getIsSearchReadyPromise(){ + return Promise.all([ + httpGetPromise("all-documents.html"), + httpGetPromise("searchindex.json"), + httpGetPromise("fullsearchindex.json"), + httpGetPromise("lunr.js"), + ]); +} + +// Launch search as user types if the size of the index is small enought, +// else say "Press 'Enter' to search". +function searchAsYouType(){ + if (input.value.length>0){ + showResultContainer(); + } + _getIndexSizePromise("searchindex.json").then((indexSizeApprox) => { + if (indexSizeApprox > SEARCH_INDEX_SIZE_TRESH_DISABLE_SEARCH_AS_YOU_TYPE){ + // Not searching as we type if "default" index size if greater than 20MB. + if (input.value.length===0){ // No actual query, this only resets some UI components. + launchSearch(); + } + else{ + setTimeout(() => { + _stopSearchingProcess(); + resetResultList(); + setStatus("Press 'Enter' to search."); + }); + } + } + else{ + launchSearch(); + } + }); +} + +searchEventsEnv.addEventListener("searchStarted", (ev) => { + setStatus("Searching..."); +}); + +var _lastSearchStartTime = null; +var _lastSearchInput = null; +/** + * Do the actual searching business + * Main entrypoint to [re]launch the search. + * Called everytime the search bar is edited. +*/ +function launchSearch(noDelay){ + let _searchStartTime = performance.now(); + + // Get the query terms + let _query = input.value; + + // In chrome, two events are triggered simultaneously for the input event. + // So we discard consecutive (within the same 0.001s) requests that have the same search query. + if (( + (_searchStartTime-_lastSearchStartTime) < (0.001*1000) + ) && (_query === _lastSearchInput) ){ + return; + } + + updateClearSearchBtn(); + + // Setup query meta infos. + _lastSearchStartTime = _searchStartTime + _lastSearchInput = _query; + + if (_query.length===0){ + stopSearching(); + return; + } + + if (!window.Worker) { + setStatus("Cannot search: JavaScript Worker API is not supported in your browser. "); + return; + } + + resetResultList(); + showResultContainer(); + setStatus("..."); + + // Determine indexURL + let indexURL = _isSearchInDocstringsEnabled() ? "fullsearchindex.json" : "searchindex.json"; + + // If search in docstring is enabled: + // -> customize query function to include docstring for clauses applicable for all fields + let _fields = _isSearchInDocstringsEnabled() ? ["name", "names", "qname", "docstring"] : ["name", "names", "qname"]; + + resetLongSearchTimerInfo(); + launchLongSearchTimerInfo(); + + // Get search delay, wait the all search resources to be cached and actually launch the search + return _getSearchDelayPromise(indexURL).then((searchDelay) => { + if (isSearchReadyPromise==null){ + isSearchReadyPromise = _getIsSearchReadyPromise() + } + return isSearchReadyPromise.then((r)=>{ + return lunrSearch(_query, indexURL, _fields, "lunr.js", !noDelay?searchDelay:0, SEARCH_AUTO_WILDCARD).then((lunrResults) => { + + // outdated query results + if (_searchStartTime != _lastSearchStartTime){return;} + + if (!lunrResults){ + setErrorStatus(); + throw new Error("No data to show"); + } + + if (lunrResults.length == 0){ + setStatus('No results matches "' + htmlEncode(_query) + '"'); + resetLongSearchTimerInfo(); + return; + } + + setStatus("One sec..."); + + // Get result data + return fetchResultsData(lunrResults, "all-documents.html").then((documentResults) => { + + // outdated query results + if (_searchStartTime != _lastSearchStartTime){return;} + + // Edit DOM + resetLongSearchTimerInfo(); + displaySearchResults(_query, documentResults, lunrResults) + + // Log stats + console.log('Search for "' + _query + '" took ' + + ((performance.now() - _searchStartTime)/1000).toString() + ' seconds.') + + // End + }) + }); // lunrResults promise resolved + }); + }).catch((err) => {_handleErr(err);}); + +} // end search() function + +function _handleErr(err){ + console.dir(err); + setStatus('') + if (err.message){ + resetLongSearchTimerInfo(); + setWarning(err.message) // Here we show the error because it's likely a query parser error. + } + else{ + setErrorStatus(); + } +} + +/** + * Given the query string, documentResults and lunrResults as used in search(), + * edit the DOM to add them in the search results list. + */ +function displaySearchResults(_query, documentResults, lunrResults){ + resetResultList(); + documentResults.forEach((dobj) => { + results_list.appendChild(buildSearchResult(dobj)); + }); + + if (lunrResults.length > 500){ + setWarning("Your search yielded a lot of results! Maybe try with other terms?"); + } + + let publicResults = documentResults.filter(function(value){ + return !value.querySelector('.privacy').innerHTML.includes("PRIVATE"); + }) + + if (publicResults.length==0){ + setStatus('No results matches "' + htmlEncode(_query) + '". Some private objects matches your search though.'); + } + else{ + setStatus( + 'Search for "' + htmlEncode(_query) + '" yielded ' + publicResults.length + ' ' + + (publicResults.length === 1 ? 'result' : 'results') + '.'); + } +} + +function _isSearchInDocstringsEnabled() { + return searchInDocstringsCheckbox.checked; +} + +function toggleSearchInDocstrings() { + if (searchInDocstringsCheckbox.checked){ + searchInDocstringsButton.classList.add('label-success') + } + else{ + if (searchInDocstringsButton.classList.contains('label-success')){ + searchInDocstringsButton.classList.remove('label-success') + } + } + if (input.value.length>0){ + launchSearch(true) + } +} + +////// SETUP ////// + +// Attach launchSearch() to search text field update events. + +input.oninput = (event) => { + setTimeout(() =>{ + searchAsYouType(); + }, 0); +}; +input.onkeyup = (event) => { + if (event.key === 'Enter') { + launchSearch(true); + } +}; +input.onfocus = (event) => { + // Ensure the search bar is set-up. + // Load fullsearchindex.json, searchindex.json and all-documents.html to have them in the cache asap. + isSearchReadyPromise = _getIsSearchReadyPromise(); +} +document.onload = (event) => { + // Set-up search bar. + setTimeout(() =>{ + isSearchReadyPromise = _getIsSearchReadyPromise(); + }, 500); +} + +// Close the dropdown if the user clicks on echap key +document.addEventListener('keyup', (evt) => { + evt = evt || window.event; + if (evt.key === "Escape" || evt.key === "Esc") { + hideResultContainer(); + } +}); + +// Init search and help text. +// search box is not visible by default because +// we don't want to show it if the browser do not support JS. +window.addEventListener('load', (event) => { + document.getElementById('search-box-container').style.display = 'block'; + document.getElementById('search-help-box').style.display = 'block'; + hideResultContainer(); +}); + +// This listener does 3 things. +window.addEventListener("click", (event) => { + if (event){ + // 1. Hide the dropdown if the user clicks outside of it + if (!event.target.closest('#search-results-container') + && !event.target.closest('#search-box') + && !event.target.closest('#search-help-button')){ + hideResultContainer(); + return; + } + + // 2. Show the dropdown if the user clicks inside the search box + if (event.target.closest('#search-box')){ + if (input.value.length>0){ + showResultContainer(); + return; + } + } + + // 3.Hide the dropdown if the user clicks on a link that brings them to the same page. + // This includes links in summaries. + link = event.target.closest('#search-results a') + if (link){ + page_parts = document.location.pathname.split('/') + current_page = page_parts[page_parts.length-1] + href = link.getAttribute("href"); + + if (!href.startsWith(current_page)){ + // The link points to something not in the same page, so don't hide the dropdown. + // The page will be reloaded anyway, but this ensure that if we go back, the dropdown will + // still be expanded. + return; + } + if (event.ctrlKey || event.shiftKey || event.metaKey){ + // The link is openned in a new window/tab so don't hide the dropdown. + return; + } + hideResultContainer(); + } + } +}); diff --git a/docs/pydoc/searchindex.json b/docs/pydoc/searchindex.json new file mode 100644 index 00000000000..f29da804e67 --- /dev/null +++ b/docs/pydoc/searchindex.json @@ -0,0 +1 @@ +{"version": "2.3.9", "fields": ["name", "names", "qname"], "fieldVectors": [["name/googleapiclient", [0, 58.117]], ["names/googleapiclient", [0, 11.946]], ["qname/googleapiclient", [0, 19.372]], ["name/googleapiclient._auth", [1, 68.284]], ["names/googleapiclient._auth", [2, 12.776]], ["qname/googleapiclient._auth", [3, 22.761]], ["name/googleapiclient._helpers", [4, 68.284]], ["names/googleapiclient._helpers", [5, 14.036]], ["qname/googleapiclient._helpers", [6, 22.761]], ["name/googleapiclient.channel", [7, 48.971]], ["names/googleapiclient.channel", [7, 10.066]], ["qname/googleapiclient.channel", [8, 22.761]], ["name/googleapiclient.discovery", [9, 46.134]], ["names/googleapiclient.discovery", [9, 9.483]], ["qname/googleapiclient.discovery", [10, 22.761]], ["name/googleapiclient.discovery_cache", [11, 68.284]], ["names/googleapiclient.discovery_cache", [9, 7.459, 12, 6.639]], ["qname/googleapiclient.discovery_cache", [13, 22.761]], ["name/googleapiclient.discovery_cache.appengine_memcache", [14, 68.284]], ["names/googleapiclient.discovery_cache.appengine_memcache", [15, 11.041, 16, 11.041]], ["qname/googleapiclient.discovery_cache.appengine_memcache", [17, 22.761]], ["name/googleapiclient.discovery_cache.base", [18, 47.469]], ["names/googleapiclient.discovery_cache.base", [18, 9.757]], ["qname/googleapiclient.discovery_cache.base", [19, 22.761]], ["name/googleapiclient.discovery_cache.file_cache", [20, 68.284]], ["names/googleapiclient.discovery_cache.file_cache", [12, 6.639, 21, 8.196]], ["qname/googleapiclient.discovery_cache.file_cache", [22, 22.761]], ["name/googleapiclient.errors", [23, 62.154]], ["names/googleapiclient.errors", [23, 12.776]], ["qname/googleapiclient.errors", [24, 22.761]], ["name/googleapiclient.http", [25, 39.51]], ["names/googleapiclient.http", [25, 8.121]], ["qname/googleapiclient.http", [26, 22.761]], ["name/googleapiclient.mimeparse", [27, 62.154]], ["names/googleapiclient.mimeparse", [27, 12.776]], ["qname/googleapiclient.mimeparse", [28, 22.761]], ["name/googleapiclient.model", [29, 44.933]], ["names/googleapiclient.model", [29, 9.236]], ["qname/googleapiclient.model", [30, 22.761]], ["name/googleapiclient.sample_tools", [31, 68.284]], ["names/googleapiclient.sample_tools", [32, 11.041, 33, 11.041]], ["qname/googleapiclient.sample_tools", [34, 22.761]], ["name/googleapiclient.schema", [35, 47.469]], ["names/googleapiclient.schema", [35, 9.757]], ["qname/googleapiclient.schema", [36, 22.761]], ["name/googleapiclient.version", [37, 48.971]], ["names/googleapiclient.version", [37, 10.066]], ["qname/googleapiclient.version", [38, 22.761]], ["name/googleapiclient._auth.HAS_GOOGLE_AUTH", [39, 34.142]], ["names/googleapiclient._auth.HAS_GOOGLE_AUTH", [2, 4.141, 40, 3.511, 41, 3.671]], ["qname/googleapiclient._auth.HAS_GOOGLE_AUTH", [42, 11.381]], ["name/googleapiclient._auth.HAS_OAUTH2CLIENT", [43, 34.142]], ["names/googleapiclient._auth.HAS_OAUTH2CLIENT", [40, 4.26, 44, 5.52]], ["qname/googleapiclient._auth.HAS_OAUTH2CLIENT", [45, 11.381]], ["name/googleapiclient._auth.credentials_from_file", [46, 34.142]], ["names/googleapiclient._auth.credentials_from_file", [21, 3.377, 47, 2.994, 48, 3.074]], ["qname/googleapiclient._auth.credentials_from_file", [49, 11.381]], ["name/googleapiclient._auth.default_credentials", [50, 34.142]], ["names/googleapiclient._auth.default_credentials", [47, 3.633, 51, 3.73]], ["qname/googleapiclient._auth.default_credentials", [52, 11.381]], ["name/googleapiclient._auth.with_scopes", [53, 34.142]], ["names/googleapiclient._auth.with_scopes", [54, 5.025, 55, 5.52]], ["qname/googleapiclient._auth.with_scopes", [56, 11.381]], ["name/googleapiclient._auth.authorized_http", [57, 34.142]], ["names/googleapiclient._auth.authorized_http", [25, 3.194, 58, 5.52]], ["qname/googleapiclient._auth.authorized_http", [59, 11.381]], ["name/googleapiclient._auth.refresh_credentials", [60, 34.142]], ["names/googleapiclient._auth.refresh_credentials", [47, 3.633, 61, 5.025]], ["qname/googleapiclient._auth.refresh_credentials", [62, 11.381]], ["name/googleapiclient._auth.apply_credentials", [63, 34.142]], ["names/googleapiclient._auth.apply_credentials", [47, 3.633, 64, 5.025]], ["qname/googleapiclient._auth.apply_credentials", [65, 11.381]], ["name/googleapiclient._auth.is_valid", [66, 34.142]], ["names/googleapiclient._auth.is_valid", [67, 5.025, 68, 5.52]], ["qname/googleapiclient._auth.is_valid", [69, 11.381]], ["name/googleapiclient._auth.get_credentials_from_http", [70, 34.142]], ["names/googleapiclient._auth.get_credentials_from_http", [25, 2.239, 47, 2.546, 48, 2.614, 71, 2.484]], ["qname/googleapiclient._auth.get_credentials_from_http", [72, 11.381]], ["name/googleapiclient._helpers.logger", [73, 20.53]], ["names/googleapiclient._helpers.logger", [73, 4.22]], ["qname/googleapiclient._helpers.logger", [74, 11.381]], ["name/googleapiclient._helpers.POSITIONAL_WARNING", [75, 34.142]], ["names/googleapiclient._helpers.POSITIONAL_WARNING", [76, 4.098, 77, 5.52]], ["qname/googleapiclient._helpers.POSITIONAL_WARNING", [78, 11.381]], ["name/googleapiclient._helpers.POSITIONAL_EXCEPTION", [79, 34.142]], ["names/googleapiclient._helpers.POSITIONAL_EXCEPTION", [76, 4.098, 80, 5.52]], ["qname/googleapiclient._helpers.POSITIONAL_EXCEPTION", [81, 11.381]], ["name/googleapiclient._helpers.POSITIONAL_IGNORE", [82, 34.142]], ["names/googleapiclient._helpers.POSITIONAL_IGNORE", [76, 4.098, 83, 5.52]], ["qname/googleapiclient._helpers.POSITIONAL_IGNORE", [84, 11.381]], ["name/googleapiclient._helpers.POSITIONAL_SET", [85, 34.142]], ["names/googleapiclient._helpers.POSITIONAL_SET", [76, 4.098, 86, 3.544]], ["qname/googleapiclient._helpers.POSITIONAL_SET", [87, 11.381]], ["name/googleapiclient._helpers._SYM_LINK_MESSAGE", [88, 34.142]], ["names/googleapiclient._helpers._SYM_LINK_MESSAGE", [89, 4.55, 90, 4.141, 91, 3.511]], ["qname/googleapiclient._helpers._SYM_LINK_MESSAGE", [92, 11.381]], ["name/googleapiclient._helpers._IS_DIR_MESSAGE", [93, 34.142]], ["names/googleapiclient._helpers._IS_DIR_MESSAGE", [67, 4.141, 91, 3.511, 94, 4.141]], ["qname/googleapiclient._helpers._IS_DIR_MESSAGE", [95, 11.381]], ["name/googleapiclient._helpers._MISSING_FILE_MESSAGE", [96, 34.142]], ["names/googleapiclient._helpers._MISSING_FILE_MESSAGE", [21, 3.377, 91, 3.511, 97, 4.55]], ["qname/googleapiclient._helpers._MISSING_FILE_MESSAGE", [98, 11.381]], ["name/googleapiclient._helpers.positional", [76, 25.344]], ["names/googleapiclient._helpers.positional", [76, 5.209]], ["qname/googleapiclient._helpers.positional", [99, 11.381]], ["name/googleapiclient._helpers.parse_unique_urlencoded", [100, 34.142]], ["names/googleapiclient._helpers.parse_unique_urlencoded", [101, 3.872, 102, 4.55, 103, 4.55]], ["qname/googleapiclient._helpers.parse_unique_urlencoded", [104, 11.381]], ["name/googleapiclient._helpers.update_query_params", [105, 34.142]], ["names/googleapiclient._helpers.update_query_params", [106, 3.872, 107, 3.377, 108, 2.994]], ["qname/googleapiclient._helpers.update_query_params", [109, 11.381]], ["name/googleapiclient._helpers._add_query_parameter", [110, 34.142]], ["names/googleapiclient._helpers._add_query_parameter", [107, 3.377, 111, 3.263, 112, 3.511]], ["qname/googleapiclient._helpers._add_query_parameter", [113, 11.381]], ["name/googleapiclient.errors.__author__", [114, 24.486]], ["names/googleapiclient.errors.__author__", [115, 5.033]], ["qname/googleapiclient.errors.__author__", [116, 11.381]], ["name/googleapiclient.errors.Error", [117, 40.26]], ["names/googleapiclient.errors.Error", [117, 8.275]], ["qname/googleapiclient.errors.Error", [118, 22.761]], ["name/googleapiclient.errors.HttpError", [119, 68.284]], ["names/googleapiclient.errors.HttpError", [25, 6.388, 117, 6.51]], ["qname/googleapiclient.errors.HttpError", [120, 22.761]], ["name/googleapiclient.errors.HttpError.__init__", [121, 16.476]], ["names/googleapiclient.errors.HttpError.__init__", [122, 3.303]], ["qname/googleapiclient.errors.HttpError.__init__", [123, 11.381]], ["name/googleapiclient.errors.HttpError.resp", [124, 25.344]], ["names/googleapiclient.errors.HttpError.resp", [124, 5.209]], ["qname/googleapiclient.errors.HttpError.resp", [125, 11.381]], ["name/googleapiclient.errors.HttpError.content", [126, 19.755]], ["names/googleapiclient.errors.HttpError.content", [126, 4.061]], ["qname/googleapiclient.errors.HttpError.content", [127, 11.381]], ["name/googleapiclient.errors.HttpError.uri", [128, 18.752]], ["names/googleapiclient.errors.HttpError.uri", [128, 3.855]], ["qname/googleapiclient.errors.HttpError.uri", [129, 11.381]], ["name/googleapiclient.errors.HttpError.error_details", [130, 34.142]], ["names/googleapiclient.errors.HttpError.error_details", [117, 3.255, 131, 5.52]], ["qname/googleapiclient.errors.HttpError.error_details", [132, 11.381]], ["name/googleapiclient.errors.HttpError.reason", [133, 26.346]], ["names/googleapiclient.errors.HttpError.reason", [133, 5.415]], ["qname/googleapiclient.errors.HttpError.reason", [134, 11.381]], ["name/googleapiclient.errors.HttpError.status_code", [135, 34.142]], ["names/googleapiclient.errors.HttpError.status_code", [136, 5.52, 137, 5.52]], ["qname/googleapiclient.errors.HttpError.status_code", [138, 11.381]], ["name/googleapiclient.errors.HttpError._get_reason", [139, 34.142]], ["names/googleapiclient.errors.HttpError._get_reason", [71, 3.544, 133, 4.26]], ["qname/googleapiclient.errors.HttpError._get_reason", [140, 11.381]], ["name/googleapiclient.errors.HttpError.__repr__", [141, 31.077]], ["names/googleapiclient.errors.HttpError.__repr__", [142, 6.388]], ["qname/googleapiclient.errors.HttpError.__repr__", [143, 11.381]], ["name/googleapiclient.errors.InvalidJsonError", [144, 68.284]], ["names/googleapiclient.errors.InvalidJsonError", [117, 5.365, 145, 7.744, 146, 5.988]], ["qname/googleapiclient.errors.InvalidJsonError", [147, 22.761]], ["name/googleapiclient.errors.UnknownFileType", [148, 68.284]], ["names/googleapiclient.errors.UnknownFileType", [21, 6.755, 149, 7.744, 150, 5.709]], ["qname/googleapiclient.errors.UnknownFileType", [151, 22.761]], ["name/googleapiclient.errors.UnknownLinkType", [152, 68.284]], ["names/googleapiclient.errors.UnknownLinkType", [90, 8.283, 149, 7.744, 150, 5.709]], ["qname/googleapiclient.errors.UnknownLinkType", [153, 22.761]], ["name/googleapiclient.errors.UnknownApiNameOrVersion", [154, 68.284]], ["names/googleapiclient.errors.UnknownApiNameOrVersion", [37, 4.828, 149, 5.729, 155, 5.432, 156, 5.195, 157, 6.127]], ["qname/googleapiclient.errors.UnknownApiNameOrVersion", [158, 22.761]], ["name/googleapiclient.errors.UnacceptableMimeTypeError", [159, 68.284]], ["names/googleapiclient.errors.UnacceptableMimeTypeError", [117, 4.563, 150, 4.855, 160, 7.739, 161, 6.586]], ["qname/googleapiclient.errors.UnacceptableMimeTypeError", [162, 22.761]], ["name/googleapiclient.errors.MediaUploadSizeError", [163, 68.284]], ["names/googleapiclient.errors.MediaUploadSizeError", [117, 4.563, 164, 4.398, 165, 5.38, 166, 4.653]], ["qname/googleapiclient.errors.MediaUploadSizeError", [167, 22.761]], ["name/googleapiclient.errors.ResumableUploadError", [168, 68.284]], ["names/googleapiclient.errors.ResumableUploadError", [117, 5.365, 165, 6.326, 169, 5.709]], ["qname/googleapiclient.errors.ResumableUploadError", [170, 22.761]], ["name/googleapiclient.errors.InvalidChunkSizeError", [171, 68.284]], ["names/googleapiclient.errors.InvalidChunkSizeError", [117, 4.563, 145, 6.586, 166, 4.653, 172, 6.245]], ["qname/googleapiclient.errors.InvalidChunkSizeError", [173, 22.761]], ["name/googleapiclient.errors.InvalidNotificationError", [174, 68.284]], ["names/googleapiclient.errors.InvalidNotificationError", [117, 5.365, 145, 7.744, 175, 7.343]], ["qname/googleapiclient.errors.InvalidNotificationError", [176, 22.761]], ["name/googleapiclient.errors.BatchError", [177, 68.284]], ["names/googleapiclient.errors.BatchError", [117, 6.51, 178, 8.52]], ["qname/googleapiclient.errors.BatchError", [179, 22.761]], ["name/googleapiclient.errors.BatchError.__init__", [121, 16.476]], ["names/googleapiclient.errors.BatchError.__init__", [122, 3.303]], ["qname/googleapiclient.errors.BatchError.__init__", [180, 11.381]], ["name/googleapiclient.errors.BatchError.resp", [124, 25.344]], ["names/googleapiclient.errors.BatchError.resp", [124, 5.209]], ["qname/googleapiclient.errors.BatchError.resp", [181, 11.381]], ["name/googleapiclient.errors.BatchError.content", [126, 19.755]], ["names/googleapiclient.errors.BatchError.content", [126, 4.061]], ["qname/googleapiclient.errors.BatchError.content", [182, 11.381]], ["name/googleapiclient.errors.BatchError.reason", [133, 26.346]], ["names/googleapiclient.errors.BatchError.reason", [133, 5.415]], ["qname/googleapiclient.errors.BatchError.reason", [183, 11.381]], ["name/googleapiclient.errors.BatchError.__repr__", [141, 31.077]], ["names/googleapiclient.errors.BatchError.__repr__", [142, 6.388]], ["qname/googleapiclient.errors.BatchError.__repr__", [184, 11.381]], ["name/googleapiclient.errors.UnexpectedMethodError", [185, 68.284]], ["names/googleapiclient.errors.UnexpectedMethodError", [117, 5.365, 186, 7.744, 187, 5.586]], ["qname/googleapiclient.errors.UnexpectedMethodError", [188, 22.761]], ["name/googleapiclient.errors.UnexpectedMethodError.__init__", [121, 16.476]], ["names/googleapiclient.errors.UnexpectedMethodError.__init__", [122, 3.303]], ["qname/googleapiclient.errors.UnexpectedMethodError.__init__", [189, 11.381]], ["name/googleapiclient.errors.UnexpectedBodyError", [190, 68.284]], ["names/googleapiclient.errors.UnexpectedBodyError", [117, 5.365, 186, 7.744, 191, 5.988]], ["qname/googleapiclient.errors.UnexpectedBodyError", [192, 22.761]], ["name/googleapiclient.errors.UnexpectedBodyError.__init__", [121, 16.476]], ["names/googleapiclient.errors.UnexpectedBodyError.__init__", [122, 3.303]], ["qname/googleapiclient.errors.UnexpectedBodyError.__init__", [193, 11.381]], ["name/googleapiclient.channel.EPOCH", [194, 27.55]], ["names/googleapiclient.channel.EPOCH", [194, 5.663]], ["qname/googleapiclient.channel.EPOCH", [195, 11.381]], ["name/googleapiclient.channel.CHANNEL_PARAMS", [196, 34.142]], ["names/googleapiclient.channel.CHANNEL_PARAMS", [7, 3.959, 108, 3.633]], ["qname/googleapiclient.channel.CHANNEL_PARAMS", [197, 11.381]], ["name/googleapiclient.channel.X_GOOG_CHANNEL_ID", [198, 34.142]], ["names/googleapiclient.channel.X_GOOG_CHANNEL_ID", [7, 2.775, 199, 2.986, 200, 2.986, 201, 2.428]], ["qname/googleapiclient.channel.X_GOOG_CHANNEL_ID", [202, 11.381]], ["name/googleapiclient.channel.X_GOOG_MESSAGE_NUMBER", [203, 34.142]], ["names/googleapiclient.channel.X_GOOG_MESSAGE_NUMBER", [91, 2.986, 199, 2.986, 200, 2.986, 204, 3.522]], ["qname/googleapiclient.channel.X_GOOG_MESSAGE_NUMBER", [205, 11.381]], ["name/googleapiclient.channel.X_GOOG_RESOURCE_STATE", [206, 34.142]], ["names/googleapiclient.channel.X_GOOG_RESOURCE_STATE", [199, 2.986, 200, 2.986, 207, 2.484, 208, 3.122]], ["qname/googleapiclient.channel.X_GOOG_RESOURCE_STATE", [209, 11.381]], ["name/googleapiclient.channel.X_GOOG_RESOURCE_URI", [210, 34.142]], ["names/googleapiclient.channel.X_GOOG_RESOURCE_URI", [128, 2.125, 199, 2.986, 200, 2.986, 207, 2.484]], ["qname/googleapiclient.channel.X_GOOG_RESOURCE_URI", [211, 11.381]], ["name/googleapiclient.channel.X_GOOG_RESOURCE_ID", [212, 34.142]], ["names/googleapiclient.channel.X_GOOG_RESOURCE_ID", [199, 2.986, 200, 2.986, 201, 2.428, 207, 2.484]], ["qname/googleapiclient.channel.X_GOOG_RESOURCE_ID", [213, 11.381]], ["name/googleapiclient.channel._upper_header_keys", [214, 34.142]], ["names/googleapiclient.channel._upper_header_keys", [215, 4.55, 216, 3.872, 217, 4.55]], ["qname/googleapiclient.channel._upper_header_keys", [218, 11.381]], ["name/googleapiclient.channel.Notification", [175, 55.101]], ["names/googleapiclient.channel.Notification", [175, 11.326]], ["qname/googleapiclient.channel.Notification", [219, 22.761]], ["name/googleapiclient.channel.Notification.message_number", [220, 34.142]], ["names/googleapiclient.channel.Notification.message_number", [91, 4.26, 204, 5.025]], ["qname/googleapiclient.channel.Notification.message_number", [221, 11.381]], ["name/googleapiclient.channel.Notification.state", [208, 27.55]], ["names/googleapiclient.channel.Notification.state", [208, 5.663]], ["qname/googleapiclient.channel.Notification.state", [222, 11.381]], ["name/googleapiclient.channel.Notification.uri", [128, 18.752]], ["names/googleapiclient.channel.Notification.uri", [128, 3.855]], ["qname/googleapiclient.channel.Notification.uri", [223, 11.381]], ["name/googleapiclient.channel.Notification.resource_id", [224, 31.077]], ["names/googleapiclient.channel.Notification.resource_id", [201, 3.463, 207, 3.544]], ["qname/googleapiclient.channel.Notification.resource_id", [225, 11.381]], ["name/googleapiclient.channel.Notification.__init__", [121, 16.476]], ["names/googleapiclient.channel.Notification.__init__", [122, 3.303]], ["qname/googleapiclient.channel.Notification.__init__", [226, 11.381]], ["name/googleapiclient.channel.Notification.resource_uri", [227, 31.077]], ["names/googleapiclient.channel.Notification.resource_uri", [128, 3.032, 207, 3.544]], ["qname/googleapiclient.channel.Notification.resource_uri", [228, 11.381]], ["name/googleapiclient.channel.Channel", [7, 48.971]], ["names/googleapiclient.channel.Channel", [7, 10.066]], ["qname/googleapiclient.channel.Channel", [229, 22.761]], ["name/googleapiclient.channel.Channel.type", [150, 21.421]], ["names/googleapiclient.channel.Channel.type", [150, 4.403]], ["qname/googleapiclient.channel.Channel.type", [230, 11.381]], ["name/googleapiclient.channel.Channel.id", [201, 21.421]], ["names/googleapiclient.channel.Channel.id", [201, 4.403]], ["qname/googleapiclient.channel.Channel.id", [231, 11.381]], ["name/googleapiclient.channel.Channel.token", [232, 27.55]], ["names/googleapiclient.channel.Channel.token", [232, 5.663]], ["qname/googleapiclient.channel.Channel.token", [233, 11.381]], ["name/googleapiclient.channel.Channel.address", [234, 31.077]], ["names/googleapiclient.channel.Channel.address", [234, 6.388]], ["qname/googleapiclient.channel.Channel.address", [235, 11.381]], ["name/googleapiclient.channel.Channel.expiration", [236, 31.077]], ["names/googleapiclient.channel.Channel.expiration", [236, 6.388]], ["qname/googleapiclient.channel.Channel.expiration", [237, 11.381]], ["name/googleapiclient.channel.Channel.params", [108, 22.467]], ["names/googleapiclient.channel.Channel.params", [108, 4.618]], ["qname/googleapiclient.channel.Channel.params", [238, 11.381]], ["name/googleapiclient.channel.Channel.resource_id", [224, 31.077]], ["names/googleapiclient.channel.Channel.resource_id", [201, 3.463, 207, 3.544]], ["qname/googleapiclient.channel.Channel.resource_id", [239, 11.381]], ["name/googleapiclient.channel.Channel.resource_uri", [227, 31.077]], ["names/googleapiclient.channel.Channel.resource_uri", [128, 3.032, 207, 3.544]], ["qname/googleapiclient.channel.Channel.resource_uri", [240, 11.381]], ["name/googleapiclient.channel.Channel.__init__", [121, 16.476]], ["names/googleapiclient.channel.Channel.__init__", [122, 3.303]], ["qname/googleapiclient.channel.Channel.__init__", [241, 11.381]], ["name/googleapiclient.channel.Channel.body", [191, 22.467]], ["names/googleapiclient.channel.Channel.body", [191, 4.618]], ["qname/googleapiclient.channel.Channel.body", [242, 11.381]], ["name/googleapiclient.channel.Channel.update", [106, 29.058]], ["names/googleapiclient.channel.Channel.update", [106, 5.973]], ["qname/googleapiclient.channel.Channel.update", [243, 11.381]], ["name/googleapiclient.channel.notification_from_headers", [244, 34.142]], ["names/googleapiclient.channel.notification_from_headers", [48, 3.074, 175, 3.671, 245, 3.263]], ["qname/googleapiclient.channel.notification_from_headers", [246, 11.381]], ["name/googleapiclient.channel.new_webhook_channel", [247, 34.142]], ["names/googleapiclient.channel.new_webhook_channel", [7, 3.263, 248, 3.872, 249, 4.55]], ["qname/googleapiclient.channel.new_webhook_channel", [250, 11.381]], ["name/googleapiclient.discovery.__author__", [114, 24.486]], ["names/googleapiclient.discovery.__author__", [115, 5.033]], ["qname/googleapiclient.discovery.__author__", [251, 11.381]], ["name/googleapiclient.discovery.HAS_UNIVERSE", [252, 34.142]], ["names/googleapiclient.discovery.HAS_UNIVERSE", [40, 4.26, 253, 4.26]], ["qname/googleapiclient.discovery.HAS_UNIVERSE", [254, 11.381]], ["name/googleapiclient.mimeparse.__version__", [255, 31.077]], ["names/googleapiclient.mimeparse.__version__", [37, 5.033]], ["qname/googleapiclient.mimeparse.__version__", [256, 11.381]], ["name/googleapiclient.mimeparse.__author__", [114, 24.486]], ["names/googleapiclient.mimeparse.__author__", [115, 5.033]], ["qname/googleapiclient.mimeparse.__author__", [257, 11.381]], ["name/googleapiclient.mimeparse.__email__", [258, 34.142]], ["names/googleapiclient.mimeparse.__email__", [259, 7.018]], ["qname/googleapiclient.mimeparse.__email__", [260, 11.381]], ["name/googleapiclient.mimeparse.__license__", [261, 34.142]], ["names/googleapiclient.mimeparse.__license__", [262, 7.018]], ["qname/googleapiclient.mimeparse.__license__", [263, 11.381]], ["name/googleapiclient.mimeparse.__credits__", [264, 34.142]], ["names/googleapiclient.mimeparse.__credits__", [265, 7.018]], ["qname/googleapiclient.mimeparse.__credits__", [266, 11.381]], ["name/googleapiclient.mimeparse.parse_mime_type", [267, 34.142]], ["names/googleapiclient.mimeparse.parse_mime_type", [101, 3.872, 150, 2.854, 161, 3.872]], ["qname/googleapiclient.mimeparse.parse_mime_type", [268, 11.381]], ["name/googleapiclient.mimeparse.parse_media_range", [269, 34.142]], ["names/googleapiclient.mimeparse.parse_media_range", [101, 3.872, 164, 2.585, 270, 4.55]], ["qname/googleapiclient.mimeparse.parse_media_range", [271, 11.381]], ["name/googleapiclient.mimeparse.fitness_and_quality_parsed", [272, 34.142]], ["names/googleapiclient.mimeparse.fitness_and_quality_parsed", [273, 3.869, 274, 3.522, 275, 3.122, 276, 3.522]], ["qname/googleapiclient.mimeparse.fitness_and_quality_parsed", [277, 11.381]], ["name/googleapiclient.mimeparse.quality_parsed", [278, 34.142]], ["names/googleapiclient.mimeparse.quality_parsed", [275, 4.455, 276, 5.025]], ["qname/googleapiclient.mimeparse.quality_parsed", [279, 11.381]], ["name/googleapiclient.mimeparse.quality", [275, 27.55]], ["names/googleapiclient.mimeparse.quality", [275, 5.663]], ["qname/googleapiclient.mimeparse.quality", [280, 11.381]], ["name/googleapiclient.mimeparse.best_match", [281, 34.142]], ["names/googleapiclient.mimeparse.best_match", [282, 5.52, 283, 5.52]], ["qname/googleapiclient.mimeparse.best_match", [284, 11.381]], ["name/googleapiclient.mimeparse._filter_blank", [285, 34.142]], ["names/googleapiclient.mimeparse._filter_blank", [286, 5.52, 287, 5.52]], ["qname/googleapiclient.mimeparse._filter_blank", [288, 11.381]], ["name/googleapiclient.http.__author__", [114, 24.486]], ["names/googleapiclient.http.__author__", [115, 5.033]], ["qname/googleapiclient.http.__author__", [289, 11.381]], ["name/googleapiclient.model.__author__", [114, 24.486]], ["names/googleapiclient.model.__author__", [115, 5.033]], ["qname/googleapiclient.model.__author__", [290, 11.381]], ["name/googleapiclient.version.__version__", [255, 31.077]], ["names/googleapiclient.version.__version__", [37, 5.033]], ["qname/googleapiclient.version.__version__", [291, 11.381]], ["name/googleapiclient.model._PY_VERSION", [292, 34.142]], ["names/googleapiclient.model._PY_VERSION", [37, 3.959, 293, 5.52]], ["qname/googleapiclient.model._PY_VERSION", [294, 11.381]], ["name/googleapiclient.model.LOGGER", [73, 20.53]], ["names/googleapiclient.model.LOGGER", [73, 4.22]], ["qname/googleapiclient.model.LOGGER", [295, 11.381]], ["name/googleapiclient.model.dump_request_response", [296, 34.142]], ["names/googleapiclient.model.dump_request_response", [297, 4.55, 298, 2.499, 299, 2.585]], ["qname/googleapiclient.model.dump_request_response", [300, 11.381]], ["name/googleapiclient.model._abstract", [301, 34.142]], ["names/googleapiclient.model._abstract", [302, 7.018]], ["qname/googleapiclient.model._abstract", [303, 11.381]], ["name/googleapiclient.model.Model", [29, 44.933]], ["names/googleapiclient.model.Model", [29, 9.236]], ["qname/googleapiclient.model.Model", [304, 22.761]], ["name/googleapiclient.model.Model.request", [298, 18.752]], ["names/googleapiclient.model.Model.request", [298, 3.855]], ["qname/googleapiclient.model.Model.request", [305, 11.381]], ["name/googleapiclient.model.Model.response", [299, 19.402]], ["names/googleapiclient.model.Model.response", [299, 3.988]], ["qname/googleapiclient.model.Model.response", [306, 11.381]], ["name/googleapiclient.model.BaseModel", [307, 68.284]], ["names/googleapiclient.model.BaseModel", [18, 7.675, 29, 7.265]], ["qname/googleapiclient.model.BaseModel", [308, 22.761]], ["name/googleapiclient.model.BaseModel.accept", [309, 22.467]], ["names/googleapiclient.model.BaseModel.accept", [309, 4.618]], ["qname/googleapiclient.model.BaseModel.accept", [310, 11.381]], ["name/googleapiclient.model.BaseModel.content_type", [311, 26.346]], ["names/googleapiclient.model.BaseModel.content_type", [126, 3.194, 150, 3.463]], ["qname/googleapiclient.model.BaseModel.content_type", [312, 11.381]], ["name/googleapiclient.model.BaseModel.no_content_response", [313, 26.346]], ["names/googleapiclient.model.BaseModel.no_content_response", [126, 2.632, 299, 2.585, 314, 3.511]], ["qname/googleapiclient.model.BaseModel.no_content_response", [315, 11.381]], ["name/googleapiclient.model.BaseModel.alt_param", [316, 26.346]], ["names/googleapiclient.model.BaseModel.alt_param", [317, 4.26, 318, 4.098]], ["qname/googleapiclient.model.BaseModel.alt_param", [319, 11.381]], ["name/googleapiclient.model.BaseModel._log_request", [320, 34.142]], ["names/googleapiclient.model.BaseModel._log_request", [298, 3.032, 321, 5.025]], ["qname/googleapiclient.model.BaseModel._log_request", [322, 11.381]], ["name/googleapiclient.model.BaseModel.request", [298, 18.752]], ["names/googleapiclient.model.BaseModel.request", [298, 3.855]], ["qname/googleapiclient.model.BaseModel.request", [323, 11.381]], ["name/googleapiclient.model.BaseModel._build_query", [324, 34.142]], ["names/googleapiclient.model.BaseModel._build_query", [107, 4.098, 325, 4.26]], ["qname/googleapiclient.model.BaseModel._build_query", [326, 11.381]], ["name/googleapiclient.model.BaseModel._log_response", [327, 34.142]], ["names/googleapiclient.model.BaseModel._log_response", [299, 3.137, 321, 5.025]], ["qname/googleapiclient.model.BaseModel._log_response", [328, 11.381]], ["name/googleapiclient.model.BaseModel.response", [299, 19.402]], ["names/googleapiclient.model.BaseModel.response", [299, 3.988]], ["qname/googleapiclient.model.BaseModel.response", [329, 11.381]], ["name/googleapiclient.model.BaseModel.serialize", [330, 24.486]], ["names/googleapiclient.model.BaseModel.serialize", [330, 5.033]], ["qname/googleapiclient.model.BaseModel.serialize", [331, 11.381]], ["name/googleapiclient.model.BaseModel.deserialize", [332, 21.921]], ["names/googleapiclient.model.BaseModel.deserialize", [332, 4.506]], ["qname/googleapiclient.model.BaseModel.deserialize", [333, 11.381]], ["name/googleapiclient.model.JsonModel", [334, 68.284]], ["names/googleapiclient.model.JsonModel", [29, 7.265, 146, 7.265]], ["qname/googleapiclient.model.JsonModel", [335, 22.761]], ["name/googleapiclient.model.JsonModel.accept", [309, 22.467]], ["names/googleapiclient.model.JsonModel.accept", [309, 4.618]], ["qname/googleapiclient.model.JsonModel.accept", [336, 11.381]], ["name/googleapiclient.model.JsonModel.content_type", [311, 26.346]], ["names/googleapiclient.model.JsonModel.content_type", [126, 3.194, 150, 3.463]], ["qname/googleapiclient.model.JsonModel.content_type", [337, 11.381]], ["name/googleapiclient.model.JsonModel.alt_param", [316, 26.346]], ["names/googleapiclient.model.JsonModel.alt_param", [317, 4.26, 318, 4.098]], ["qname/googleapiclient.model.JsonModel.alt_param", [338, 11.381]], ["name/googleapiclient.model.JsonModel.__init__", [121, 16.476]], ["names/googleapiclient.model.JsonModel.__init__", [122, 3.303]], ["qname/googleapiclient.model.JsonModel.__init__", [339, 11.381]], ["name/googleapiclient.model.JsonModel._data_wrapper", [340, 34.142]], ["names/googleapiclient.model.JsonModel._data_wrapper", [341, 4.698, 342, 5.52]], ["qname/googleapiclient.model.JsonModel._data_wrapper", [343, 11.381]], ["name/googleapiclient.model.JsonModel.serialize", [330, 24.486]], ["names/googleapiclient.model.JsonModel.serialize", [330, 5.033]], ["qname/googleapiclient.model.JsonModel.serialize", [344, 11.381]], ["name/googleapiclient.model.JsonModel.deserialize", [332, 21.921]], ["names/googleapiclient.model.JsonModel.deserialize", [332, 4.506]], ["qname/googleapiclient.model.JsonModel.deserialize", [345, 11.381]], ["name/googleapiclient.model.JsonModel.no_content_response", [313, 26.346]], ["names/googleapiclient.model.JsonModel.no_content_response", [126, 2.632, 299, 2.585, 314, 3.511]], ["qname/googleapiclient.model.JsonModel.no_content_response", [346, 11.381]], ["name/googleapiclient.model.RawModel", [347, 68.284]], ["names/googleapiclient.model.RawModel", [29, 7.265, 348, 11.041]], ["qname/googleapiclient.model.RawModel", [349, 22.761]], ["name/googleapiclient.model.RawModel.accept", [309, 22.467]], ["names/googleapiclient.model.RawModel.accept", [309, 4.618]], ["qname/googleapiclient.model.RawModel.accept", [350, 11.381]], ["name/googleapiclient.model.RawModel.content_type", [311, 26.346]], ["names/googleapiclient.model.RawModel.content_type", [126, 3.194, 150, 3.463]], ["qname/googleapiclient.model.RawModel.content_type", [351, 11.381]], ["name/googleapiclient.model.RawModel.alt_param", [316, 26.346]], ["names/googleapiclient.model.RawModel.alt_param", [317, 4.26, 318, 4.098]], ["qname/googleapiclient.model.RawModel.alt_param", [352, 11.381]], ["name/googleapiclient.model.RawModel.deserialize", [332, 21.921]], ["names/googleapiclient.model.RawModel.deserialize", [332, 4.506]], ["qname/googleapiclient.model.RawModel.deserialize", [353, 11.381]], ["name/googleapiclient.model.RawModel.no_content_response", [313, 26.346]], ["names/googleapiclient.model.RawModel.no_content_response", [126, 2.632, 299, 2.585, 314, 3.511]], ["qname/googleapiclient.model.RawModel.no_content_response", [354, 11.381]], ["name/googleapiclient.model.MediaModel", [355, 68.284]], ["names/googleapiclient.model.MediaModel", [29, 7.265, 164, 6.274]], ["qname/googleapiclient.model.MediaModel", [356, 22.761]], ["name/googleapiclient.model.MediaModel.accept", [309, 22.467]], ["names/googleapiclient.model.MediaModel.accept", [309, 4.618]], ["qname/googleapiclient.model.MediaModel.accept", [357, 11.381]], ["name/googleapiclient.model.MediaModel.content_type", [311, 26.346]], ["names/googleapiclient.model.MediaModel.content_type", [126, 3.194, 150, 3.463]], ["qname/googleapiclient.model.MediaModel.content_type", [358, 11.381]], ["name/googleapiclient.model.MediaModel.alt_param", [316, 26.346]], ["names/googleapiclient.model.MediaModel.alt_param", [317, 4.26, 318, 4.098]], ["qname/googleapiclient.model.MediaModel.alt_param", [359, 11.381]], ["name/googleapiclient.model.MediaModel.deserialize", [332, 21.921]], ["names/googleapiclient.model.MediaModel.deserialize", [332, 4.506]], ["qname/googleapiclient.model.MediaModel.deserialize", [360, 11.381]], ["name/googleapiclient.model.MediaModel.no_content_response", [313, 26.346]], ["names/googleapiclient.model.MediaModel.no_content_response", [126, 2.632, 299, 2.585, 314, 3.511]], ["qname/googleapiclient.model.MediaModel.no_content_response", [361, 11.381]], ["name/googleapiclient.model.ProtocolBufferModel", [362, 68.284]], ["names/googleapiclient.model.ProtocolBufferModel", [29, 5.988, 363, 8.283, 364, 8.283]], ["qname/googleapiclient.model.ProtocolBufferModel", [365, 22.761]], ["name/googleapiclient.model.ProtocolBufferModel.accept", [309, 22.467]], ["names/googleapiclient.model.ProtocolBufferModel.accept", [309, 4.618]], ["qname/googleapiclient.model.ProtocolBufferModel.accept", [366, 11.381]], ["name/googleapiclient.model.ProtocolBufferModel.content_type", [311, 26.346]], ["names/googleapiclient.model.ProtocolBufferModel.content_type", [126, 3.194, 150, 3.463]], ["qname/googleapiclient.model.ProtocolBufferModel.content_type", [367, 11.381]], ["name/googleapiclient.model.ProtocolBufferModel.alt_param", [316, 26.346]], ["names/googleapiclient.model.ProtocolBufferModel.alt_param", [317, 4.26, 318, 4.098]], ["qname/googleapiclient.model.ProtocolBufferModel.alt_param", [368, 11.381]], ["name/googleapiclient.model.ProtocolBufferModel.__init__", [121, 16.476]], ["names/googleapiclient.model.ProtocolBufferModel.__init__", [122, 3.303]], ["qname/googleapiclient.model.ProtocolBufferModel.__init__", [369, 11.381]], ["name/googleapiclient.model.ProtocolBufferModel._protocol_buffer", [370, 34.142]], ["names/googleapiclient.model.ProtocolBufferModel._protocol_buffer", [363, 5.025, 364, 5.025]], ["qname/googleapiclient.model.ProtocolBufferModel._protocol_buffer", [371, 11.381]], ["name/googleapiclient.model.ProtocolBufferModel.serialize", [330, 24.486]], ["names/googleapiclient.model.ProtocolBufferModel.serialize", [330, 5.033]], ["qname/googleapiclient.model.ProtocolBufferModel.serialize", [372, 11.381]], ["name/googleapiclient.model.ProtocolBufferModel.deserialize", [332, 21.921]], ["names/googleapiclient.model.ProtocolBufferModel.deserialize", [332, 4.506]], ["qname/googleapiclient.model.ProtocolBufferModel.deserialize", [373, 11.381]], ["name/googleapiclient.model.ProtocolBufferModel.no_content_response", [313, 26.346]], ["names/googleapiclient.model.ProtocolBufferModel.no_content_response", [126, 2.632, 299, 2.585, 314, 3.511]], ["qname/googleapiclient.model.ProtocolBufferModel.no_content_response", [374, 11.381]], ["name/googleapiclient.model.makepatch", [375, 31.077]], ["names/googleapiclient.model.makepatch", [375, 6.388]], ["qname/googleapiclient.model.makepatch", [376, 11.381]], ["name/googleapiclient.http.LOGGER", [73, 20.53]], ["names/googleapiclient.http.LOGGER", [73, 4.22]], ["qname/googleapiclient.http.LOGGER", [377, 11.381]], ["name/googleapiclient.http.DEFAULT_CHUNK_SIZE", [378, 34.142]], ["names/googleapiclient.http.DEFAULT_CHUNK_SIZE", [51, 3.074, 166, 2.736, 172, 3.671]], ["qname/googleapiclient.http.DEFAULT_CHUNK_SIZE", [379, 11.381]], ["name/googleapiclient.http.MAX_URI_LENGTH", [380, 34.142]], ["names/googleapiclient.http.MAX_URI_LENGTH", [128, 2.499, 381, 3.511, 382, 4.55]], ["qname/googleapiclient.http.MAX_URI_LENGTH", [383, 11.381]], ["name/googleapiclient.http.MAX_BATCH_LIMIT", [384, 34.142]], ["names/googleapiclient.http.MAX_BATCH_LIMIT", [178, 3.511, 381, 3.511, 385, 4.55]], ["qname/googleapiclient.http.MAX_BATCH_LIMIT", [386, 11.381]], ["name/googleapiclient.http._TOO_MANY_REQUESTS", [387, 34.142]], ["names/googleapiclient.http._TOO_MANY_REQUESTS", [388, 4.55, 389, 4.55, 390, 4.141]], ["qname/googleapiclient.http._TOO_MANY_REQUESTS", [391, 11.381]], ["name/googleapiclient.http.DEFAULT_HTTP_TIMEOUT_SEC", [392, 34.142]], ["names/googleapiclient.http.DEFAULT_HTTP_TIMEOUT_SEC", [25, 2.239, 51, 2.614, 393, 3.869, 394, 3.869]], ["qname/googleapiclient.http.DEFAULT_HTTP_TIMEOUT_SEC", [395, 11.381]], ["name/googleapiclient.http._LEGACY_BATCH_URI", [396, 34.142]], ["names/googleapiclient.http._LEGACY_BATCH_URI", [128, 2.499, 178, 3.511, 397, 4.55]], ["qname/googleapiclient.http._LEGACY_BATCH_URI", [398, 11.381]], ["name/googleapiclient.http._should_retry_response", [399, 34.142]], ["names/googleapiclient.http._should_retry_response", [299, 2.585, 400, 4.55, 401, 4.141]], ["qname/googleapiclient.http._should_retry_response", [402, 11.381]], ["name/googleapiclient.http._retry_request", [403, 34.142]], ["names/googleapiclient.http._retry_request", [298, 3.032, 401, 5.025]], ["qname/googleapiclient.http._retry_request", [404, 11.381]], ["name/googleapiclient.http.MediaUploadProgress", [405, 68.284]], ["names/googleapiclient.http.MediaUploadProgress", [164, 5.171, 165, 6.326, 406, 5.988]], ["qname/googleapiclient.http.MediaUploadProgress", [407, 22.761]], ["name/googleapiclient.http.MediaUploadProgress.__init__", [121, 16.476]], ["names/googleapiclient.http.MediaUploadProgress.__init__", [122, 3.303]], ["qname/googleapiclient.http.MediaUploadProgress.__init__", [408, 11.381]], ["name/googleapiclient.http.MediaUploadProgress.resumable_progress", [409, 29.058]], ["names/googleapiclient.http.MediaUploadProgress.resumable_progress", [169, 3.463, 406, 3.633]], ["qname/googleapiclient.http.MediaUploadProgress.resumable_progress", [410, 11.381]], ["name/googleapiclient.http.MediaUploadProgress.total_size", [411, 31.077]], ["names/googleapiclient.http.MediaUploadProgress.total_size", [166, 3.319, 412, 4.698]], ["qname/googleapiclient.http.MediaUploadProgress.total_size", [413, 11.381]], ["name/googleapiclient.http.MediaUploadProgress.progress", [406, 22.467]], ["names/googleapiclient.http.MediaUploadProgress.progress", [406, 4.618]], ["qname/googleapiclient.http.MediaUploadProgress.progress", [414, 11.381]], ["name/googleapiclient.http.MediaDownloadProgress", [415, 68.284]], ["names/googleapiclient.http.MediaDownloadProgress", [164, 5.171, 406, 5.988, 416, 8.283]], ["qname/googleapiclient.http.MediaDownloadProgress", [417, 22.761]], ["name/googleapiclient.http.MediaDownloadProgress.__init__", [121, 16.476]], ["names/googleapiclient.http.MediaDownloadProgress.__init__", [122, 3.303]], ["qname/googleapiclient.http.MediaDownloadProgress.__init__", [418, 11.381]], ["name/googleapiclient.http.MediaDownloadProgress.resumable_progress", [409, 29.058]], ["names/googleapiclient.http.MediaDownloadProgress.resumable_progress", [169, 3.463, 406, 3.633]], ["qname/googleapiclient.http.MediaDownloadProgress.resumable_progress", [419, 11.381]], ["name/googleapiclient.http.MediaDownloadProgress.total_size", [411, 31.077]], ["names/googleapiclient.http.MediaDownloadProgress.total_size", [166, 3.319, 412, 4.698]], ["qname/googleapiclient.http.MediaDownloadProgress.total_size", [420, 11.381]], ["name/googleapiclient.http.MediaDownloadProgress.progress", [406, 22.467]], ["names/googleapiclient.http.MediaDownloadProgress.progress", [406, 4.618]], ["qname/googleapiclient.http.MediaDownloadProgress.progress", [421, 11.381]], ["name/googleapiclient.http.MediaUpload", [422, 68.284]], ["names/googleapiclient.http.MediaUpload", [164, 6.274, 165, 7.675]], ["qname/googleapiclient.http.MediaUpload", [423, 22.761]], ["name/googleapiclient.http.MediaUpload.chunksize", [424, 24.486]], ["names/googleapiclient.http.MediaUpload.chunksize", [424, 5.033]], ["qname/googleapiclient.http.MediaUpload.chunksize", [425, 11.381]], ["name/googleapiclient.http.MediaUpload.mimetype", [426, 26.346]], ["names/googleapiclient.http.MediaUpload.mimetype", [426, 5.415]], ["qname/googleapiclient.http.MediaUpload.mimetype", [427, 11.381]], ["name/googleapiclient.http.MediaUpload.size", [166, 20.53]], ["names/googleapiclient.http.MediaUpload.size", [166, 4.22]], ["qname/googleapiclient.http.MediaUpload.size", [428, 11.381]], ["name/googleapiclient.http.MediaUpload.resumable", [169, 21.421]], ["names/googleapiclient.http.MediaUpload.resumable", [169, 4.403]], ["qname/googleapiclient.http.MediaUpload.resumable", [429, 11.381]], ["name/googleapiclient.http.MediaUpload.getbytes", [430, 27.55]], ["names/googleapiclient.http.MediaUpload.getbytes", [430, 5.663]], ["qname/googleapiclient.http.MediaUpload.getbytes", [431, 11.381]], ["name/googleapiclient.http.MediaUpload.has_stream", [432, 31.077]], ["names/googleapiclient.http.MediaUpload.has_stream", [40, 4.26, 433, 3.838]], ["qname/googleapiclient.http.MediaUpload.has_stream", [434, 11.381]], ["name/googleapiclient.http.MediaUpload.stream", [433, 23.735]], ["names/googleapiclient.http.MediaUpload.stream", [433, 4.879]], ["qname/googleapiclient.http.MediaUpload.stream", [435, 11.381]], ["name/googleapiclient.http.MediaUpload._to_json", [436, 34.142]], ["names/googleapiclient.http.MediaUpload._to_json", [146, 3.633, 437, 3.463]], ["qname/googleapiclient.http.MediaUpload._to_json", [438, 11.381]], ["name/googleapiclient.http.MediaUpload.to_json", [439, 27.55]], ["names/googleapiclient.http.MediaUpload.to_json", [146, 3.633, 437, 3.463]], ["qname/googleapiclient.http.MediaUpload.to_json", [440, 11.381]], ["name/googleapiclient.http.MediaUpload.new_from_json", [441, 34.142]], ["names/googleapiclient.http.MediaUpload.new_from_json", [48, 3.074, 146, 2.994, 248, 3.872]], ["qname/googleapiclient.http.MediaUpload.new_from_json", [442, 11.381]], ["name/googleapiclient.http.MediaIoBaseUpload", [443, 68.284]], ["names/googleapiclient.http.MediaIoBaseUpload", [18, 5.38, 164, 4.398, 165, 5.38, 444, 7.044]], ["qname/googleapiclient.http.MediaIoBaseUpload", [445, 22.761]], ["name/googleapiclient.http.MediaIoBaseUpload.__init__", [121, 16.476]], ["names/googleapiclient.http.MediaIoBaseUpload.__init__", [122, 3.303]], ["qname/googleapiclient.http.MediaIoBaseUpload.__init__", [446, 11.381]], ["name/googleapiclient.http.MediaIoBaseUpload._fd", [447, 29.058]], ["names/googleapiclient.http.MediaIoBaseUpload._fd", [448, 5.973]], ["qname/googleapiclient.http.MediaIoBaseUpload._fd", [449, 11.381]], ["name/googleapiclient.http.MediaIoBaseUpload._mimetype", [450, 34.142]], ["names/googleapiclient.http.MediaIoBaseUpload._mimetype", [426, 5.415]], ["qname/googleapiclient.http.MediaIoBaseUpload._mimetype", [451, 11.381]], ["name/googleapiclient.http.MediaIoBaseUpload._chunksize", [452, 29.058]], ["names/googleapiclient.http.MediaIoBaseUpload._chunksize", [424, 5.033]], ["qname/googleapiclient.http.MediaIoBaseUpload._chunksize", [453, 11.381]], ["name/googleapiclient.http.MediaIoBaseUpload._resumable", [454, 34.142]], ["names/googleapiclient.http.MediaIoBaseUpload._resumable", [169, 4.403]], ["qname/googleapiclient.http.MediaIoBaseUpload._resumable", [455, 11.381]], ["name/googleapiclient.http.MediaIoBaseUpload._size", [456, 34.142]], ["names/googleapiclient.http.MediaIoBaseUpload._size", [166, 4.22]], ["qname/googleapiclient.http.MediaIoBaseUpload._size", [457, 11.381]], ["name/googleapiclient.http.MediaIoBaseUpload.chunksize", [424, 24.486]], ["names/googleapiclient.http.MediaIoBaseUpload.chunksize", [424, 5.033]], ["qname/googleapiclient.http.MediaIoBaseUpload.chunksize", [458, 11.381]], ["name/googleapiclient.http.MediaIoBaseUpload.mimetype", [426, 26.346]], ["names/googleapiclient.http.MediaIoBaseUpload.mimetype", [426, 5.415]], ["qname/googleapiclient.http.MediaIoBaseUpload.mimetype", [459, 11.381]], ["name/googleapiclient.http.MediaIoBaseUpload.size", [166, 20.53]], ["names/googleapiclient.http.MediaIoBaseUpload.size", [166, 4.22]], ["qname/googleapiclient.http.MediaIoBaseUpload.size", [460, 11.381]], ["name/googleapiclient.http.MediaIoBaseUpload.resumable", [169, 21.421]], ["names/googleapiclient.http.MediaIoBaseUpload.resumable", [169, 4.403]], ["qname/googleapiclient.http.MediaIoBaseUpload.resumable", [461, 11.381]], ["name/googleapiclient.http.MediaIoBaseUpload.getbytes", [430, 27.55]], ["names/googleapiclient.http.MediaIoBaseUpload.getbytes", [430, 5.663]], ["qname/googleapiclient.http.MediaIoBaseUpload.getbytes", [462, 11.381]], ["name/googleapiclient.http.MediaIoBaseUpload.has_stream", [432, 31.077]], ["names/googleapiclient.http.MediaIoBaseUpload.has_stream", [40, 4.26, 433, 3.838]], ["qname/googleapiclient.http.MediaIoBaseUpload.has_stream", [463, 11.381]], ["name/googleapiclient.http.MediaIoBaseUpload.stream", [433, 23.735]], ["names/googleapiclient.http.MediaIoBaseUpload.stream", [433, 4.879]], ["qname/googleapiclient.http.MediaIoBaseUpload.stream", [464, 11.381]], ["name/googleapiclient.http.MediaIoBaseUpload.to_json", [439, 27.55]], ["names/googleapiclient.http.MediaIoBaseUpload.to_json", [146, 3.633, 437, 3.463]], ["qname/googleapiclient.http.MediaIoBaseUpload.to_json", [465, 11.381]], ["name/googleapiclient.http.MediaFileUpload", [466, 68.284]], ["names/googleapiclient.http.MediaFileUpload", [21, 6.755, 164, 5.171, 165, 6.326]], ["qname/googleapiclient.http.MediaFileUpload", [467, 22.761]], ["name/googleapiclient.http.MediaFileUpload.__init__", [121, 16.476]], ["names/googleapiclient.http.MediaFileUpload.__init__", [122, 3.303]], ["qname/googleapiclient.http.MediaFileUpload.__init__", [468, 11.381]], ["name/googleapiclient.http.MediaFileUpload._fd", [447, 29.058]], ["names/googleapiclient.http.MediaFileUpload._fd", [448, 5.973]], ["qname/googleapiclient.http.MediaFileUpload._fd", [469, 11.381]], ["name/googleapiclient.http.MediaFileUpload._filename", [470, 34.142]], ["names/googleapiclient.http.MediaFileUpload._filename", [471, 5.973]], ["qname/googleapiclient.http.MediaFileUpload._filename", [472, 11.381]], ["name/googleapiclient.http.MediaFileUpload.__del__", [473, 34.142]], ["names/googleapiclient.http.MediaFileUpload.__del__", [474, 7.018]], ["qname/googleapiclient.http.MediaFileUpload.__del__", [475, 11.381]], ["name/googleapiclient.http.MediaFileUpload.to_json", [439, 27.55]], ["names/googleapiclient.http.MediaFileUpload.to_json", [146, 3.633, 437, 3.463]], ["qname/googleapiclient.http.MediaFileUpload.to_json", [476, 11.381]], ["name/googleapiclient.http.MediaFileUpload.from_json", [477, 31.077]], ["names/googleapiclient.http.MediaFileUpload.from_json", [48, 3.73, 146, 3.633]], ["qname/googleapiclient.http.MediaFileUpload.from_json", [478, 11.381]], ["name/googleapiclient.http.MediaInMemoryUpload", [479, 68.284]], ["names/googleapiclient.http.MediaInMemoryUpload", [164, 4.398, 165, 5.38, 480, 7.044, 481, 7.739]], ["qname/googleapiclient.http.MediaInMemoryUpload", [482, 22.761]], ["name/googleapiclient.http.MediaInMemoryUpload.__init__", [121, 16.476]], ["names/googleapiclient.http.MediaInMemoryUpload.__init__", [122, 3.303]], ["qname/googleapiclient.http.MediaInMemoryUpload.__init__", [483, 11.381]], ["name/googleapiclient.http.MediaIoBaseDownload", [484, 68.284]], ["names/googleapiclient.http.MediaIoBaseDownload", [18, 5.38, 164, 4.398, 416, 7.044, 444, 7.044]], ["qname/googleapiclient.http.MediaIoBaseDownload", [485, 22.761]], ["name/googleapiclient.http.MediaIoBaseDownload.__init__", [121, 16.476]], ["names/googleapiclient.http.MediaIoBaseDownload.__init__", [122, 3.303]], ["qname/googleapiclient.http.MediaIoBaseDownload.__init__", [486, 11.381]], ["name/googleapiclient.http.MediaIoBaseDownload._fd", [447, 29.058]], ["names/googleapiclient.http.MediaIoBaseDownload._fd", [448, 5.973]], ["qname/googleapiclient.http.MediaIoBaseDownload._fd", [487, 11.381]], ["name/googleapiclient.http.MediaIoBaseDownload._request", [488, 34.142]], ["names/googleapiclient.http.MediaIoBaseDownload._request", [298, 3.855]], ["qname/googleapiclient.http.MediaIoBaseDownload._request", [489, 11.381]], ["name/googleapiclient.http.MediaIoBaseDownload._uri", [490, 34.142]], ["names/googleapiclient.http.MediaIoBaseDownload._uri", [128, 3.855]], ["qname/googleapiclient.http.MediaIoBaseDownload._uri", [491, 11.381]], ["name/googleapiclient.http.MediaIoBaseDownload._chunksize", [452, 29.058]], ["names/googleapiclient.http.MediaIoBaseDownload._chunksize", [424, 5.033]], ["qname/googleapiclient.http.MediaIoBaseDownload._chunksize", [492, 11.381]], ["name/googleapiclient.http.MediaIoBaseDownload._progress", [493, 34.142]], ["names/googleapiclient.http.MediaIoBaseDownload._progress", [406, 4.618]], ["qname/googleapiclient.http.MediaIoBaseDownload._progress", [494, 11.381]], ["name/googleapiclient.http.MediaIoBaseDownload._total_size", [495, 34.142]], ["names/googleapiclient.http.MediaIoBaseDownload._total_size", [166, 3.319, 412, 4.698]], ["qname/googleapiclient.http.MediaIoBaseDownload._total_size", [496, 11.381]], ["name/googleapiclient.http.MediaIoBaseDownload._done", [497, 34.142]], ["names/googleapiclient.http.MediaIoBaseDownload._done", [498, 7.018]], ["qname/googleapiclient.http.MediaIoBaseDownload._done", [499, 11.381]], ["name/googleapiclient.http.MediaIoBaseDownload._sleep", [500, 31.077]], ["names/googleapiclient.http.MediaIoBaseDownload._sleep", [501, 6.388]], ["qname/googleapiclient.http.MediaIoBaseDownload._sleep", [502, 11.381]], ["name/googleapiclient.http.MediaIoBaseDownload._rand", [503, 31.077]], ["names/googleapiclient.http.MediaIoBaseDownload._rand", [504, 6.388]], ["qname/googleapiclient.http.MediaIoBaseDownload._rand", [505, 11.381]], ["name/googleapiclient.http.MediaIoBaseDownload._headers", [506, 34.142]], ["names/googleapiclient.http.MediaIoBaseDownload._headers", [245, 5.033]], ["qname/googleapiclient.http.MediaIoBaseDownload._headers", [507, 11.381]], ["name/googleapiclient.http.MediaIoBaseDownload.next_chunk", [508, 31.077]], ["names/googleapiclient.http.MediaIoBaseDownload.next_chunk", [172, 4.455, 509, 4.455]], ["qname/googleapiclient.http.MediaIoBaseDownload.next_chunk", [510, 11.381]], ["name/googleapiclient.http._StreamSlice", [511, 68.284]], ["names/googleapiclient.http._StreamSlice", [433, 7.675, 512, 11.041]], ["qname/googleapiclient.http._StreamSlice", [513, 22.761]], ["name/googleapiclient.http._StreamSlice.__init__", [121, 16.476]], ["names/googleapiclient.http._StreamSlice.__init__", [122, 3.303]], ["qname/googleapiclient.http._StreamSlice.__init__", [514, 11.381]], ["name/googleapiclient.http._StreamSlice._stream", [515, 34.142]], ["names/googleapiclient.http._StreamSlice._stream", [433, 4.879]], ["qname/googleapiclient.http._StreamSlice._stream", [516, 11.381]], ["name/googleapiclient.http._StreamSlice._begin", [517, 34.142]], ["names/googleapiclient.http._StreamSlice._begin", [518, 6.388]], ["qname/googleapiclient.http._StreamSlice._begin", [519, 11.381]], ["name/googleapiclient.http._StreamSlice._chunksize", [452, 29.058]], ["names/googleapiclient.http._StreamSlice._chunksize", [424, 5.033]], ["qname/googleapiclient.http._StreamSlice._chunksize", [520, 11.381]], ["name/googleapiclient.http._StreamSlice.read", [521, 29.058]], ["names/googleapiclient.http._StreamSlice.read", [521, 5.973]], ["qname/googleapiclient.http._StreamSlice.read", [522, 11.381]], ["name/googleapiclient.http.HttpRequest", [523, 68.284]], ["names/googleapiclient.http.HttpRequest", [25, 6.388, 298, 6.064]], ["qname/googleapiclient.http.HttpRequest", [524, 22.761]], ["name/googleapiclient.http.HttpRequest.__init__", [121, 16.476]], ["names/googleapiclient.http.HttpRequest.__init__", [122, 3.303]], ["qname/googleapiclient.http.HttpRequest.__init__", [525, 11.381]], ["name/googleapiclient.http.HttpRequest.uri", [128, 18.752]], ["names/googleapiclient.http.HttpRequest.uri", [128, 3.855]], ["qname/googleapiclient.http.HttpRequest.uri", [526, 11.381]], ["name/googleapiclient.http.HttpRequest.method", [187, 20.959]], ["names/googleapiclient.http.HttpRequest.method", [187, 4.308]], ["qname/googleapiclient.http.HttpRequest.method", [527, 11.381]], ["name/googleapiclient.http.HttpRequest.body", [191, 22.467]], ["names/googleapiclient.http.HttpRequest.body", [191, 4.618]], ["qname/googleapiclient.http.HttpRequest.body", [528, 11.381]], ["name/googleapiclient.http.HttpRequest.headers", [245, 24.486]], ["names/googleapiclient.http.HttpRequest.headers", [245, 5.033]], ["qname/googleapiclient.http.HttpRequest.headers", [529, 11.381]], ["name/googleapiclient.http.HttpRequest.methodId", [530, 34.142]], ["names/googleapiclient.http.HttpRequest.methodId", [187, 3.389, 201, 3.463]], ["qname/googleapiclient.http.HttpRequest.methodId", [531, 11.381]], ["name/googleapiclient.http.HttpRequest.http", [25, 19.755]], ["names/googleapiclient.http.HttpRequest.http", [25, 4.061]], ["qname/googleapiclient.http.HttpRequest.http", [532, 11.381]], ["name/googleapiclient.http.HttpRequest.postproc", [533, 26.346]], ["names/googleapiclient.http.HttpRequest.postproc", [533, 5.415]], ["qname/googleapiclient.http.HttpRequest.postproc", [534, 11.381]], ["name/googleapiclient.http.HttpRequest.resumable", [169, 21.421]], ["names/googleapiclient.http.HttpRequest.resumable", [169, 4.403]], ["qname/googleapiclient.http.HttpRequest.resumable", [535, 11.381]], ["name/googleapiclient.http.HttpRequest.response_callbacks", [536, 34.142]], ["names/googleapiclient.http.HttpRequest.response_callbacks", [299, 3.137, 537, 5.025]], ["qname/googleapiclient.http.HttpRequest.response_callbacks", [538, 11.381]], ["name/googleapiclient.http.HttpRequest._in_error_state", [539, 34.142]], ["names/googleapiclient.http.HttpRequest._in_error_state", [117, 2.682, 208, 3.671, 480, 4.141]], ["qname/googleapiclient.http.HttpRequest._in_error_state", [540, 11.381]], ["name/googleapiclient.http.HttpRequest.body_size", [541, 34.142]], ["names/googleapiclient.http.HttpRequest.body_size", [166, 3.319, 191, 3.633]], ["qname/googleapiclient.http.HttpRequest.body_size", [542, 11.381]], ["name/googleapiclient.http.HttpRequest.resumable_uri", [543, 34.142]], ["names/googleapiclient.http.HttpRequest.resumable_uri", [128, 3.032, 169, 3.463]], ["qname/googleapiclient.http.HttpRequest.resumable_uri", [544, 11.381]], ["name/googleapiclient.http.HttpRequest.resumable_progress", [409, 29.058]], ["names/googleapiclient.http.HttpRequest.resumable_progress", [169, 3.463, 406, 3.633]], ["qname/googleapiclient.http.HttpRequest.resumable_progress", [545, 11.381]], ["name/googleapiclient.http.HttpRequest._rand", [503, 31.077]], ["names/googleapiclient.http.HttpRequest._rand", [504, 6.388]], ["qname/googleapiclient.http.HttpRequest._rand", [546, 11.381]], ["name/googleapiclient.http.HttpRequest._sleep", [500, 31.077]], ["names/googleapiclient.http.HttpRequest._sleep", [501, 6.388]], ["qname/googleapiclient.http.HttpRequest._sleep", [547, 11.381]], ["name/googleapiclient.http.HttpRequest.execute", [548, 24.486]], ["names/googleapiclient.http.HttpRequest.execute", [548, 5.033]], ["qname/googleapiclient.http.HttpRequest.execute", [549, 11.381]], ["name/googleapiclient.http.HttpRequest.add_response_callback", [550, 34.142]], ["names/googleapiclient.http.HttpRequest.add_response_callback", [111, 3.263, 299, 2.585, 551, 4.141]], ["qname/googleapiclient.http.HttpRequest.add_response_callback", [552, 11.381]], ["name/googleapiclient.http.HttpRequest.next_chunk", [508, 31.077]], ["names/googleapiclient.http.HttpRequest.next_chunk", [172, 4.455, 509, 4.455]], ["qname/googleapiclient.http.HttpRequest.next_chunk", [553, 11.381]], ["name/googleapiclient.http.HttpRequest._process_response", [554, 34.142]], ["names/googleapiclient.http.HttpRequest._process_response", [299, 3.137, 555, 5.52]], ["qname/googleapiclient.http.HttpRequest._process_response", [556, 11.381]], ["name/googleapiclient.http.HttpRequest.to_json", [439, 27.55]], ["names/googleapiclient.http.HttpRequest.to_json", [146, 3.633, 437, 3.463]], ["qname/googleapiclient.http.HttpRequest.to_json", [557, 11.381]], ["name/googleapiclient.http.HttpRequest.from_json", [477, 31.077]], ["names/googleapiclient.http.HttpRequest.from_json", [48, 3.73, 146, 3.633]], ["qname/googleapiclient.http.HttpRequest.from_json", [558, 11.381]], ["name/googleapiclient.http.HttpRequest.null_postproc", [559, 34.142]], ["names/googleapiclient.http.HttpRequest.null_postproc", [533, 4.26, 560, 5.52]], ["qname/googleapiclient.http.HttpRequest.null_postproc", [561, 11.381]], ["name/googleapiclient.http.BatchHttpRequest", [562, 68.284]], ["names/googleapiclient.http.BatchHttpRequest", [25, 5.265, 178, 7.022, 298, 4.998]], ["qname/googleapiclient.http.BatchHttpRequest", [563, 22.761]], ["name/googleapiclient.http.BatchHttpRequest.__init__", [121, 16.476]], ["names/googleapiclient.http.BatchHttpRequest.__init__", [122, 3.303]], ["qname/googleapiclient.http.BatchHttpRequest.__init__", [564, 11.381]], ["name/googleapiclient.http.BatchHttpRequest._batch_uri", [565, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._batch_uri", [128, 3.032, 178, 4.26]], ["qname/googleapiclient.http.BatchHttpRequest._batch_uri", [566, 11.381]], ["name/googleapiclient.http.BatchHttpRequest._callback", [567, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._callback", [551, 6.388]], ["qname/googleapiclient.http.BatchHttpRequest._callback", [568, 11.381]], ["name/googleapiclient.http.BatchHttpRequest._requests", [569, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._requests", [390, 6.388]], ["qname/googleapiclient.http.BatchHttpRequest._requests", [570, 11.381]], ["name/googleapiclient.http.BatchHttpRequest._callbacks", [571, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._callbacks", [537, 6.388]], ["qname/googleapiclient.http.BatchHttpRequest._callbacks", [572, 11.381]], ["name/googleapiclient.http.BatchHttpRequest._order", [573, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._order", [574, 7.018]], ["qname/googleapiclient.http.BatchHttpRequest._order", [575, 11.381]], ["name/googleapiclient.http.BatchHttpRequest._last_auto_id", [576, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._last_auto_id", [201, 2.854, 577, 4.55, 578, 4.55]], ["qname/googleapiclient.http.BatchHttpRequest._last_auto_id", [579, 11.381]], ["name/googleapiclient.http.BatchHttpRequest._base_id", [580, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._base_id", [18, 3.838, 201, 3.463]], ["qname/googleapiclient.http.BatchHttpRequest._base_id", [581, 11.381]], ["name/googleapiclient.http.BatchHttpRequest._responses", [582, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._responses", [583, 5.973]], ["qname/googleapiclient.http.BatchHttpRequest._responses", [584, 11.381]], ["name/googleapiclient.http.BatchHttpRequest._refreshed_credentials", [585, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._refreshed_credentials", [47, 3.633, 586, 5.52]], ["qname/googleapiclient.http.BatchHttpRequest._refreshed_credentials", [587, 11.381]], ["name/googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials", [588, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials", [47, 2.546, 61, 3.522, 64, 3.522, 274, 3.522]], ["qname/googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials", [589, 11.381]], ["name/googleapiclient.http.BatchHttpRequest._id_to_header", [590, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._id_to_header", [201, 2.854, 216, 3.872, 437, 2.854]], ["qname/googleapiclient.http.BatchHttpRequest._id_to_header", [591, 11.381]], ["name/googleapiclient.http.BatchHttpRequest._header_to_id", [592, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._header_to_id", [201, 2.854, 216, 3.872, 437, 2.854]], ["qname/googleapiclient.http.BatchHttpRequest._header_to_id", [593, 11.381]], ["name/googleapiclient.http.BatchHttpRequest._serialize_request", [594, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._serialize_request", [298, 3.032, 330, 3.959]], ["qname/googleapiclient.http.BatchHttpRequest._serialize_request", [595, 11.381]], ["name/googleapiclient.http.BatchHttpRequest._deserialize_response", [596, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._deserialize_response", [299, 3.137, 332, 3.544]], ["qname/googleapiclient.http.BatchHttpRequest._deserialize_response", [597, 11.381]], ["name/googleapiclient.http.BatchHttpRequest._new_id", [598, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._new_id", [201, 3.463, 248, 4.698]], ["qname/googleapiclient.http.BatchHttpRequest._new_id", [599, 11.381]], ["name/googleapiclient.http.BatchHttpRequest.add", [111, 24.486]], ["names/googleapiclient.http.BatchHttpRequest.add", [111, 5.033]], ["qname/googleapiclient.http.BatchHttpRequest.add", [600, 11.381]], ["name/googleapiclient.http.BatchHttpRequest._execute", [601, 34.142]], ["names/googleapiclient.http.BatchHttpRequest._execute", [548, 5.033]], ["qname/googleapiclient.http.BatchHttpRequest._execute", [602, 11.381]], ["name/googleapiclient.http.BatchHttpRequest.execute", [548, 24.486]], ["names/googleapiclient.http.BatchHttpRequest.execute", [548, 5.033]], ["qname/googleapiclient.http.BatchHttpRequest.execute", [603, 11.381]], ["name/googleapiclient.http.HttpRequestMock", [604, 68.284]], ["names/googleapiclient.http.HttpRequestMock", [25, 5.265, 298, 4.998, 605, 7.343]], ["qname/googleapiclient.http.HttpRequestMock", [606, 22.761]], ["name/googleapiclient.http.HttpRequestMock.__init__", [121, 16.476]], ["names/googleapiclient.http.HttpRequestMock.__init__", [122, 3.303]], ["qname/googleapiclient.http.HttpRequestMock.__init__", [607, 11.381]], ["name/googleapiclient.http.HttpRequestMock.resp", [124, 25.344]], ["names/googleapiclient.http.HttpRequestMock.resp", [124, 5.209]], ["qname/googleapiclient.http.HttpRequestMock.resp", [608, 11.381]], ["name/googleapiclient.http.HttpRequestMock.content", [126, 19.755]], ["names/googleapiclient.http.HttpRequestMock.content", [126, 4.061]], ["qname/googleapiclient.http.HttpRequestMock.content", [609, 11.381]], ["name/googleapiclient.http.HttpRequestMock.postproc", [533, 26.346]], ["names/googleapiclient.http.HttpRequestMock.postproc", [533, 5.415]], ["qname/googleapiclient.http.HttpRequestMock.postproc", [610, 11.381]], ["name/googleapiclient.http.HttpRequestMock.execute", [548, 24.486]], ["names/googleapiclient.http.HttpRequestMock.execute", [548, 5.033]], ["qname/googleapiclient.http.HttpRequestMock.execute", [611, 11.381]], ["name/googleapiclient.http.RequestMockBuilder", [612, 68.284]], ["names/googleapiclient.http.RequestMockBuilder", [298, 4.998, 605, 7.343, 613, 8.283]], ["qname/googleapiclient.http.RequestMockBuilder", [614, 22.761]], ["name/googleapiclient.http.RequestMockBuilder.__init__", [121, 16.476]], ["names/googleapiclient.http.RequestMockBuilder.__init__", [122, 3.303]], ["qname/googleapiclient.http.RequestMockBuilder.__init__", [615, 11.381]], ["name/googleapiclient.http.RequestMockBuilder.responses", [583, 29.058]], ["names/googleapiclient.http.RequestMockBuilder.responses", [583, 5.973]], ["qname/googleapiclient.http.RequestMockBuilder.responses", [616, 11.381]], ["name/googleapiclient.http.RequestMockBuilder.check_unexpected", [617, 34.142]], ["names/googleapiclient.http.RequestMockBuilder.check_unexpected", [186, 4.698, 618, 5.025]], ["qname/googleapiclient.http.RequestMockBuilder.check_unexpected", [619, 11.381]], ["name/googleapiclient.http.RequestMockBuilder.__call__", [620, 34.142]], ["names/googleapiclient.http.RequestMockBuilder.__call__", [621, 7.018]], ["qname/googleapiclient.http.RequestMockBuilder.__call__", [622, 11.381]], ["name/googleapiclient.http.HttpMock", [623, 68.284]], ["names/googleapiclient.http.HttpMock", [25, 6.388, 605, 8.909]], ["qname/googleapiclient.http.HttpMock", [624, 22.761]], ["name/googleapiclient.http.HttpMock.__init__", [121, 16.476]], ["names/googleapiclient.http.HttpMock.__init__", [122, 3.303]], ["qname/googleapiclient.http.HttpMock.__init__", [625, 11.381]], ["name/googleapiclient.http.HttpMock.data", [341, 29.058]], ["names/googleapiclient.http.HttpMock.data", [341, 5.973]], ["qname/googleapiclient.http.HttpMock.data", [626, 11.381]], ["name/googleapiclient.http.HttpMock.response_headers", [627, 34.142]], ["names/googleapiclient.http.HttpMock.response_headers", [245, 3.959, 299, 3.137]], ["qname/googleapiclient.http.HttpMock.response_headers", [628, 11.381]], ["name/googleapiclient.http.HttpMock.headers", [245, 24.486]], ["names/googleapiclient.http.HttpMock.headers", [245, 5.033]], ["qname/googleapiclient.http.HttpMock.headers", [629, 11.381]], ["name/googleapiclient.http.HttpMock.uri", [128, 18.752]], ["names/googleapiclient.http.HttpMock.uri", [128, 3.855]], ["qname/googleapiclient.http.HttpMock.uri", [630, 11.381]], ["name/googleapiclient.http.HttpMock.method", [187, 20.959]], ["names/googleapiclient.http.HttpMock.method", [187, 4.308]], ["qname/googleapiclient.http.HttpMock.method", [631, 11.381]], ["name/googleapiclient.http.HttpMock.body", [191, 22.467]], ["names/googleapiclient.http.HttpMock.body", [191, 4.618]], ["qname/googleapiclient.http.HttpMock.body", [632, 11.381]], ["name/googleapiclient.http.HttpMock.request", [298, 18.752]], ["names/googleapiclient.http.HttpMock.request", [298, 3.855]], ["qname/googleapiclient.http.HttpMock.request", [633, 11.381]], ["name/googleapiclient.http.HttpMock.close", [634, 27.55]], ["names/googleapiclient.http.HttpMock.close", [634, 5.663]], ["qname/googleapiclient.http.HttpMock.close", [635, 11.381]], ["name/googleapiclient.http.HttpMockSequence", [636, 68.284]], ["names/googleapiclient.http.HttpMockSequence", [25, 5.265, 605, 7.343, 637, 8.283]], ["qname/googleapiclient.http.HttpMockSequence", [638, 22.761]], ["name/googleapiclient.http.HttpMockSequence.__init__", [121, 16.476]], ["names/googleapiclient.http.HttpMockSequence.__init__", [122, 3.303]], ["qname/googleapiclient.http.HttpMockSequence.__init__", [639, 11.381]], ["name/googleapiclient.http.HttpMockSequence._iterable", [640, 34.142]], ["names/googleapiclient.http.HttpMockSequence._iterable", [641, 7.018]], ["qname/googleapiclient.http.HttpMockSequence._iterable", [642, 11.381]], ["name/googleapiclient.http.HttpMockSequence.follow_redirects", [643, 34.142]], ["names/googleapiclient.http.HttpMockSequence.follow_redirects", [644, 5.52, 645, 5.52]], ["qname/googleapiclient.http.HttpMockSequence.follow_redirects", [646, 11.381]], ["name/googleapiclient.http.HttpMockSequence.request_sequence", [647, 34.142]], ["names/googleapiclient.http.HttpMockSequence.request_sequence", [298, 3.032, 637, 5.025]], ["qname/googleapiclient.http.HttpMockSequence.request_sequence", [648, 11.381]], ["name/googleapiclient.http.HttpMockSequence.request", [298, 18.752]], ["names/googleapiclient.http.HttpMockSequence.request", [298, 3.855]], ["qname/googleapiclient.http.HttpMockSequence.request", [649, 11.381]], ["name/googleapiclient.http.set_user_agent", [650, 34.142]], ["names/googleapiclient.http.set_user_agent", [86, 2.921, 651, 4.55, 652, 4.55]], ["qname/googleapiclient.http.set_user_agent", [653, 11.381]], ["name/googleapiclient.http.tunnel_patch", [654, 34.142]], ["names/googleapiclient.http.tunnel_patch", [655, 5.52, 656, 5.52]], ["qname/googleapiclient.http.tunnel_patch", [657, 11.381]], ["name/googleapiclient.http.build_http", [658, 34.142]], ["names/googleapiclient.http.build_http", [25, 3.194, 325, 4.26]], ["qname/googleapiclient.http.build_http", [659, 11.381]], ["name/googleapiclient.schema.__author__", [114, 24.486]], ["names/googleapiclient.schema.__author__", [115, 5.033]], ["qname/googleapiclient.schema.__author__", [660, 11.381]], ["name/googleapiclient.schema.Schemas", [661, 55.101]], ["names/googleapiclient.schema.Schemas", [661, 11.326]], ["qname/googleapiclient.schema.Schemas", [662, 22.761]], ["name/googleapiclient.schema.Schemas.__init__", [121, 16.476]], ["names/googleapiclient.schema.Schemas.__init__", [122, 3.303]], ["qname/googleapiclient.schema.Schemas.__init__", [663, 11.381]], ["name/googleapiclient.schema.Schemas.schemas", [661, 27.55]], ["names/googleapiclient.schema.Schemas.schemas", [661, 5.663]], ["qname/googleapiclient.schema.Schemas.schemas", [664, 11.381]], ["name/googleapiclient.schema.Schemas.pretty", [665, 25.344]], ["names/googleapiclient.schema.Schemas.pretty", [665, 5.209]], ["qname/googleapiclient.schema.Schemas.pretty", [666, 11.381]], ["name/googleapiclient.schema.Schemas._prettyPrintByName", [667, 34.142]], ["names/googleapiclient.schema.Schemas._prettyPrintByName", [156, 2.986, 665, 2.872, 668, 3.122, 669, 3.522]], ["qname/googleapiclient.schema.Schemas._prettyPrintByName", [670, 11.381]], ["name/googleapiclient.schema.Schemas.prettyPrintByName", [671, 34.142]], ["names/googleapiclient.schema.Schemas.prettyPrintByName", [156, 2.986, 665, 2.872, 668, 3.122, 669, 3.522]], ["qname/googleapiclient.schema.Schemas.prettyPrintByName", [672, 11.381]], ["name/googleapiclient.schema.Schemas._prettyPrintSchema", [673, 34.142]], ["names/googleapiclient.schema.Schemas._prettyPrintSchema", [35, 3.163, 665, 3.377, 668, 3.671]], ["qname/googleapiclient.schema.Schemas._prettyPrintSchema", [674, 11.381]], ["name/googleapiclient.schema.Schemas.prettyPrintSchema", [675, 34.142]], ["names/googleapiclient.schema.Schemas.prettyPrintSchema", [35, 3.163, 665, 3.377, 668, 3.671]], ["qname/googleapiclient.schema.Schemas.prettyPrintSchema", [676, 11.381]], ["name/googleapiclient.schema.Schemas.get", [71, 21.921]], ["names/googleapiclient.schema.Schemas.get", [71, 4.506]], ["qname/googleapiclient.schema.Schemas.get", [677, 11.381]], ["name/googleapiclient.schema._SchemaToStruct", [678, 68.284]], ["names/googleapiclient.schema._SchemaToStruct", [35, 6.326, 437, 5.709, 679, 9.099]], ["qname/googleapiclient.schema._SchemaToStruct", [680, 22.761]], ["name/googleapiclient.schema._SchemaToStruct.__init__", [121, 16.476]], ["names/googleapiclient.schema._SchemaToStruct.__init__", [122, 3.303]], ["qname/googleapiclient.schema._SchemaToStruct.__init__", [681, 11.381]], ["name/googleapiclient.schema._SchemaToStruct.value", [682, 25.344]], ["names/googleapiclient.schema._SchemaToStruct.value", [682, 5.209]], ["qname/googleapiclient.schema._SchemaToStruct.value", [683, 11.381]], ["name/googleapiclient.schema._SchemaToStruct.string", [684, 31.077]], ["names/googleapiclient.schema._SchemaToStruct.string", [684, 6.388]], ["qname/googleapiclient.schema._SchemaToStruct.string", [685, 11.381]], ["name/googleapiclient.schema._SchemaToStruct.schema", [35, 23.735]], ["names/googleapiclient.schema._SchemaToStruct.schema", [35, 4.879]], ["qname/googleapiclient.schema._SchemaToStruct.schema", [686, 11.381]], ["name/googleapiclient.schema._SchemaToStruct.dent", [687, 31.077]], ["names/googleapiclient.schema._SchemaToStruct.dent", [687, 6.388]], ["qname/googleapiclient.schema._SchemaToStruct.dent", [688, 11.381]], ["name/googleapiclient.schema._SchemaToStruct.from_cache", [689, 34.142]], ["names/googleapiclient.schema._SchemaToStruct.from_cache", [12, 3.319, 48, 3.73]], ["qname/googleapiclient.schema._SchemaToStruct.from_cache", [690, 11.381]], ["name/googleapiclient.schema._SchemaToStruct.seen", [691, 31.077]], ["names/googleapiclient.schema._SchemaToStruct.seen", [691, 6.388]], ["qname/googleapiclient.schema._SchemaToStruct.seen", [692, 11.381]], ["name/googleapiclient.schema._SchemaToStruct.emit", [693, 27.55]], ["names/googleapiclient.schema._SchemaToStruct.emit", [693, 5.663]], ["qname/googleapiclient.schema._SchemaToStruct.emit", [694, 11.381]], ["name/googleapiclient.schema._SchemaToStruct.emitBegin", [695, 34.142]], ["names/googleapiclient.schema._SchemaToStruct.emitBegin", [518, 5.025, 693, 4.455]], ["qname/googleapiclient.schema._SchemaToStruct.emitBegin", [696, 11.381]], ["name/googleapiclient.schema._SchemaToStruct.emitEnd", [697, 34.142]], ["names/googleapiclient.schema._SchemaToStruct.emitEnd", [693, 4.455, 698, 5.52]], ["qname/googleapiclient.schema._SchemaToStruct.emitEnd", [699, 11.381]], ["name/googleapiclient.schema._SchemaToStruct.indent", [700, 31.077]], ["names/googleapiclient.schema._SchemaToStruct.indent", [700, 6.388]], ["qname/googleapiclient.schema._SchemaToStruct.indent", [701, 11.381]], ["name/googleapiclient.schema._SchemaToStruct.undent", [702, 31.077]], ["names/googleapiclient.schema._SchemaToStruct.undent", [702, 6.388]], ["qname/googleapiclient.schema._SchemaToStruct.undent", [703, 11.381]], ["name/googleapiclient.schema._SchemaToStruct._to_str_impl", [704, 34.142]], ["names/googleapiclient.schema._SchemaToStruct._to_str_impl", [437, 2.854, 705, 4.141, 706, 4.55]], ["qname/googleapiclient.schema._SchemaToStruct._to_str_impl", [707, 11.381]], ["name/googleapiclient.schema._SchemaToStruct.to_str", [708, 34.142]], ["names/googleapiclient.schema._SchemaToStruct.to_str", [437, 3.463, 705, 5.025]], ["qname/googleapiclient.schema._SchemaToStruct.to_str", [709, 11.381]], ["name/googleapiclient.discovery.logger", [73, 20.53]], ["names/googleapiclient.discovery.logger", [73, 4.22]], ["qname/googleapiclient.discovery.logger", [710, 11.381]], ["name/googleapiclient.discovery.URITEMPLATE", [711, 31.077]], ["names/googleapiclient.discovery.URITEMPLATE", [711, 6.388]], ["qname/googleapiclient.discovery.URITEMPLATE", [712, 11.381]], ["name/googleapiclient.discovery.VARNAME", [713, 31.077]], ["names/googleapiclient.discovery.VARNAME", [713, 6.388]], ["qname/googleapiclient.discovery.VARNAME", [714, 11.381]], ["name/googleapiclient.discovery.DISCOVERY_URI", [715, 34.142]], ["names/googleapiclient.discovery.DISCOVERY_URI", [9, 3.73, 128, 3.032]], ["qname/googleapiclient.discovery.DISCOVERY_URI", [716, 11.381]], ["name/googleapiclient.discovery.V2_DISCOVERY_URI", [717, 34.142]], ["names/googleapiclient.discovery.V2_DISCOVERY_URI", [9, 3.074, 128, 2.499, 718, 4.55]], ["qname/googleapiclient.discovery.V2_DISCOVERY_URI", [719, 11.381]], ["name/googleapiclient.discovery.DEFAULT_METHOD_DOC", [720, 34.142]], ["names/googleapiclient.discovery.DEFAULT_METHOD_DOC", [51, 3.074, 187, 2.793, 721, 3.511]], ["qname/googleapiclient.discovery.DEFAULT_METHOD_DOC", [722, 11.381]], ["name/googleapiclient.discovery.HTTP_PAYLOAD_METHODS", [723, 34.142]], ["names/googleapiclient.discovery.HTTP_PAYLOAD_METHODS", [25, 2.632, 724, 4.55, 725, 3.671]], ["qname/googleapiclient.discovery.HTTP_PAYLOAD_METHODS", [726, 11.381]], ["name/googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS", [727, 34.142]], ["names/googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS", [164, 2.199, 166, 2.327, 728, 3.869, 729, 3.869]], ["qname/googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS", [730, 11.381]], ["name/googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE", [731, 34.142]], ["names/googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE", [51, 2.614, 112, 2.986, 191, 2.546, 682, 2.872]], ["qname/googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE", [732, 11.381]], ["name/googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE", [733, 34.142]], ["names/googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE", [51, 2.274, 112, 2.597, 164, 1.913, 191, 2.215, 682, 2.499]], ["qname/googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE", [734, 11.381]], ["name/googleapiclient.discovery.MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE", [735, 34.142]], ["names/googleapiclient.discovery.MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE", [51, 2.012, 112, 2.298, 150, 1.869, 161, 2.535, 164, 1.693, 682, 2.211]], ["qname/googleapiclient.discovery.MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE", [736, 11.381]], ["name/googleapiclient.discovery._PAGE_TOKEN_NAMES", [737, 34.142]], ["names/googleapiclient.discovery._PAGE_TOKEN_NAMES", [232, 3.671, 738, 4.141, 739, 4.55]], ["qname/googleapiclient.discovery._PAGE_TOKEN_NAMES", [740, 11.381]], ["name/googleapiclient.discovery.GOOGLE_API_USE_CLIENT_CERTIFICATE", [741, 34.142]], ["names/googleapiclient.discovery.GOOGLE_API_USE_CLIENT_CERTIFICATE", [41, 2.716, 155, 2.716, 742, 3.064, 743, 3.366, 744, 3.366]], ["qname/googleapiclient.discovery.GOOGLE_API_USE_CLIENT_CERTIFICATE", [745, 11.381]], ["name/googleapiclient.discovery.GOOGLE_API_USE_MTLS_ENDPOINT", [746, 34.142]], ["names/googleapiclient.discovery.GOOGLE_API_USE_MTLS_ENDPOINT", [41, 2.716, 155, 2.716, 742, 3.064, 747, 3.366, 748, 3.366]], ["qname/googleapiclient.discovery.GOOGLE_API_USE_MTLS_ENDPOINT", [749, 11.381]], ["name/googleapiclient.discovery.GOOGLE_CLOUD_UNIVERSE_DOMAIN", [750, 34.142]], ["names/googleapiclient.discovery.GOOGLE_CLOUD_UNIVERSE_DOMAIN", [41, 3.122, 253, 2.986, 751, 3.869, 752, 3.522]], ["qname/googleapiclient.discovery.GOOGLE_CLOUD_UNIVERSE_DOMAIN", [753, 11.381]], ["name/googleapiclient.discovery.DEFAULT_UNIVERSE", [754, 34.142]], ["names/googleapiclient.discovery.DEFAULT_UNIVERSE", [51, 3.73, 253, 4.26]], ["qname/googleapiclient.discovery.DEFAULT_UNIVERSE", [755, 11.381]], ["name/googleapiclient.discovery.STACK_QUERY_PARAMETERS", [756, 34.142]], ["names/googleapiclient.discovery.STACK_QUERY_PARAMETERS", [107, 3.377, 757, 4.141, 758, 3.671]], ["qname/googleapiclient.discovery.STACK_QUERY_PARAMETERS", [759, 11.381]], ["name/googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE", [760, 34.142]], ["names/googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE", [51, 2.274, 107, 2.499, 112, 2.597, 682, 2.499, 757, 3.064]], ["qname/googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE", [761, 11.381]], ["name/googleapiclient.discovery.APICoreVersionError", [762, 68.284]], ["names/googleapiclient.discovery.APICoreVersionError", [37, 6.526, 117, 5.365, 763, 9.099]], ["qname/googleapiclient.discovery.APICoreVersionError", [764, 22.761]], ["name/googleapiclient.discovery.APICoreVersionError.__init__", [121, 16.476]], ["names/googleapiclient.discovery.APICoreVersionError.__init__", [122, 3.303]], ["qname/googleapiclient.discovery.APICoreVersionError.__init__", [765, 11.381]], ["name/googleapiclient.discovery.RESERVED_WORDS", [766, 34.142]], ["names/googleapiclient.discovery.RESERVED_WORDS", [767, 5.52, 768, 5.52]], ["qname/googleapiclient.discovery.RESERVED_WORDS", [769, 11.381]], ["name/googleapiclient.discovery._BytesGenerator", [770, 68.284]], ["names/googleapiclient.discovery._BytesGenerator", [771, 11.041, 772, 11.041]], ["qname/googleapiclient.discovery._BytesGenerator", [773, 22.761]], ["name/googleapiclient.discovery.fix_method_name", [774, 34.142]], ["names/googleapiclient.discovery.fix_method_name", [156, 3.511, 187, 2.793, 775, 3.511]], ["qname/googleapiclient.discovery.fix_method_name", [776, 11.381]], ["name/googleapiclient.discovery.key2param", [777, 31.077]], ["names/googleapiclient.discovery.key2param", [777, 6.388]], ["qname/googleapiclient.discovery.key2param", [778, 11.381]], ["name/googleapiclient.discovery.build", [325, 26.346]], ["names/googleapiclient.discovery.build", [325, 5.415]], ["qname/googleapiclient.discovery.build", [779, 11.381]], ["name/googleapiclient.discovery._discovery_service_uri_options", [780, 34.142]], ["names/googleapiclient.discovery._discovery_service_uri_options", [9, 2.614, 128, 2.125, 781, 3.522, 782, 3.869]], ["qname/googleapiclient.discovery._discovery_service_uri_options", [783, 11.381]], ["name/googleapiclient.discovery._retrieve_discovery_doc", [784, 34.142]], ["names/googleapiclient.discovery._retrieve_discovery_doc", [9, 3.074, 721, 3.511, 785, 4.55]], ["qname/googleapiclient.discovery._retrieve_discovery_doc", [786, 11.381]], ["name/googleapiclient.discovery._check_api_core_compatible_with_credentials_universe", [787, 34.142]], ["names/googleapiclient.discovery._check_api_core_compatible_with_credentials_universe", [47, 1.758, 54, 2.431, 155, 2.155, 253, 2.061, 618, 2.431, 788, 2.671, 789, 2.671]], ["qname/googleapiclient.discovery._check_api_core_compatible_with_credentials_universe", [790, 11.381]], ["name/googleapiclient.discovery.build_from_document", [791, 34.142]], ["names/googleapiclient.discovery.build_from_document", [48, 3.074, 325, 3.511, 792, 4.55]], ["qname/googleapiclient.discovery.build_from_document", [793, 11.381]], ["name/googleapiclient.discovery._cast", [794, 34.142]], ["names/googleapiclient.discovery._cast", [795, 7.018]], ["qname/googleapiclient.discovery._cast", [796, 11.381]], ["name/googleapiclient.discovery._media_size_to_long", [797, 34.142]], ["names/googleapiclient.discovery._media_size_to_long", [164, 2.199, 166, 2.327, 437, 2.428, 798, 3.869]], ["qname/googleapiclient.discovery._media_size_to_long", [799, 11.381]], ["name/googleapiclient.discovery._media_path_url_from_info", [800, 34.142]], ["names/googleapiclient.discovery._media_path_url_from_info", [48, 2.274, 164, 1.913, 801, 2.865, 802, 2.865, 803, 3.366]], ["qname/googleapiclient.discovery._media_path_url_from_info", [804, 11.381]], ["name/googleapiclient.discovery._fix_up_parameters", [805, 34.142]], ["names/googleapiclient.discovery._fix_up_parameters", [758, 3.671, 775, 3.511, 806, 3.671]], ["qname/googleapiclient.discovery._fix_up_parameters", [807, 11.381]], ["name/googleapiclient.discovery._fix_up_media_upload", [808, 34.142]], ["names/googleapiclient.discovery._fix_up_media_upload", [164, 2.199, 165, 2.69, 775, 2.986, 806, 3.122]], ["qname/googleapiclient.discovery._fix_up_media_upload", [809, 11.381]], ["name/googleapiclient.discovery._fix_up_method_description", [810, 34.142]], ["names/googleapiclient.discovery._fix_up_method_description", [187, 2.375, 775, 2.986, 806, 3.122, 811, 3.869]], ["qname/googleapiclient.discovery._fix_up_method_description", [812, 11.381]], ["name/googleapiclient.discovery._fix_up_media_path_base_url", [813, 34.142]], ["names/googleapiclient.discovery._fix_up_media_path_base_url", [18, 2.071, 164, 1.693, 775, 2.298, 801, 2.535, 802, 2.535, 806, 2.403]], ["qname/googleapiclient.discovery._fix_up_media_path_base_url", [814, 11.381]], ["name/googleapiclient.discovery._urljoin", [815, 34.142]], ["names/googleapiclient.discovery._urljoin", [816, 7.018]], ["qname/googleapiclient.discovery._urljoin", [817, 11.381]], ["name/googleapiclient.discovery.ResourceMethodParameters", [818, 68.284]], ["names/googleapiclient.discovery.ResourceMethodParameters", [187, 5.586, 207, 5.842, 758, 7.343]], ["qname/googleapiclient.discovery.ResourceMethodParameters", [819, 22.761]], ["name/googleapiclient.discovery.ResourceMethodParameters.argmap", [820, 31.077]], ["names/googleapiclient.discovery.ResourceMethodParameters.argmap", [820, 6.388]], ["qname/googleapiclient.discovery.ResourceMethodParameters.argmap", [821, 11.381]], ["name/googleapiclient.discovery.ResourceMethodParameters.required_params", [822, 34.142]], ["names/googleapiclient.discovery.ResourceMethodParameters.required_params", [108, 3.633, 823, 5.52]], ["qname/googleapiclient.discovery.ResourceMethodParameters.required_params", [824, 11.381]], ["name/googleapiclient.discovery.ResourceMethodParameters.repeated_params", [825, 34.142]], ["names/googleapiclient.discovery.ResourceMethodParameters.repeated_params", [108, 3.633, 826, 5.52]], ["qname/googleapiclient.discovery.ResourceMethodParameters.repeated_params", [827, 11.381]], ["name/googleapiclient.discovery.ResourceMethodParameters.pattern_params", [828, 34.142]], ["names/googleapiclient.discovery.ResourceMethodParameters.pattern_params", [108, 3.633, 829, 5.52]], ["qname/googleapiclient.discovery.ResourceMethodParameters.pattern_params", [830, 11.381]], ["name/googleapiclient.discovery.ResourceMethodParameters.query_params", [831, 34.142]], ["names/googleapiclient.discovery.ResourceMethodParameters.query_params", [107, 4.098, 108, 3.633]], ["qname/googleapiclient.discovery.ResourceMethodParameters.query_params", [832, 11.381]], ["name/googleapiclient.discovery.ResourceMethodParameters.path_params", [833, 34.142]], ["names/googleapiclient.discovery.ResourceMethodParameters.path_params", [108, 3.633, 801, 4.698]], ["qname/googleapiclient.discovery.ResourceMethodParameters.path_params", [834, 11.381]], ["name/googleapiclient.discovery.ResourceMethodParameters.param_types", [835, 34.142]], ["names/googleapiclient.discovery.ResourceMethodParameters.param_types", [318, 4.098, 836, 5.52]], ["qname/googleapiclient.discovery.ResourceMethodParameters.param_types", [837, 11.381]], ["name/googleapiclient.discovery.ResourceMethodParameters.enum_params", [838, 34.142]], ["names/googleapiclient.discovery.ResourceMethodParameters.enum_params", [108, 3.633, 839, 5.52]], ["qname/googleapiclient.discovery.ResourceMethodParameters.enum_params", [840, 11.381]], ["name/googleapiclient.discovery.ResourceMethodParameters.__init__", [121, 16.476]], ["names/googleapiclient.discovery.ResourceMethodParameters.__init__", [122, 3.303]], ["qname/googleapiclient.discovery.ResourceMethodParameters.__init__", [841, 11.381]], ["name/googleapiclient.discovery.ResourceMethodParameters.set_parameters", [842, 34.142]], ["names/googleapiclient.discovery.ResourceMethodParameters.set_parameters", [86, 3.544, 758, 4.455]], ["qname/googleapiclient.discovery.ResourceMethodParameters.set_parameters", [843, 11.381]], ["name/googleapiclient.discovery.createMethod", [844, 34.142]], ["names/googleapiclient.discovery.createMethod", [187, 3.389, 845, 5.025]], ["qname/googleapiclient.discovery.createMethod", [846, 11.381]], ["name/googleapiclient.discovery.createNextMethod", [847, 34.142]], ["names/googleapiclient.discovery.createNextMethod", [187, 2.793, 509, 3.671, 845, 4.141]], ["qname/googleapiclient.discovery.createNextMethod", [848, 11.381]], ["name/googleapiclient.discovery.Resource", [207, 43.842]], ["names/googleapiclient.discovery.Resource", [207, 9.012]], ["qname/googleapiclient.discovery.Resource", [849, 22.761]], ["name/googleapiclient.discovery.Resource.__init__", [121, 16.476]], ["names/googleapiclient.discovery.Resource.__init__", [122, 3.303]], ["qname/googleapiclient.discovery.Resource.__init__", [850, 11.381]], ["name/googleapiclient.discovery.Resource._dynamic_attrs", [851, 34.142]], ["names/googleapiclient.discovery.Resource._dynamic_attrs", [852, 5.025, 853, 5.52]], ["qname/googleapiclient.discovery.Resource._dynamic_attrs", [854, 11.381]], ["name/googleapiclient.discovery.Resource._http", [855, 34.142]], ["names/googleapiclient.discovery.Resource._http", [25, 4.061]], ["qname/googleapiclient.discovery.Resource._http", [856, 11.381]], ["name/googleapiclient.discovery.Resource._baseUrl", [857, 34.142]], ["names/googleapiclient.discovery.Resource._baseUrl", [18, 3.838, 802, 4.698]], ["qname/googleapiclient.discovery.Resource._baseUrl", [858, 11.381]], ["name/googleapiclient.discovery.Resource._model", [859, 34.142]], ["names/googleapiclient.discovery.Resource._model", [29, 4.618]], ["qname/googleapiclient.discovery.Resource._model", [860, 11.381]], ["name/googleapiclient.discovery.Resource._developerKey", [861, 34.142]], ["names/googleapiclient.discovery.Resource._developerKey", [862, 5.52, 863, 5.52]], ["qname/googleapiclient.discovery.Resource._developerKey", [864, 11.381]], ["name/googleapiclient.discovery.Resource._requestBuilder", [865, 34.142]], ["names/googleapiclient.discovery.Resource._requestBuilder", [298, 3.032, 613, 5.025]], ["qname/googleapiclient.discovery.Resource._requestBuilder", [866, 11.381]], ["name/googleapiclient.discovery.Resource._resourceDesc", [867, 34.142]], ["names/googleapiclient.discovery.Resource._resourceDesc", [207, 3.544, 868, 5.025]], ["qname/googleapiclient.discovery.Resource._resourceDesc", [869, 11.381]], ["name/googleapiclient.discovery.Resource._rootDesc", [870, 34.142]], ["names/googleapiclient.discovery.Resource._rootDesc", [868, 5.025, 871, 5.52]], ["qname/googleapiclient.discovery.Resource._rootDesc", [872, 11.381]], ["name/googleapiclient.discovery.Resource._schema", [873, 34.142]], ["names/googleapiclient.discovery.Resource._schema", [35, 4.879]], ["qname/googleapiclient.discovery.Resource._schema", [874, 11.381]], ["name/googleapiclient.discovery.Resource._universe_domain", [875, 34.142]], ["names/googleapiclient.discovery.Resource._universe_domain", [253, 4.26, 752, 5.025]], ["qname/googleapiclient.discovery.Resource._universe_domain", [876, 11.381]], ["name/googleapiclient.discovery.Resource._credentials_validated", [877, 34.142]], ["names/googleapiclient.discovery.Resource._credentials_validated", [47, 3.633, 878, 5.52]], ["qname/googleapiclient.discovery.Resource._credentials_validated", [879, 11.381]], ["name/googleapiclient.discovery.Resource._set_dynamic_attr", [880, 34.142]], ["names/googleapiclient.discovery.Resource._set_dynamic_attr", [86, 2.921, 852, 4.141, 881, 4.55]], ["qname/googleapiclient.discovery.Resource._set_dynamic_attr", [882, 11.381]], ["name/googleapiclient.discovery.Resource.__getstate__", [883, 34.142]], ["names/googleapiclient.discovery.Resource.__getstate__", [884, 7.018]], ["qname/googleapiclient.discovery.Resource.__getstate__", [885, 11.381]], ["name/googleapiclient.discovery.Resource.__setstate__", [886, 34.142]], ["names/googleapiclient.discovery.Resource.__setstate__", [887, 7.018]], ["qname/googleapiclient.discovery.Resource.__setstate__", [888, 11.381]], ["name/googleapiclient.discovery.Resource.__enter__", [889, 34.142]], ["names/googleapiclient.discovery.Resource.__enter__", [890, 7.018]], ["qname/googleapiclient.discovery.Resource.__enter__", [891, 11.381]], ["name/googleapiclient.discovery.Resource.__exit__", [892, 34.142]], ["names/googleapiclient.discovery.Resource.__exit__", [893, 7.018]], ["qname/googleapiclient.discovery.Resource.__exit__", [894, 11.381]], ["name/googleapiclient.discovery.Resource.close", [634, 27.55]], ["names/googleapiclient.discovery.Resource.close", [634, 5.663]], ["qname/googleapiclient.discovery.Resource.close", [895, 11.381]], ["name/googleapiclient.discovery.Resource._set_service_methods", [896, 34.142]], ["names/googleapiclient.discovery.Resource._set_service_methods", [86, 2.921, 725, 3.671, 781, 4.141]], ["qname/googleapiclient.discovery.Resource._set_service_methods", [897, 11.381]], ["name/googleapiclient.discovery.Resource._add_basic_methods", [898, 34.142]], ["names/googleapiclient.discovery.Resource._add_basic_methods", [111, 3.263, 725, 3.671, 899, 4.55]], ["qname/googleapiclient.discovery.Resource._add_basic_methods", [900, 11.381]], ["name/googleapiclient.discovery.Resource._add_nested_resources", [901, 34.142]], ["names/googleapiclient.discovery.Resource._add_nested_resources", [111, 3.263, 902, 4.55, 903, 4.55]], ["qname/googleapiclient.discovery.Resource._add_nested_resources", [904, 11.381]], ["name/googleapiclient.discovery.Resource._add_next_methods", [905, 34.142]], ["names/googleapiclient.discovery.Resource._add_next_methods", [111, 3.263, 509, 3.671, 725, 3.671]], ["qname/googleapiclient.discovery.Resource._add_next_methods", [906, 11.381]], ["name/googleapiclient.discovery.Resource._validate_credentials", [907, 34.142]], ["names/googleapiclient.discovery.Resource._validate_credentials", [47, 3.633, 908, 5.52]], ["qname/googleapiclient.discovery.Resource._validate_credentials", [909, 11.381]], ["name/googleapiclient.discovery._findPageTokenName", [910, 34.142]], ["names/googleapiclient.discovery._findPageTokenName", [156, 2.986, 232, 3.122, 738, 3.522, 911, 3.869]], ["qname/googleapiclient.discovery._findPageTokenName", [912, 11.381]], ["name/googleapiclient.discovery._methodProperties", [913, 34.142]], ["names/googleapiclient.discovery._methodProperties", [187, 3.389, 914, 5.52]], ["qname/googleapiclient.discovery._methodProperties", [915, 11.381]], ["name/googleapiclient.discovery_cache.LOGGER", [73, 20.53]], ["names/googleapiclient.discovery_cache.LOGGER", [73, 4.22]], ["qname/googleapiclient.discovery_cache.LOGGER", [916, 11.381]], ["name/googleapiclient.discovery_cache.DISCOVERY_DOC_MAX_AGE", [917, 34.142]], ["names/googleapiclient.discovery_cache.DISCOVERY_DOC_MAX_AGE", [9, 2.614, 381, 2.986, 721, 2.986, 918, 3.293]], ["qname/googleapiclient.discovery_cache.DISCOVERY_DOC_MAX_AGE", [919, 11.381]], ["name/googleapiclient.discovery_cache.DISCOVERY_DOC_DIR", [920, 34.142]], ["names/googleapiclient.discovery_cache.DISCOVERY_DOC_DIR", [9, 3.074, 94, 4.141, 721, 3.511]], ["qname/googleapiclient.discovery_cache.DISCOVERY_DOC_DIR", [921, 11.381]], ["name/googleapiclient.discovery_cache.autodetect", [922, 31.077]], ["names/googleapiclient.discovery_cache.autodetect", [922, 6.388]], ["qname/googleapiclient.discovery_cache.autodetect", [923, 11.381]], ["name/googleapiclient.discovery_cache.get_static_doc", [924, 34.142]], ["names/googleapiclient.discovery_cache.get_static_doc", [71, 2.921, 721, 3.511, 925, 4.55]], ["qname/googleapiclient.discovery_cache.get_static_doc", [926, 11.381]], ["name/googleapiclient.discovery_cache.base.Cache", [12, 41.06]], ["names/googleapiclient.discovery_cache.base.Cache", [12, 8.44]], ["qname/googleapiclient.discovery_cache.base.Cache", [927, 22.761]], ["name/googleapiclient.discovery_cache.base.Cache.get", [71, 21.921]], ["names/googleapiclient.discovery_cache.base.Cache.get", [71, 4.506]], ["qname/googleapiclient.discovery_cache.base.Cache.get", [928, 11.381]], ["name/googleapiclient.discovery_cache.base.Cache.set", [86, 21.921]], ["names/googleapiclient.discovery_cache.base.Cache.set", [86, 4.506]], ["qname/googleapiclient.discovery_cache.base.Cache.set", [929, 11.381]], ["name/googleapiclient.discovery_cache.appengine_memcache.LOGGER", [73, 20.53]], ["names/googleapiclient.discovery_cache.appengine_memcache.LOGGER", [73, 4.22]], ["qname/googleapiclient.discovery_cache.appengine_memcache.LOGGER", [930, 11.381]], ["name/googleapiclient.discovery_cache.appengine_memcache.NAMESPACE", [931, 31.077]], ["names/googleapiclient.discovery_cache.appengine_memcache.NAMESPACE", [931, 6.388]], ["qname/googleapiclient.discovery_cache.appengine_memcache.NAMESPACE", [932, 11.381]], ["name/googleapiclient.discovery_cache.appengine_memcache.Cache", [12, 41.06]], ["names/googleapiclient.discovery_cache.appengine_memcache.Cache", [12, 8.44]], ["qname/googleapiclient.discovery_cache.appengine_memcache.Cache", [933, 20.718]], ["name/googleapiclient.discovery_cache.appengine_memcache.Cache.__init__", [121, 16.476]], ["names/googleapiclient.discovery_cache.appengine_memcache.Cache.__init__", [122, 3.303]], ["qname/googleapiclient.discovery_cache.appengine_memcache.Cache.__init__", [934, 11.381]], ["name/googleapiclient.discovery_cache.appengine_memcache.Cache._max_age", [935, 31.077]], ["names/googleapiclient.discovery_cache.appengine_memcache.Cache._max_age", [381, 4.26, 918, 4.698]], ["qname/googleapiclient.discovery_cache.appengine_memcache.Cache._max_age", [936, 11.381]], ["name/googleapiclient.discovery_cache.appengine_memcache.Cache.get", [71, 21.921]], ["names/googleapiclient.discovery_cache.appengine_memcache.Cache.get", [71, 4.506]], ["qname/googleapiclient.discovery_cache.appengine_memcache.Cache.get", [937, 11.381]], ["name/googleapiclient.discovery_cache.appengine_memcache.Cache.set", [86, 21.921]], ["names/googleapiclient.discovery_cache.appengine_memcache.Cache.set", [86, 4.506]], ["qname/googleapiclient.discovery_cache.appengine_memcache.Cache.set", [938, 11.381]], ["name/googleapiclient.discovery_cache.appengine_memcache.cache", [12, 20.53]], ["names/googleapiclient.discovery_cache.appengine_memcache.cache", [12, 4.22]], ["qname/googleapiclient.discovery_cache.appengine_memcache.cache", [933, 10.359]], ["name/googleapiclient.discovery_cache.file_cache.LOGGER", [73, 20.53]], ["names/googleapiclient.discovery_cache.file_cache.LOGGER", [73, 4.22]], ["qname/googleapiclient.discovery_cache.file_cache.LOGGER", [939, 11.381]], ["name/googleapiclient.discovery_cache.file_cache.FILENAME", [471, 29.058]], ["names/googleapiclient.discovery_cache.file_cache.FILENAME", [471, 5.973]], ["qname/googleapiclient.discovery_cache.file_cache.FILENAME", [940, 11.381]], ["name/googleapiclient.discovery_cache.file_cache.EPOCH", [194, 27.55]], ["names/googleapiclient.discovery_cache.file_cache.EPOCH", [194, 5.663]], ["qname/googleapiclient.discovery_cache.file_cache.EPOCH", [941, 11.381]], ["name/googleapiclient.discovery_cache.file_cache._to_timestamp", [942, 34.142]], ["names/googleapiclient.discovery_cache.file_cache._to_timestamp", [437, 3.463, 943, 5.52]], ["qname/googleapiclient.discovery_cache.file_cache._to_timestamp", [944, 11.381]], ["name/googleapiclient.discovery_cache.file_cache._read_or_initialize_cache", [945, 34.142]], ["names/googleapiclient.discovery_cache.file_cache._read_or_initialize_cache", [12, 2.327, 157, 3.522, 521, 3.293, 946, 3.869]], ["qname/googleapiclient.discovery_cache.file_cache._read_or_initialize_cache", [947, 11.381]], ["name/googleapiclient.discovery_cache.file_cache.Cache", [12, 41.06]], ["names/googleapiclient.discovery_cache.file_cache.Cache", [12, 8.44]], ["qname/googleapiclient.discovery_cache.file_cache.Cache", [948, 20.718]], ["name/googleapiclient.discovery_cache.file_cache.Cache.__init__", [121, 16.476]], ["names/googleapiclient.discovery_cache.file_cache.Cache.__init__", [122, 3.303]], ["qname/googleapiclient.discovery_cache.file_cache.Cache.__init__", [949, 11.381]], ["name/googleapiclient.discovery_cache.file_cache.Cache._max_age", [935, 31.077]], ["names/googleapiclient.discovery_cache.file_cache.Cache._max_age", [381, 4.26, 918, 4.698]], ["qname/googleapiclient.discovery_cache.file_cache.Cache._max_age", [950, 11.381]], ["name/googleapiclient.discovery_cache.file_cache.Cache._file", [951, 34.142]], ["names/googleapiclient.discovery_cache.file_cache.Cache._file", [21, 5.209]], ["qname/googleapiclient.discovery_cache.file_cache.Cache._file", [952, 11.381]], ["name/googleapiclient.discovery_cache.file_cache.Cache.get", [71, 21.921]], ["names/googleapiclient.discovery_cache.file_cache.Cache.get", [71, 4.506]], ["qname/googleapiclient.discovery_cache.file_cache.Cache.get", [953, 11.381]], ["name/googleapiclient.discovery_cache.file_cache.Cache.set", [86, 21.921]], ["names/googleapiclient.discovery_cache.file_cache.Cache.set", [86, 4.506]], ["qname/googleapiclient.discovery_cache.file_cache.Cache.set", [954, 11.381]], ["name/googleapiclient.discovery_cache.file_cache.cache", [12, 20.53]], ["names/googleapiclient.discovery_cache.file_cache.cache", [12, 4.22]], ["qname/googleapiclient.discovery_cache.file_cache.cache", [948, 10.359]], ["name/googleapiclient.sample_tools.__author__", [114, 24.486]], ["names/googleapiclient.sample_tools.__author__", [115, 5.033]], ["qname/googleapiclient.sample_tools.__author__", [955, 11.381]], ["name/googleapiclient.sample_tools.init", [122, 16.069]], ["names/googleapiclient.sample_tools.init", [122, 3.303]], ["qname/googleapiclient.sample_tools.init", [956, 11.381]]], "invertedIndex": [["__author__", {"name": {"googleapiclient.errors.__author__": {}, "googleapiclient.discovery.__author__": {}, "googleapiclient.mimeparse.__author__": {}, "googleapiclient.http.__author__": {}, "googleapiclient.model.__author__": {}, "googleapiclient.schema.__author__": {}, "googleapiclient.sample_tools.__author__": {}}, "names": {}, "qname": {}, "_index": 114}], ["__call__", {"name": {"googleapiclient.http.RequestMockBuilder.__call__": {}}, "names": {}, "qname": {}, "_index": 620}], ["__credits__", {"name": {"googleapiclient.mimeparse.__credits__": {}}, "names": {}, "qname": {}, "_index": 264}], ["__del__", {"name": {"googleapiclient.http.MediaFileUpload.__del__": {}}, "names": {}, "qname": {}, "_index": 473}], ["__email__", {"name": {"googleapiclient.mimeparse.__email__": {}}, "names": {}, "qname": {}, "_index": 258}], ["__enter__", {"name": {"googleapiclient.discovery.Resource.__enter__": {}}, "names": {}, "qname": {}, "_index": 889}], ["__exit__", {"name": {"googleapiclient.discovery.Resource.__exit__": {}}, "names": {}, "qname": {}, "_index": 892}], ["__getstate__", {"name": {"googleapiclient.discovery.Resource.__getstate__": {}}, "names": {}, "qname": {}, "_index": 883}], ["__init__", {"name": {"googleapiclient.errors.HttpError.__init__": {}, "googleapiclient.errors.BatchError.__init__": {}, "googleapiclient.errors.UnexpectedMethodError.__init__": {}, "googleapiclient.errors.UnexpectedBodyError.__init__": {}, "googleapiclient.channel.Notification.__init__": {}, "googleapiclient.channel.Channel.__init__": {}, "googleapiclient.model.JsonModel.__init__": {}, "googleapiclient.model.ProtocolBufferModel.__init__": {}, "googleapiclient.http.MediaUploadProgress.__init__": {}, "googleapiclient.http.MediaDownloadProgress.__init__": {}, "googleapiclient.http.MediaIoBaseUpload.__init__": {}, "googleapiclient.http.MediaFileUpload.__init__": {}, "googleapiclient.http.MediaInMemoryUpload.__init__": {}, "googleapiclient.http.MediaIoBaseDownload.__init__": {}, "googleapiclient.http._StreamSlice.__init__": {}, "googleapiclient.http.HttpRequest.__init__": {}, "googleapiclient.http.BatchHttpRequest.__init__": {}, "googleapiclient.http.HttpRequestMock.__init__": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}, "googleapiclient.http.HttpMock.__init__": {}, "googleapiclient.http.HttpMockSequence.__init__": {}, "googleapiclient.schema.Schemas.__init__": {}, "googleapiclient.schema._SchemaToStruct.__init__": {}, "googleapiclient.discovery.APICoreVersionError.__init__": {}, "googleapiclient.discovery.ResourceMethodParameters.__init__": {}, "googleapiclient.discovery.Resource.__init__": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache.__init__": {}, "googleapiclient.discovery_cache.file_cache.Cache.__init__": {}}, "names": {}, "qname": {}, "_index": 121}], ["__license__", {"name": {"googleapiclient.mimeparse.__license__": {}}, "names": {}, "qname": {}, "_index": 261}], ["__repr__", {"name": {"googleapiclient.errors.HttpError.__repr__": {}, "googleapiclient.errors.BatchError.__repr__": {}}, "names": {}, "qname": {}, "_index": 141}], ["__setstate__", {"name": {"googleapiclient.discovery.Resource.__setstate__": {}}, "names": {}, "qname": {}, "_index": 886}], ["__version__", {"name": {"googleapiclient.mimeparse.__version__": {}, "googleapiclient.version.__version__": {}}, "names": {}, "qname": {}, "_index": 255}], ["_abstract", {"name": {"googleapiclient.model._abstract": {}}, "names": {}, "qname": {}, "_index": 301}], ["_add_basic_methods", {"name": {"googleapiclient.discovery.Resource._add_basic_methods": {}}, "names": {}, "qname": {}, "_index": 898}], ["_add_nested_resources", {"name": {"googleapiclient.discovery.Resource._add_nested_resources": {}}, "names": {}, "qname": {}, "_index": 901}], ["_add_next_methods", {"name": {"googleapiclient.discovery.Resource._add_next_methods": {}}, "names": {}, "qname": {}, "_index": 905}], ["_add_query_parameter", {"name": {"googleapiclient._helpers._add_query_parameter": {}}, "names": {}, "qname": {}, "_index": 110}], ["_auth", {"name": {"googleapiclient._auth": {}}, "names": {}, "qname": {}, "_index": 1}], ["_base_id", {"name": {"googleapiclient.http.BatchHttpRequest._base_id": {}}, "names": {}, "qname": {}, "_index": 580}], ["_baseurl", {"name": {"googleapiclient.discovery.Resource._baseUrl": {}}, "names": {}, "qname": {}, "_index": 857}], ["_batch_uri", {"name": {"googleapiclient.http.BatchHttpRequest._batch_uri": {}}, "names": {}, "qname": {}, "_index": 565}], ["_begin", {"name": {"googleapiclient.http._StreamSlice._begin": {}}, "names": {}, "qname": {}, "_index": 517}], ["_build_query", {"name": {"googleapiclient.model.BaseModel._build_query": {}}, "names": {}, "qname": {}, "_index": 324}], ["_bytesgenerator", {"name": {"googleapiclient.discovery._BytesGenerator": {}}, "names": {}, "qname": {}, "_index": 770}], ["_callback", {"name": {"googleapiclient.http.BatchHttpRequest._callback": {}}, "names": {}, "qname": {}, "_index": 567}], ["_callbacks", {"name": {"googleapiclient.http.BatchHttpRequest._callbacks": {}}, "names": {}, "qname": {}, "_index": 571}], ["_cast", {"name": {"googleapiclient.discovery._cast": {}}, "names": {}, "qname": {}, "_index": 794}], ["_check_api_core_compatible_with_credentials_universe", {"name": {"googleapiclient.discovery._check_api_core_compatible_with_credentials_universe": {}}, "names": {}, "qname": {}, "_index": 787}], ["_chunksize", {"name": {"googleapiclient.http.MediaIoBaseUpload._chunksize": {}, "googleapiclient.http.MediaIoBaseDownload._chunksize": {}, "googleapiclient.http._StreamSlice._chunksize": {}}, "names": {}, "qname": {}, "_index": 452}], ["_credentials_validated", {"name": {"googleapiclient.discovery.Resource._credentials_validated": {}}, "names": {}, "qname": {}, "_index": 877}], ["_data_wrapper", {"name": {"googleapiclient.model.JsonModel._data_wrapper": {}}, "names": {}, "qname": {}, "_index": 340}], ["_deserialize_response", {"name": {"googleapiclient.http.BatchHttpRequest._deserialize_response": {}}, "names": {}, "qname": {}, "_index": 596}], ["_developerkey", {"name": {"googleapiclient.discovery.Resource._developerKey": {}}, "names": {}, "qname": {}, "_index": 861}], ["_discovery_service_uri_options", {"name": {"googleapiclient.discovery._discovery_service_uri_options": {}}, "names": {}, "qname": {}, "_index": 780}], ["_done", {"name": {"googleapiclient.http.MediaIoBaseDownload._done": {}}, "names": {}, "qname": {}, "_index": 497}], ["_dynamic_attrs", {"name": {"googleapiclient.discovery.Resource._dynamic_attrs": {}}, "names": {}, "qname": {}, "_index": 851}], ["_execute", {"name": {"googleapiclient.http.BatchHttpRequest._execute": {}}, "names": {}, "qname": {}, "_index": 601}], ["_fd", {"name": {"googleapiclient.http.MediaIoBaseUpload._fd": {}, "googleapiclient.http.MediaFileUpload._fd": {}, "googleapiclient.http.MediaIoBaseDownload._fd": {}}, "names": {}, "qname": {}, "_index": 447}], ["_file", {"name": {"googleapiclient.discovery_cache.file_cache.Cache._file": {}}, "names": {}, "qname": {}, "_index": 951}], ["_filename", {"name": {"googleapiclient.http.MediaFileUpload._filename": {}}, "names": {}, "qname": {}, "_index": 470}], ["_filter_blank", {"name": {"googleapiclient.mimeparse._filter_blank": {}}, "names": {}, "qname": {}, "_index": 285}], ["_findpagetokenname", {"name": {"googleapiclient.discovery._findPageTokenName": {}}, "names": {}, "qname": {}, "_index": 910}], ["_fix_up_media_path_base_url", {"name": {"googleapiclient.discovery._fix_up_media_path_base_url": {}}, "names": {}, "qname": {}, "_index": 813}], ["_fix_up_media_upload", {"name": {"googleapiclient.discovery._fix_up_media_upload": {}}, "names": {}, "qname": {}, "_index": 808}], ["_fix_up_method_description", {"name": {"googleapiclient.discovery._fix_up_method_description": {}}, "names": {}, "qname": {}, "_index": 810}], ["_fix_up_parameters", {"name": {"googleapiclient.discovery._fix_up_parameters": {}}, "names": {}, "qname": {}, "_index": 805}], ["_get_reason", {"name": {"googleapiclient.errors.HttpError._get_reason": {}}, "names": {}, "qname": {}, "_index": 139}], ["_header_to_id", {"name": {"googleapiclient.http.BatchHttpRequest._header_to_id": {}}, "names": {}, "qname": {}, "_index": 592}], ["_headers", {"name": {"googleapiclient.http.MediaIoBaseDownload._headers": {}}, "names": {}, "qname": {}, "_index": 506}], ["_helpers", {"name": {"googleapiclient._helpers": {}}, "names": {}, "qname": {}, "_index": 4}], ["_http", {"name": {"googleapiclient.discovery.Resource._http": {}}, "names": {}, "qname": {}, "_index": 855}], ["_id_to_header", {"name": {"googleapiclient.http.BatchHttpRequest._id_to_header": {}}, "names": {}, "qname": {}, "_index": 590}], ["_in_error_state", {"name": {"googleapiclient.http.HttpRequest._in_error_state": {}}, "names": {}, "qname": {}, "_index": 539}], ["_is_dir_message", {"name": {"googleapiclient._helpers._IS_DIR_MESSAGE": {}}, "names": {}, "qname": {}, "_index": 93}], ["_iterable", {"name": {"googleapiclient.http.HttpMockSequence._iterable": {}}, "names": {}, "qname": {}, "_index": 640}], ["_last_auto_id", {"name": {"googleapiclient.http.BatchHttpRequest._last_auto_id": {}}, "names": {}, "qname": {}, "_index": 576}], ["_legacy_batch_uri", {"name": {"googleapiclient.http._LEGACY_BATCH_URI": {}}, "names": {}, "qname": {}, "_index": 396}], ["_log_request", {"name": {"googleapiclient.model.BaseModel._log_request": {}}, "names": {}, "qname": {}, "_index": 320}], ["_log_response", {"name": {"googleapiclient.model.BaseModel._log_response": {}}, "names": {}, "qname": {}, "_index": 327}], ["_max_age", {"name": {"googleapiclient.discovery_cache.appengine_memcache.Cache._max_age": {}, "googleapiclient.discovery_cache.file_cache.Cache._max_age": {}}, "names": {}, "qname": {}, "_index": 935}], ["_media_path_url_from_info", {"name": {"googleapiclient.discovery._media_path_url_from_info": {}}, "names": {}, "qname": {}, "_index": 800}], ["_media_size_bit_shifts", {"name": {"googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS": {}}, "names": {}, "qname": {}, "_index": 727}], ["_media_size_to_long", {"name": {"googleapiclient.discovery._media_size_to_long": {}}, "names": {}, "qname": {}, "_index": 797}], ["_methodproperties", {"name": {"googleapiclient.discovery._methodProperties": {}}, "names": {}, "qname": {}, "_index": 913}], ["_mimetype", {"name": {"googleapiclient.http.MediaIoBaseUpload._mimetype": {}}, "names": {}, "qname": {}, "_index": 450}], ["_missing_file_message", {"name": {"googleapiclient._helpers._MISSING_FILE_MESSAGE": {}}, "names": {}, "qname": {}, "_index": 96}], ["_model", {"name": {"googleapiclient.discovery.Resource._model": {}}, "names": {}, "qname": {}, "_index": 859}], ["_new_id", {"name": {"googleapiclient.http.BatchHttpRequest._new_id": {}}, "names": {}, "qname": {}, "_index": 598}], ["_order", {"name": {"googleapiclient.http.BatchHttpRequest._order": {}}, "names": {}, "qname": {}, "_index": 573}], ["_page_token_names", {"name": {"googleapiclient.discovery._PAGE_TOKEN_NAMES": {}}, "names": {}, "qname": {}, "_index": 737}], ["_prettyprintbyname", {"name": {"googleapiclient.schema.Schemas._prettyPrintByName": {}}, "names": {}, "qname": {}, "_index": 667}], ["_prettyprintschema", {"name": {"googleapiclient.schema.Schemas._prettyPrintSchema": {}}, "names": {}, "qname": {}, "_index": 673}], ["_process_response", {"name": {"googleapiclient.http.HttpRequest._process_response": {}}, "names": {}, "qname": {}, "_index": 554}], ["_progress", {"name": {"googleapiclient.http.MediaIoBaseDownload._progress": {}}, "names": {}, "qname": {}, "_index": 493}], ["_protocol_buffer", {"name": {"googleapiclient.model.ProtocolBufferModel._protocol_buffer": {}}, "names": {}, "qname": {}, "_index": 370}], ["_py_version", {"name": {"googleapiclient.model._PY_VERSION": {}}, "names": {}, "qname": {}, "_index": 292}], ["_rand", {"name": {"googleapiclient.http.MediaIoBaseDownload._rand": {}, "googleapiclient.http.HttpRequest._rand": {}}, "names": {}, "qname": {}, "_index": 503}], ["_read_or_initialize_cache", {"name": {"googleapiclient.discovery_cache.file_cache._read_or_initialize_cache": {}}, "names": {}, "qname": {}, "_index": 945}], ["_refresh_and_apply_credentials", {"name": {"googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials": {}}, "names": {}, "qname": {}, "_index": 588}], ["_refreshed_credentials", {"name": {"googleapiclient.http.BatchHttpRequest._refreshed_credentials": {}}, "names": {}, "qname": {}, "_index": 585}], ["_request", {"name": {"googleapiclient.http.MediaIoBaseDownload._request": {}}, "names": {}, "qname": {}, "_index": 488}], ["_requestbuilder", {"name": {"googleapiclient.discovery.Resource._requestBuilder": {}}, "names": {}, "qname": {}, "_index": 865}], ["_requests", {"name": {"googleapiclient.http.BatchHttpRequest._requests": {}}, "names": {}, "qname": {}, "_index": 569}], ["_resourcedesc", {"name": {"googleapiclient.discovery.Resource._resourceDesc": {}}, "names": {}, "qname": {}, "_index": 867}], ["_responses", {"name": {"googleapiclient.http.BatchHttpRequest._responses": {}}, "names": {}, "qname": {}, "_index": 582}], ["_resumable", {"name": {"googleapiclient.http.MediaIoBaseUpload._resumable": {}}, "names": {}, "qname": {}, "_index": 454}], ["_retrieve_discovery_doc", {"name": {"googleapiclient.discovery._retrieve_discovery_doc": {}}, "names": {}, "qname": {}, "_index": 784}], ["_retry_request", {"name": {"googleapiclient.http._retry_request": {}}, "names": {}, "qname": {}, "_index": 403}], ["_rootdesc", {"name": {"googleapiclient.discovery.Resource._rootDesc": {}}, "names": {}, "qname": {}, "_index": 870}], ["_schema", {"name": {"googleapiclient.discovery.Resource._schema": {}}, "names": {}, "qname": {}, "_index": 873}], ["_schematostruct", {"name": {"googleapiclient.schema._SchemaToStruct": {}}, "names": {}, "qname": {}, "_index": 678}], ["_serialize_request", {"name": {"googleapiclient.http.BatchHttpRequest._serialize_request": {}}, "names": {}, "qname": {}, "_index": 594}], ["_set_dynamic_attr", {"name": {"googleapiclient.discovery.Resource._set_dynamic_attr": {}}, "names": {}, "qname": {}, "_index": 880}], ["_set_service_methods", {"name": {"googleapiclient.discovery.Resource._set_service_methods": {}}, "names": {}, "qname": {}, "_index": 896}], ["_should_retry_response", {"name": {"googleapiclient.http._should_retry_response": {}}, "names": {}, "qname": {}, "_index": 399}], ["_size", {"name": {"googleapiclient.http.MediaIoBaseUpload._size": {}}, "names": {}, "qname": {}, "_index": 456}], ["_sleep", {"name": {"googleapiclient.http.MediaIoBaseDownload._sleep": {}, "googleapiclient.http.HttpRequest._sleep": {}}, "names": {}, "qname": {}, "_index": 500}], ["_stream", {"name": {"googleapiclient.http._StreamSlice._stream": {}}, "names": {}, "qname": {}, "_index": 515}], ["_streamslice", {"name": {"googleapiclient.http._StreamSlice": {}}, "names": {}, "qname": {}, "_index": 511}], ["_sym_link_message", {"name": {"googleapiclient._helpers._SYM_LINK_MESSAGE": {}}, "names": {}, "qname": {}, "_index": 88}], ["_to_json", {"name": {"googleapiclient.http.MediaUpload._to_json": {}}, "names": {}, "qname": {}, "_index": 436}], ["_to_str_impl", {"name": {"googleapiclient.schema._SchemaToStruct._to_str_impl": {}}, "names": {}, "qname": {}, "_index": 704}], ["_to_timestamp", {"name": {"googleapiclient.discovery_cache.file_cache._to_timestamp": {}}, "names": {}, "qname": {}, "_index": 942}], ["_too_many_requests", {"name": {"googleapiclient.http._TOO_MANY_REQUESTS": {}}, "names": {}, "qname": {}, "_index": 387}], ["_total_size", {"name": {"googleapiclient.http.MediaIoBaseDownload._total_size": {}}, "names": {}, "qname": {}, "_index": 495}], ["_universe_domain", {"name": {"googleapiclient.discovery.Resource._universe_domain": {}}, "names": {}, "qname": {}, "_index": 875}], ["_upper_header_keys", {"name": {"googleapiclient.channel._upper_header_keys": {}}, "names": {}, "qname": {}, "_index": 214}], ["_uri", {"name": {"googleapiclient.http.MediaIoBaseDownload._uri": {}}, "names": {}, "qname": {}, "_index": 490}], ["_urljoin", {"name": {"googleapiclient.discovery._urljoin": {}}, "names": {}, "qname": {}, "_index": 815}], ["_validate_credentials", {"name": {"googleapiclient.discovery.Resource._validate_credentials": {}}, "names": {}, "qname": {}, "_index": 907}], ["abstract", {"name": {}, "names": {"googleapiclient.model._abstract": {}}, "qname": {}, "_index": 302}], ["accept", {"name": {"googleapiclient.model.BaseModel.accept": {}, "googleapiclient.model.JsonModel.accept": {}, "googleapiclient.model.RawModel.accept": {}, "googleapiclient.model.MediaModel.accept": {}, "googleapiclient.model.ProtocolBufferModel.accept": {}}, "names": {"googleapiclient.model.BaseModel.accept": {}, "googleapiclient.model.JsonModel.accept": {}, "googleapiclient.model.RawModel.accept": {}, "googleapiclient.model.MediaModel.accept": {}, "googleapiclient.model.ProtocolBufferModel.accept": {}}, "qname": {}, "_index": 309}], ["add", {"name": {"googleapiclient.http.BatchHttpRequest.add": {}}, "names": {"googleapiclient._helpers._add_query_parameter": {}, "googleapiclient.http.HttpRequest.add_response_callback": {}, "googleapiclient.http.BatchHttpRequest.add": {}, "googleapiclient.discovery.Resource._add_basic_methods": {}, "googleapiclient.discovery.Resource._add_nested_resources": {}, "googleapiclient.discovery.Resource._add_next_methods": {}}, "qname": {}, "_index": 111}], ["add_response_callback", {"name": {"googleapiclient.http.HttpRequest.add_response_callback": {}}, "names": {}, "qname": {}, "_index": 550}], ["address", {"name": {"googleapiclient.channel.Channel.address": {}}, "names": {"googleapiclient.channel.Channel.address": {}}, "qname": {}, "_index": 234}], ["age", {"name": {}, "names": {"googleapiclient.discovery_cache.DISCOVERY_DOC_MAX_AGE": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache._max_age": {}, "googleapiclient.discovery_cache.file_cache.Cache._max_age": {}}, "qname": {}, "_index": 918}], ["agent", {"name": {}, "names": {"googleapiclient.http.set_user_agent": {}}, "qname": {}, "_index": 652}], ["alt", {"name": {}, "names": {"googleapiclient.model.BaseModel.alt_param": {}, "googleapiclient.model.JsonModel.alt_param": {}, "googleapiclient.model.RawModel.alt_param": {}, "googleapiclient.model.MediaModel.alt_param": {}, "googleapiclient.model.ProtocolBufferModel.alt_param": {}}, "qname": {}, "_index": 317}], ["alt_param", {"name": {"googleapiclient.model.BaseModel.alt_param": {}, "googleapiclient.model.JsonModel.alt_param": {}, "googleapiclient.model.RawModel.alt_param": {}, "googleapiclient.model.MediaModel.alt_param": {}, "googleapiclient.model.ProtocolBufferModel.alt_param": {}}, "names": {}, "qname": {}, "_index": 316}], ["and", {"name": {}, "names": {"googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials": {}}, "qname": {}, "_index": 274}], ["api", {"name": {}, "names": {"googleapiclient.errors.UnknownApiNameOrVersion": {}, "googleapiclient.discovery.GOOGLE_API_USE_CLIENT_CERTIFICATE": {}, "googleapiclient.discovery.GOOGLE_API_USE_MTLS_ENDPOINT": {}, "googleapiclient.discovery._check_api_core_compatible_with_credentials_universe": {}}, "qname": {}, "_index": 155}], ["apicore", {"name": {}, "names": {"googleapiclient.discovery.APICoreVersionError": {}}, "qname": {}, "_index": 763}], ["apicoreversionerror", {"name": {"googleapiclient.discovery.APICoreVersionError": {}}, "names": {}, "qname": {}, "_index": 762}], ["appengine", {"name": {}, "names": {"googleapiclient.discovery_cache.appengine_memcache": {}}, "qname": {}, "_index": 15}], ["appengine_memcache", {"name": {"googleapiclient.discovery_cache.appengine_memcache": {}}, "names": {}, "qname": {}, "_index": 14}], ["apply", {"name": {}, "names": {"googleapiclient._auth.apply_credentials": {}, "googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials": {}}, "qname": {}, "_index": 64}], ["apply_credentials", {"name": {"googleapiclient._auth.apply_credentials": {}}, "names": {}, "qname": {}, "_index": 63}], ["argmap", {"name": {"googleapiclient.discovery.ResourceMethodParameters.argmap": {}}, "names": {"googleapiclient.discovery.ResourceMethodParameters.argmap": {}}, "qname": {}, "_index": 820}], ["attr", {"name": {}, "names": {"googleapiclient.discovery.Resource._set_dynamic_attr": {}}, "qname": {}, "_index": 881}], ["attrs", {"name": {}, "names": {"googleapiclient.discovery.Resource._dynamic_attrs": {}}, "qname": {}, "_index": 853}], ["auth", {"name": {}, "names": {"googleapiclient._auth": {}, "googleapiclient._auth.HAS_GOOGLE_AUTH": {}}, "qname": {}, "_index": 2}], ["author", {"name": {}, "names": {"googleapiclient.errors.__author__": {}, "googleapiclient.discovery.__author__": {}, "googleapiclient.mimeparse.__author__": {}, "googleapiclient.http.__author__": {}, "googleapiclient.model.__author__": {}, "googleapiclient.schema.__author__": {}, "googleapiclient.sample_tools.__author__": {}}, "qname": {}, "_index": 115}], ["authorized", {"name": {}, "names": {"googleapiclient._auth.authorized_http": {}}, "qname": {}, "_index": 58}], ["authorized_http", {"name": {"googleapiclient._auth.authorized_http": {}}, "names": {}, "qname": {}, "_index": 57}], ["auto", {"name": {}, "names": {"googleapiclient.http.BatchHttpRequest._last_auto_id": {}}, "qname": {}, "_index": 578}], ["autodetect", {"name": {"googleapiclient.discovery_cache.autodetect": {}}, "names": {"googleapiclient.discovery_cache.autodetect": {}}, "qname": {}, "_index": 922}], ["base", {"name": {"googleapiclient.discovery_cache.base": {}}, "names": {"googleapiclient.discovery_cache.base": {}, "googleapiclient.model.BaseModel": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaIoBaseDownload": {}, "googleapiclient.http.BatchHttpRequest._base_id": {}, "googleapiclient.discovery._fix_up_media_path_base_url": {}, "googleapiclient.discovery.Resource._baseUrl": {}}, "qname": {}, "_index": 18}], ["basemodel", {"name": {"googleapiclient.model.BaseModel": {}}, "names": {}, "qname": {}, "_index": 307}], ["basic", {"name": {}, "names": {"googleapiclient.discovery.Resource._add_basic_methods": {}}, "qname": {}, "_index": 899}], ["batch", {"name": {}, "names": {"googleapiclient.errors.BatchError": {}, "googleapiclient.http.MAX_BATCH_LIMIT": {}, "googleapiclient.http._LEGACY_BATCH_URI": {}, "googleapiclient.http.BatchHttpRequest": {}, "googleapiclient.http.BatchHttpRequest._batch_uri": {}}, "qname": {}, "_index": 178}], ["batcherror", {"name": {"googleapiclient.errors.BatchError": {}}, "names": {}, "qname": {}, "_index": 177}], ["batchhttprequest", {"name": {"googleapiclient.http.BatchHttpRequest": {}}, "names": {}, "qname": {}, "_index": 562}], ["begin", {"name": {}, "names": {"googleapiclient.http._StreamSlice._begin": {}, "googleapiclient.schema._SchemaToStruct.emitBegin": {}}, "qname": {}, "_index": 518}], ["best", {"name": {}, "names": {"googleapiclient.mimeparse.best_match": {}}, "qname": {}, "_index": 282}], ["best_match", {"name": {"googleapiclient.mimeparse.best_match": {}}, "names": {}, "qname": {}, "_index": 281}], ["bit", {"name": {}, "names": {"googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS": {}}, "qname": {}, "_index": 728}], ["blank", {"name": {}, "names": {"googleapiclient.mimeparse._filter_blank": {}}, "qname": {}, "_index": 287}], ["body", {"name": {"googleapiclient.channel.Channel.body": {}, "googleapiclient.http.HttpRequest.body": {}, "googleapiclient.http.HttpMock.body": {}}, "names": {"googleapiclient.errors.UnexpectedBodyError": {}, "googleapiclient.channel.Channel.body": {}, "googleapiclient.http.HttpRequest.body": {}, "googleapiclient.http.HttpRequest.body_size": {}, "googleapiclient.http.HttpMock.body": {}, "googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE": {}}, "qname": {}, "_index": 191}], ["body_parameter_default_value", {"name": {"googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE": {}}, "names": {}, "qname": {}, "_index": 731}], ["body_size", {"name": {"googleapiclient.http.HttpRequest.body_size": {}}, "names": {}, "qname": {}, "_index": 541}], ["buffer", {"name": {}, "names": {"googleapiclient.model.ProtocolBufferModel": {}, "googleapiclient.model.ProtocolBufferModel._protocol_buffer": {}}, "qname": {}, "_index": 364}], ["build", {"name": {"googleapiclient.discovery.build": {}}, "names": {"googleapiclient.model.BaseModel._build_query": {}, "googleapiclient.http.build_http": {}, "googleapiclient.discovery.build": {}, "googleapiclient.discovery.build_from_document": {}}, "qname": {}, "_index": 325}], ["build_from_document", {"name": {"googleapiclient.discovery.build_from_document": {}}, "names": {}, "qname": {}, "_index": 791}], ["build_http", {"name": {"googleapiclient.http.build_http": {}}, "names": {}, "qname": {}, "_index": 658}], ["builder", {"name": {}, "names": {"googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.discovery.Resource._requestBuilder": {}}, "qname": {}, "_index": 613}], ["by", {"name": {}, "names": {"googleapiclient.schema.Schemas._prettyPrintByName": {}, "googleapiclient.schema.Schemas.prettyPrintByName": {}}, "qname": {}, "_index": 669}], ["bytes", {"name": {}, "names": {"googleapiclient.discovery._BytesGenerator": {}}, "qname": {}, "_index": 771}], ["cache", {"name": {"googleapiclient.discovery_cache.base.Cache": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache": {}, "googleapiclient.discovery_cache.appengine_memcache.cache": {}, "googleapiclient.discovery_cache.file_cache.Cache": {}, "googleapiclient.discovery_cache.file_cache.cache": {}}, "names": {"googleapiclient.discovery_cache": {}, "googleapiclient.discovery_cache.file_cache": {}, "googleapiclient.schema._SchemaToStruct.from_cache": {}, "googleapiclient.discovery_cache.base.Cache": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache": {}, "googleapiclient.discovery_cache.appengine_memcache.cache": {}, "googleapiclient.discovery_cache.file_cache._read_or_initialize_cache": {}, "googleapiclient.discovery_cache.file_cache.Cache": {}, "googleapiclient.discovery_cache.file_cache.cache": {}}, "qname": {}, "_index": 12}], ["call", {"name": {}, "names": {"googleapiclient.http.RequestMockBuilder.__call__": {}}, "qname": {}, "_index": 621}], ["callback", {"name": {}, "names": {"googleapiclient.http.HttpRequest.add_response_callback": {}, "googleapiclient.http.BatchHttpRequest._callback": {}}, "qname": {}, "_index": 551}], ["callbacks", {"name": {}, "names": {"googleapiclient.http.HttpRequest.response_callbacks": {}, "googleapiclient.http.BatchHttpRequest._callbacks": {}}, "qname": {}, "_index": 537}], ["cast", {"name": {}, "names": {"googleapiclient.discovery._cast": {}}, "qname": {}, "_index": 795}], ["certificate", {"name": {}, "names": {"googleapiclient.discovery.GOOGLE_API_USE_CLIENT_CERTIFICATE": {}}, "qname": {}, "_index": 744}], ["channel", {"name": {"googleapiclient.channel": {}, "googleapiclient.channel.Channel": {}}, "names": {"googleapiclient.channel": {}, "googleapiclient.channel.CHANNEL_PARAMS": {}, "googleapiclient.channel.X_GOOG_CHANNEL_ID": {}, "googleapiclient.channel.Channel": {}, "googleapiclient.channel.new_webhook_channel": {}}, "qname": {}, "_index": 7}], ["channel_params", {"name": {"googleapiclient.channel.CHANNEL_PARAMS": {}}, "names": {}, "qname": {}, "_index": 196}], ["check", {"name": {}, "names": {"googleapiclient.http.RequestMockBuilder.check_unexpected": {}, "googleapiclient.discovery._check_api_core_compatible_with_credentials_universe": {}}, "qname": {}, "_index": 618}], ["check_unexpected", {"name": {"googleapiclient.http.RequestMockBuilder.check_unexpected": {}}, "names": {}, "qname": {}, "_index": 617}], ["chunk", {"name": {}, "names": {"googleapiclient.errors.InvalidChunkSizeError": {}, "googleapiclient.http.DEFAULT_CHUNK_SIZE": {}, "googleapiclient.http.MediaIoBaseDownload.next_chunk": {}, "googleapiclient.http.HttpRequest.next_chunk": {}}, "qname": {}, "_index": 172}], ["chunksize", {"name": {"googleapiclient.http.MediaUpload.chunksize": {}, "googleapiclient.http.MediaIoBaseUpload.chunksize": {}}, "names": {"googleapiclient.http.MediaUpload.chunksize": {}, "googleapiclient.http.MediaIoBaseUpload._chunksize": {}, "googleapiclient.http.MediaIoBaseUpload.chunksize": {}, "googleapiclient.http.MediaIoBaseDownload._chunksize": {}, "googleapiclient.http._StreamSlice._chunksize": {}}, "qname": {}, "_index": 424}], ["client", {"name": {}, "names": {"googleapiclient.discovery.GOOGLE_API_USE_CLIENT_CERTIFICATE": {}}, "qname": {}, "_index": 743}], ["close", {"name": {"googleapiclient.http.HttpMock.close": {}, "googleapiclient.discovery.Resource.close": {}}, "names": {"googleapiclient.http.HttpMock.close": {}, "googleapiclient.discovery.Resource.close": {}}, "qname": {}, "_index": 634}], ["cloud", {"name": {}, "names": {"googleapiclient.discovery.GOOGLE_CLOUD_UNIVERSE_DOMAIN": {}}, "qname": {}, "_index": 751}], ["code", {"name": {}, "names": {"googleapiclient.errors.HttpError.status_code": {}}, "qname": {}, "_index": 137}], ["compatible", {"name": {}, "names": {"googleapiclient.discovery._check_api_core_compatible_with_credentials_universe": {}}, "qname": {}, "_index": 789}], ["content", {"name": {"googleapiclient.errors.HttpError.content": {}, "googleapiclient.errors.BatchError.content": {}, "googleapiclient.http.HttpRequestMock.content": {}}, "names": {"googleapiclient.errors.HttpError.content": {}, "googleapiclient.errors.BatchError.content": {}, "googleapiclient.model.BaseModel.content_type": {}, "googleapiclient.model.BaseModel.no_content_response": {}, "googleapiclient.model.JsonModel.content_type": {}, "googleapiclient.model.JsonModel.no_content_response": {}, "googleapiclient.model.RawModel.content_type": {}, "googleapiclient.model.RawModel.no_content_response": {}, "googleapiclient.model.MediaModel.content_type": {}, "googleapiclient.model.MediaModel.no_content_response": {}, "googleapiclient.model.ProtocolBufferModel.content_type": {}, "googleapiclient.model.ProtocolBufferModel.no_content_response": {}, "googleapiclient.http.HttpRequestMock.content": {}}, "qname": {}, "_index": 126}], ["content_type", {"name": {"googleapiclient.model.BaseModel.content_type": {}, "googleapiclient.model.JsonModel.content_type": {}, "googleapiclient.model.RawModel.content_type": {}, "googleapiclient.model.MediaModel.content_type": {}, "googleapiclient.model.ProtocolBufferModel.content_type": {}}, "names": {}, "qname": {}, "_index": 311}], ["core", {"name": {}, "names": {"googleapiclient.discovery._check_api_core_compatible_with_credentials_universe": {}}, "qname": {}, "_index": 788}], ["create", {"name": {}, "names": {"googleapiclient.discovery.createMethod": {}, "googleapiclient.discovery.createNextMethod": {}}, "qname": {}, "_index": 845}], ["createmethod", {"name": {"googleapiclient.discovery.createMethod": {}}, "names": {}, "qname": {}, "_index": 844}], ["createnextmethod", {"name": {"googleapiclient.discovery.createNextMethod": {}}, "names": {}, "qname": {}, "_index": 847}], ["credentials", {"name": {}, "names": {"googleapiclient._auth.credentials_from_file": {}, "googleapiclient._auth.default_credentials": {}, "googleapiclient._auth.refresh_credentials": {}, "googleapiclient._auth.apply_credentials": {}, "googleapiclient._auth.get_credentials_from_http": {}, "googleapiclient.http.BatchHttpRequest._refreshed_credentials": {}, "googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials": {}, "googleapiclient.discovery._check_api_core_compatible_with_credentials_universe": {}, "googleapiclient.discovery.Resource._credentials_validated": {}, "googleapiclient.discovery.Resource._validate_credentials": {}}, "qname": {}, "_index": 47}], ["credentials_from_file", {"name": {"googleapiclient._auth.credentials_from_file": {}}, "names": {}, "qname": {}, "_index": 46}], ["credits", {"name": {}, "names": {"googleapiclient.mimeparse.__credits__": {}}, "qname": {}, "_index": 265}], ["data", {"name": {"googleapiclient.http.HttpMock.data": {}}, "names": {"googleapiclient.model.JsonModel._data_wrapper": {}, "googleapiclient.http.HttpMock.data": {}}, "qname": {}, "_index": 341}], ["default", {"name": {}, "names": {"googleapiclient._auth.default_credentials": {}, "googleapiclient.http.DEFAULT_CHUNK_SIZE": {}, "googleapiclient.http.DEFAULT_HTTP_TIMEOUT_SEC": {}, "googleapiclient.discovery.DEFAULT_METHOD_DOC": {}, "googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery.MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery.DEFAULT_UNIVERSE": {}, "googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE": {}}, "qname": {}, "_index": 51}], ["default_chunk_size", {"name": {"googleapiclient.http.DEFAULT_CHUNK_SIZE": {}}, "names": {}, "qname": {}, "_index": 378}], ["default_credentials", {"name": {"googleapiclient._auth.default_credentials": {}}, "names": {}, "qname": {}, "_index": 50}], ["default_http_timeout_sec", {"name": {"googleapiclient.http.DEFAULT_HTTP_TIMEOUT_SEC": {}}, "names": {}, "qname": {}, "_index": 392}], ["default_method_doc", {"name": {"googleapiclient.discovery.DEFAULT_METHOD_DOC": {}}, "names": {}, "qname": {}, "_index": 720}], ["default_universe", {"name": {"googleapiclient.discovery.DEFAULT_UNIVERSE": {}}, "names": {}, "qname": {}, "_index": 754}], ["del", {"name": {}, "names": {"googleapiclient.http.MediaFileUpload.__del__": {}}, "qname": {}, "_index": 474}], ["dent", {"name": {"googleapiclient.schema._SchemaToStruct.dent": {}}, "names": {"googleapiclient.schema._SchemaToStruct.dent": {}}, "qname": {}, "_index": 687}], ["desc", {"name": {}, "names": {"googleapiclient.discovery.Resource._resourceDesc": {}, "googleapiclient.discovery.Resource._rootDesc": {}}, "qname": {}, "_index": 868}], ["description", {"name": {}, "names": {"googleapiclient.discovery._fix_up_method_description": {}}, "qname": {}, "_index": 811}], ["deserialize", {"name": {"googleapiclient.model.BaseModel.deserialize": {}, "googleapiclient.model.JsonModel.deserialize": {}, "googleapiclient.model.RawModel.deserialize": {}, "googleapiclient.model.MediaModel.deserialize": {}, "googleapiclient.model.ProtocolBufferModel.deserialize": {}}, "names": {"googleapiclient.model.BaseModel.deserialize": {}, "googleapiclient.model.JsonModel.deserialize": {}, "googleapiclient.model.RawModel.deserialize": {}, "googleapiclient.model.MediaModel.deserialize": {}, "googleapiclient.model.ProtocolBufferModel.deserialize": {}, "googleapiclient.http.BatchHttpRequest._deserialize_response": {}}, "qname": {}, "_index": 332}], ["details", {"name": {}, "names": {"googleapiclient.errors.HttpError.error_details": {}}, "qname": {}, "_index": 131}], ["developer", {"name": {}, "names": {"googleapiclient.discovery.Resource._developerKey": {}}, "qname": {}, "_index": 862}], ["dir", {"name": {}, "names": {"googleapiclient._helpers._IS_DIR_MESSAGE": {}, "googleapiclient.discovery_cache.DISCOVERY_DOC_DIR": {}}, "qname": {}, "_index": 94}], ["discovery", {"name": {"googleapiclient.discovery": {}}, "names": {"googleapiclient.discovery": {}, "googleapiclient.discovery_cache": {}, "googleapiclient.discovery.DISCOVERY_URI": {}, "googleapiclient.discovery.V2_DISCOVERY_URI": {}, "googleapiclient.discovery._discovery_service_uri_options": {}, "googleapiclient.discovery._retrieve_discovery_doc": {}, "googleapiclient.discovery_cache.DISCOVERY_DOC_MAX_AGE": {}, "googleapiclient.discovery_cache.DISCOVERY_DOC_DIR": {}}, "qname": {}, "_index": 9}], ["discovery_cache", {"name": {"googleapiclient.discovery_cache": {}}, "names": {}, "qname": {}, "_index": 11}], ["discovery_doc_dir", {"name": {"googleapiclient.discovery_cache.DISCOVERY_DOC_DIR": {}}, "names": {}, "qname": {}, "_index": 920}], ["discovery_doc_max_age", {"name": {"googleapiclient.discovery_cache.DISCOVERY_DOC_MAX_AGE": {}}, "names": {}, "qname": {}, "_index": 917}], ["discovery_uri", {"name": {"googleapiclient.discovery.DISCOVERY_URI": {}}, "names": {}, "qname": {}, "_index": 715}], ["doc", {"name": {}, "names": {"googleapiclient.discovery.DEFAULT_METHOD_DOC": {}, "googleapiclient.discovery._retrieve_discovery_doc": {}, "googleapiclient.discovery_cache.DISCOVERY_DOC_MAX_AGE": {}, "googleapiclient.discovery_cache.DISCOVERY_DOC_DIR": {}, "googleapiclient.discovery_cache.get_static_doc": {}}, "qname": {}, "_index": 721}], ["document", {"name": {}, "names": {"googleapiclient.discovery.build_from_document": {}}, "qname": {}, "_index": 792}], ["domain", {"name": {}, "names": {"googleapiclient.discovery.GOOGLE_CLOUD_UNIVERSE_DOMAIN": {}, "googleapiclient.discovery.Resource._universe_domain": {}}, "qname": {}, "_index": 752}], ["done", {"name": {}, "names": {"googleapiclient.http.MediaIoBaseDownload._done": {}}, "qname": {}, "_index": 498}], ["download", {"name": {}, "names": {"googleapiclient.http.MediaDownloadProgress": {}, "googleapiclient.http.MediaIoBaseDownload": {}}, "qname": {}, "_index": 416}], ["dump", {"name": {}, "names": {"googleapiclient.model.dump_request_response": {}}, "qname": {}, "_index": 297}], ["dump_request_response", {"name": {"googleapiclient.model.dump_request_response": {}}, "names": {}, "qname": {}, "_index": 296}], ["dynamic", {"name": {}, "names": {"googleapiclient.discovery.Resource._dynamic_attrs": {}, "googleapiclient.discovery.Resource._set_dynamic_attr": {}}, "qname": {}, "_index": 852}], ["email", {"name": {}, "names": {"googleapiclient.mimeparse.__email__": {}}, "qname": {}, "_index": 259}], ["emit", {"name": {"googleapiclient.schema._SchemaToStruct.emit": {}}, "names": {"googleapiclient.schema._SchemaToStruct.emit": {}, "googleapiclient.schema._SchemaToStruct.emitBegin": {}, "googleapiclient.schema._SchemaToStruct.emitEnd": {}}, "qname": {}, "_index": 693}], ["emitbegin", {"name": {"googleapiclient.schema._SchemaToStruct.emitBegin": {}}, "names": {}, "qname": {}, "_index": 695}], ["emitend", {"name": {"googleapiclient.schema._SchemaToStruct.emitEnd": {}}, "names": {}, "qname": {}, "_index": 697}], ["end", {"name": {}, "names": {"googleapiclient.schema._SchemaToStruct.emitEnd": {}}, "qname": {}, "_index": 698}], ["endpoint", {"name": {}, "names": {"googleapiclient.discovery.GOOGLE_API_USE_MTLS_ENDPOINT": {}}, "qname": {}, "_index": 748}], ["enter", {"name": {}, "names": {"googleapiclient.discovery.Resource.__enter__": {}}, "qname": {}, "_index": 890}], ["enum", {"name": {}, "names": {"googleapiclient.discovery.ResourceMethodParameters.enum_params": {}}, "qname": {}, "_index": 839}], ["enum_params", {"name": {"googleapiclient.discovery.ResourceMethodParameters.enum_params": {}}, "names": {}, "qname": {}, "_index": 838}], ["epoch", {"name": {"googleapiclient.channel.EPOCH": {}, "googleapiclient.discovery_cache.file_cache.EPOCH": {}}, "names": {"googleapiclient.channel.EPOCH": {}, "googleapiclient.discovery_cache.file_cache.EPOCH": {}}, "qname": {}, "_index": 194}], ["error", {"name": {"googleapiclient.errors.Error": {}}, "names": {"googleapiclient.errors.Error": {}, "googleapiclient.errors.HttpError": {}, "googleapiclient.errors.HttpError.error_details": {}, "googleapiclient.errors.InvalidJsonError": {}, "googleapiclient.errors.UnacceptableMimeTypeError": {}, "googleapiclient.errors.MediaUploadSizeError": {}, "googleapiclient.errors.ResumableUploadError": {}, "googleapiclient.errors.InvalidChunkSizeError": {}, "googleapiclient.errors.InvalidNotificationError": {}, "googleapiclient.errors.BatchError": {}, "googleapiclient.errors.UnexpectedMethodError": {}, "googleapiclient.errors.UnexpectedBodyError": {}, "googleapiclient.http.HttpRequest._in_error_state": {}, "googleapiclient.discovery.APICoreVersionError": {}}, "qname": {}, "_index": 117}], ["error_details", {"name": {"googleapiclient.errors.HttpError.error_details": {}}, "names": {}, "qname": {}, "_index": 130}], ["errors", {"name": {"googleapiclient.errors": {}}, "names": {"googleapiclient.errors": {}}, "qname": {}, "_index": 23}], ["exception", {"name": {}, "names": {"googleapiclient._helpers.POSITIONAL_EXCEPTION": {}}, "qname": {}, "_index": 80}], ["execute", {"name": {"googleapiclient.http.HttpRequest.execute": {}, "googleapiclient.http.BatchHttpRequest.execute": {}, "googleapiclient.http.HttpRequestMock.execute": {}}, "names": {"googleapiclient.http.HttpRequest.execute": {}, "googleapiclient.http.BatchHttpRequest._execute": {}, "googleapiclient.http.BatchHttpRequest.execute": {}, "googleapiclient.http.HttpRequestMock.execute": {}}, "qname": {}, "_index": 548}], ["exit", {"name": {}, "names": {"googleapiclient.discovery.Resource.__exit__": {}}, "qname": {}, "_index": 893}], ["expiration", {"name": {"googleapiclient.channel.Channel.expiration": {}}, "names": {"googleapiclient.channel.Channel.expiration": {}}, "qname": {}, "_index": 236}], ["fd", {"name": {}, "names": {"googleapiclient.http.MediaIoBaseUpload._fd": {}, "googleapiclient.http.MediaFileUpload._fd": {}, "googleapiclient.http.MediaIoBaseDownload._fd": {}}, "qname": {}, "_index": 448}], ["file", {"name": {}, "names": {"googleapiclient.discovery_cache.file_cache": {}, "googleapiclient._auth.credentials_from_file": {}, "googleapiclient._helpers._MISSING_FILE_MESSAGE": {}, "googleapiclient.errors.UnknownFileType": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.discovery_cache.file_cache.Cache._file": {}}, "qname": {}, "_index": 21}], ["file_cache", {"name": {"googleapiclient.discovery_cache.file_cache": {}}, "names": {}, "qname": {}, "_index": 20}], ["filename", {"name": {"googleapiclient.discovery_cache.file_cache.FILENAME": {}}, "names": {"googleapiclient.http.MediaFileUpload._filename": {}, "googleapiclient.discovery_cache.file_cache.FILENAME": {}}, "qname": {}, "_index": 471}], ["filter", {"name": {}, "names": {"googleapiclient.mimeparse._filter_blank": {}}, "qname": {}, "_index": 286}], ["find", {"name": {}, "names": {"googleapiclient.discovery._findPageTokenName": {}}, "qname": {}, "_index": 911}], ["fitness", {"name": {}, "names": {"googleapiclient.mimeparse.fitness_and_quality_parsed": {}}, "qname": {}, "_index": 273}], ["fitness_and_quality_parsed", {"name": {"googleapiclient.mimeparse.fitness_and_quality_parsed": {}}, "names": {}, "qname": {}, "_index": 272}], ["fix", {"name": {}, "names": {"googleapiclient.discovery.fix_method_name": {}, "googleapiclient.discovery._fix_up_parameters": {}, "googleapiclient.discovery._fix_up_media_upload": {}, "googleapiclient.discovery._fix_up_method_description": {}, "googleapiclient.discovery._fix_up_media_path_base_url": {}}, "qname": {}, "_index": 775}], ["fix_method_name", {"name": {"googleapiclient.discovery.fix_method_name": {}}, "names": {}, "qname": {}, "_index": 774}], ["follow", {"name": {}, "names": {"googleapiclient.http.HttpMockSequence.follow_redirects": {}}, "qname": {}, "_index": 644}], ["follow_redirects", {"name": {"googleapiclient.http.HttpMockSequence.follow_redirects": {}}, "names": {}, "qname": {}, "_index": 643}], ["from", {"name": {}, "names": {"googleapiclient._auth.credentials_from_file": {}, "googleapiclient._auth.get_credentials_from_http": {}, "googleapiclient.channel.notification_from_headers": {}, "googleapiclient.http.MediaUpload.new_from_json": {}, "googleapiclient.http.MediaFileUpload.from_json": {}, "googleapiclient.http.HttpRequest.from_json": {}, "googleapiclient.schema._SchemaToStruct.from_cache": {}, "googleapiclient.discovery.build_from_document": {}, "googleapiclient.discovery._media_path_url_from_info": {}}, "qname": {}, "_index": 48}], ["from_cache", {"name": {"googleapiclient.schema._SchemaToStruct.from_cache": {}}, "names": {}, "qname": {}, "_index": 689}], ["from_json", {"name": {"googleapiclient.http.MediaFileUpload.from_json": {}, "googleapiclient.http.HttpRequest.from_json": {}}, "names": {}, "qname": {}, "_index": 477}], ["generator", {"name": {}, "names": {"googleapiclient.discovery._BytesGenerator": {}}, "qname": {}, "_index": 772}], ["get", {"name": {"googleapiclient.schema.Schemas.get": {}, "googleapiclient.discovery_cache.base.Cache.get": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache.get": {}, "googleapiclient.discovery_cache.file_cache.Cache.get": {}}, "names": {"googleapiclient._auth.get_credentials_from_http": {}, "googleapiclient.errors.HttpError._get_reason": {}, "googleapiclient.schema.Schemas.get": {}, "googleapiclient.discovery_cache.get_static_doc": {}, "googleapiclient.discovery_cache.base.Cache.get": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache.get": {}, "googleapiclient.discovery_cache.file_cache.Cache.get": {}}, "qname": {}, "_index": 71}], ["get_credentials_from_http", {"name": {"googleapiclient._auth.get_credentials_from_http": {}}, "names": {}, "qname": {}, "_index": 70}], ["get_static_doc", {"name": {"googleapiclient.discovery_cache.get_static_doc": {}}, "names": {}, "qname": {}, "_index": 924}], ["getbytes", {"name": {"googleapiclient.http.MediaUpload.getbytes": {}, "googleapiclient.http.MediaIoBaseUpload.getbytes": {}}, "names": {"googleapiclient.http.MediaUpload.getbytes": {}, "googleapiclient.http.MediaIoBaseUpload.getbytes": {}}, "qname": {}, "_index": 430}], ["getstate", {"name": {}, "names": {"googleapiclient.discovery.Resource.__getstate__": {}}, "qname": {}, "_index": 884}], ["goog", {"name": {}, "names": {"googleapiclient.channel.X_GOOG_CHANNEL_ID": {}, "googleapiclient.channel.X_GOOG_MESSAGE_NUMBER": {}, "googleapiclient.channel.X_GOOG_RESOURCE_STATE": {}, "googleapiclient.channel.X_GOOG_RESOURCE_URI": {}, "googleapiclient.channel.X_GOOG_RESOURCE_ID": {}}, "qname": {}, "_index": 200}], ["google", {"name": {}, "names": {"googleapiclient._auth.HAS_GOOGLE_AUTH": {}, "googleapiclient.discovery.GOOGLE_API_USE_CLIENT_CERTIFICATE": {}, "googleapiclient.discovery.GOOGLE_API_USE_MTLS_ENDPOINT": {}, "googleapiclient.discovery.GOOGLE_CLOUD_UNIVERSE_DOMAIN": {}}, "qname": {}, "_index": 41}], ["google_api_use_client_certificate", {"name": {"googleapiclient.discovery.GOOGLE_API_USE_CLIENT_CERTIFICATE": {}}, "names": {}, "qname": {}, "_index": 741}], ["google_api_use_mtls_endpoint", {"name": {"googleapiclient.discovery.GOOGLE_API_USE_MTLS_ENDPOINT": {}}, "names": {}, "qname": {}, "_index": 746}], ["google_cloud_universe_domain", {"name": {"googleapiclient.discovery.GOOGLE_CLOUD_UNIVERSE_DOMAIN": {}}, "names": {}, "qname": {}, "_index": 750}], ["googleapiclient", {"name": {"googleapiclient": {}}, "names": {"googleapiclient": {}}, "qname": {"googleapiclient": {}}, "_index": 0}], ["googleapiclient._auth", {"name": {}, "names": {}, "qname": {"googleapiclient._auth": {}}, "_index": 3}], ["googleapiclient._auth.apply_credentials", {"name": {}, "names": {}, "qname": {"googleapiclient._auth.apply_credentials": {}}, "_index": 65}], ["googleapiclient._auth.authorized_http", {"name": {}, "names": {}, "qname": {"googleapiclient._auth.authorized_http": {}}, "_index": 59}], ["googleapiclient._auth.credentials_from_file", {"name": {}, "names": {}, "qname": {"googleapiclient._auth.credentials_from_file": {}}, "_index": 49}], ["googleapiclient._auth.default_credentials", {"name": {}, "names": {}, "qname": {"googleapiclient._auth.default_credentials": {}}, "_index": 52}], ["googleapiclient._auth.get_credentials_from_http", {"name": {}, "names": {}, "qname": {"googleapiclient._auth.get_credentials_from_http": {}}, "_index": 72}], ["googleapiclient._auth.has_google_auth", {"name": {}, "names": {}, "qname": {"googleapiclient._auth.HAS_GOOGLE_AUTH": {}}, "_index": 42}], ["googleapiclient._auth.has_oauth2client", {"name": {}, "names": {}, "qname": {"googleapiclient._auth.HAS_OAUTH2CLIENT": {}}, "_index": 45}], ["googleapiclient._auth.is_valid", {"name": {}, "names": {}, "qname": {"googleapiclient._auth.is_valid": {}}, "_index": 69}], ["googleapiclient._auth.refresh_credentials", {"name": {}, "names": {}, "qname": {"googleapiclient._auth.refresh_credentials": {}}, "_index": 62}], ["googleapiclient._auth.with_scopes", {"name": {}, "names": {}, "qname": {"googleapiclient._auth.with_scopes": {}}, "_index": 56}], ["googleapiclient._helpers", {"name": {}, "names": {}, "qname": {"googleapiclient._helpers": {}}, "_index": 6}], ["googleapiclient._helpers._add_query_parameter", {"name": {}, "names": {}, "qname": {"googleapiclient._helpers._add_query_parameter": {}}, "_index": 113}], ["googleapiclient._helpers._is_dir_message", {"name": {}, "names": {}, "qname": {"googleapiclient._helpers._IS_DIR_MESSAGE": {}}, "_index": 95}], ["googleapiclient._helpers._missing_file_message", {"name": {}, "names": {}, "qname": {"googleapiclient._helpers._MISSING_FILE_MESSAGE": {}}, "_index": 98}], ["googleapiclient._helpers._sym_link_message", {"name": {}, "names": {}, "qname": {"googleapiclient._helpers._SYM_LINK_MESSAGE": {}}, "_index": 92}], ["googleapiclient._helpers.logger", {"name": {}, "names": {}, "qname": {"googleapiclient._helpers.logger": {}}, "_index": 74}], ["googleapiclient._helpers.parse_unique_urlencoded", {"name": {}, "names": {}, "qname": {"googleapiclient._helpers.parse_unique_urlencoded": {}}, "_index": 104}], ["googleapiclient._helpers.positional", {"name": {}, "names": {}, "qname": {"googleapiclient._helpers.positional": {}}, "_index": 99}], ["googleapiclient._helpers.positional_exception", {"name": {}, "names": {}, "qname": {"googleapiclient._helpers.POSITIONAL_EXCEPTION": {}}, "_index": 81}], ["googleapiclient._helpers.positional_ignore", {"name": {}, "names": {}, "qname": {"googleapiclient._helpers.POSITIONAL_IGNORE": {}}, "_index": 84}], ["googleapiclient._helpers.positional_set", {"name": {}, "names": {}, "qname": {"googleapiclient._helpers.POSITIONAL_SET": {}}, "_index": 87}], ["googleapiclient._helpers.positional_warning", {"name": {}, "names": {}, "qname": {"googleapiclient._helpers.POSITIONAL_WARNING": {}}, "_index": 78}], ["googleapiclient._helpers.update_query_params", {"name": {}, "names": {}, "qname": {"googleapiclient._helpers.update_query_params": {}}, "_index": 109}], ["googleapiclient.channel", {"name": {}, "names": {}, "qname": {"googleapiclient.channel": {}}, "_index": 8}], ["googleapiclient.channel._upper_header_keys", {"name": {}, "names": {}, "qname": {"googleapiclient.channel._upper_header_keys": {}}, "_index": 218}], ["googleapiclient.channel.channel", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Channel": {}}, "_index": 229}], ["googleapiclient.channel.channel.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Channel.__init__": {}}, "_index": 241}], ["googleapiclient.channel.channel.address", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Channel.address": {}}, "_index": 235}], ["googleapiclient.channel.channel.body", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Channel.body": {}}, "_index": 242}], ["googleapiclient.channel.channel.expiration", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Channel.expiration": {}}, "_index": 237}], ["googleapiclient.channel.channel.id", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Channel.id": {}}, "_index": 231}], ["googleapiclient.channel.channel.params", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Channel.params": {}}, "_index": 238}], ["googleapiclient.channel.channel.resource_id", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Channel.resource_id": {}}, "_index": 239}], ["googleapiclient.channel.channel.resource_uri", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Channel.resource_uri": {}}, "_index": 240}], ["googleapiclient.channel.channel.token", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Channel.token": {}}, "_index": 233}], ["googleapiclient.channel.channel.type", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Channel.type": {}}, "_index": 230}], ["googleapiclient.channel.channel.update", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Channel.update": {}}, "_index": 243}], ["googleapiclient.channel.channel_params", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.CHANNEL_PARAMS": {}}, "_index": 197}], ["googleapiclient.channel.epoch", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.EPOCH": {}}, "_index": 195}], ["googleapiclient.channel.new_webhook_channel", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.new_webhook_channel": {}}, "_index": 250}], ["googleapiclient.channel.notification", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Notification": {}}, "_index": 219}], ["googleapiclient.channel.notification.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Notification.__init__": {}}, "_index": 226}], ["googleapiclient.channel.notification.message_number", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Notification.message_number": {}}, "_index": 221}], ["googleapiclient.channel.notification.resource_id", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Notification.resource_id": {}}, "_index": 225}], ["googleapiclient.channel.notification.resource_uri", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Notification.resource_uri": {}}, "_index": 228}], ["googleapiclient.channel.notification.state", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Notification.state": {}}, "_index": 222}], ["googleapiclient.channel.notification.uri", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.Notification.uri": {}}, "_index": 223}], ["googleapiclient.channel.notification_from_headers", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.notification_from_headers": {}}, "_index": 246}], ["googleapiclient.channel.x_goog_channel_id", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.X_GOOG_CHANNEL_ID": {}}, "_index": 202}], ["googleapiclient.channel.x_goog_message_number", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.X_GOOG_MESSAGE_NUMBER": {}}, "_index": 205}], ["googleapiclient.channel.x_goog_resource_id", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.X_GOOG_RESOURCE_ID": {}}, "_index": 213}], ["googleapiclient.channel.x_goog_resource_state", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.X_GOOG_RESOURCE_STATE": {}}, "_index": 209}], ["googleapiclient.channel.x_goog_resource_uri", {"name": {}, "names": {}, "qname": {"googleapiclient.channel.X_GOOG_RESOURCE_URI": {}}, "_index": 211}], ["googleapiclient.discovery", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery": {}}, "_index": 10}], ["googleapiclient.discovery.__author__", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.__author__": {}}, "_index": 251}], ["googleapiclient.discovery._bytesgenerator", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._BytesGenerator": {}}, "_index": 773}], ["googleapiclient.discovery._cast", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._cast": {}}, "_index": 796}], ["googleapiclient.discovery._check_api_core_compatible_with_credentials_universe", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._check_api_core_compatible_with_credentials_universe": {}}, "_index": 790}], ["googleapiclient.discovery._discovery_service_uri_options", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._discovery_service_uri_options": {}}, "_index": 783}], ["googleapiclient.discovery._findpagetokenname", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._findPageTokenName": {}}, "_index": 912}], ["googleapiclient.discovery._fix_up_media_path_base_url", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._fix_up_media_path_base_url": {}}, "_index": 814}], ["googleapiclient.discovery._fix_up_media_upload", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._fix_up_media_upload": {}}, "_index": 809}], ["googleapiclient.discovery._fix_up_method_description", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._fix_up_method_description": {}}, "_index": 812}], ["googleapiclient.discovery._fix_up_parameters", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._fix_up_parameters": {}}, "_index": 807}], ["googleapiclient.discovery._media_path_url_from_info", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._media_path_url_from_info": {}}, "_index": 804}], ["googleapiclient.discovery._media_size_bit_shifts", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS": {}}, "_index": 730}], ["googleapiclient.discovery._media_size_to_long", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._media_size_to_long": {}}, "_index": 799}], ["googleapiclient.discovery._methodproperties", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._methodProperties": {}}, "_index": 915}], ["googleapiclient.discovery._page_token_names", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._PAGE_TOKEN_NAMES": {}}, "_index": 740}], ["googleapiclient.discovery._retrieve_discovery_doc", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._retrieve_discovery_doc": {}}, "_index": 786}], ["googleapiclient.discovery._urljoin", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery._urljoin": {}}, "_index": 817}], ["googleapiclient.discovery.apicoreversionerror", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.APICoreVersionError": {}}, "_index": 764}], ["googleapiclient.discovery.apicoreversionerror.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.APICoreVersionError.__init__": {}}, "_index": 765}], ["googleapiclient.discovery.body_parameter_default_value", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE": {}}, "_index": 732}], ["googleapiclient.discovery.build", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.build": {}}, "_index": 779}], ["googleapiclient.discovery.build_from_document", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.build_from_document": {}}, "_index": 793}], ["googleapiclient.discovery.createmethod", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.createMethod": {}}, "_index": 846}], ["googleapiclient.discovery.createnextmethod", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.createNextMethod": {}}, "_index": 848}], ["googleapiclient.discovery.default_method_doc", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.DEFAULT_METHOD_DOC": {}}, "_index": 722}], ["googleapiclient.discovery.default_universe", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.DEFAULT_UNIVERSE": {}}, "_index": 755}], ["googleapiclient.discovery.discovery_uri", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.DISCOVERY_URI": {}}, "_index": 716}], ["googleapiclient.discovery.fix_method_name", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.fix_method_name": {}}, "_index": 776}], ["googleapiclient.discovery.google_api_use_client_certificate", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.GOOGLE_API_USE_CLIENT_CERTIFICATE": {}}, "_index": 745}], ["googleapiclient.discovery.google_api_use_mtls_endpoint", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.GOOGLE_API_USE_MTLS_ENDPOINT": {}}, "_index": 749}], ["googleapiclient.discovery.google_cloud_universe_domain", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.GOOGLE_CLOUD_UNIVERSE_DOMAIN": {}}, "_index": 753}], ["googleapiclient.discovery.has_universe", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.HAS_UNIVERSE": {}}, "_index": 254}], ["googleapiclient.discovery.http_payload_methods", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.HTTP_PAYLOAD_METHODS": {}}, "_index": 726}], ["googleapiclient.discovery.key2param", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.key2param": {}}, "_index": 778}], ["googleapiclient.discovery.logger", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.logger": {}}, "_index": 710}], ["googleapiclient.discovery.media_body_parameter_default_value", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE": {}}, "_index": 734}], ["googleapiclient.discovery.media_mime_type_parameter_default_value", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE": {}}, "_index": 736}], ["googleapiclient.discovery.reserved_words", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.RESERVED_WORDS": {}}, "_index": 769}], ["googleapiclient.discovery.resource", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource": {}}, "_index": 849}], ["googleapiclient.discovery.resource.__enter__", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource.__enter__": {}}, "_index": 891}], ["googleapiclient.discovery.resource.__exit__", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource.__exit__": {}}, "_index": 894}], ["googleapiclient.discovery.resource.__getstate__", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource.__getstate__": {}}, "_index": 885}], ["googleapiclient.discovery.resource.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource.__init__": {}}, "_index": 850}], ["googleapiclient.discovery.resource.__setstate__", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource.__setstate__": {}}, "_index": 888}], ["googleapiclient.discovery.resource._add_basic_methods", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._add_basic_methods": {}}, "_index": 900}], ["googleapiclient.discovery.resource._add_nested_resources", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._add_nested_resources": {}}, "_index": 904}], ["googleapiclient.discovery.resource._add_next_methods", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._add_next_methods": {}}, "_index": 906}], ["googleapiclient.discovery.resource._baseurl", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._baseUrl": {}}, "_index": 858}], ["googleapiclient.discovery.resource._credentials_validated", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._credentials_validated": {}}, "_index": 879}], ["googleapiclient.discovery.resource._developerkey", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._developerKey": {}}, "_index": 864}], ["googleapiclient.discovery.resource._dynamic_attrs", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._dynamic_attrs": {}}, "_index": 854}], ["googleapiclient.discovery.resource._http", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._http": {}}, "_index": 856}], ["googleapiclient.discovery.resource._model", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._model": {}}, "_index": 860}], ["googleapiclient.discovery.resource._requestbuilder", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._requestBuilder": {}}, "_index": 866}], ["googleapiclient.discovery.resource._resourcedesc", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._resourceDesc": {}}, "_index": 869}], ["googleapiclient.discovery.resource._rootdesc", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._rootDesc": {}}, "_index": 872}], ["googleapiclient.discovery.resource._schema", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._schema": {}}, "_index": 874}], ["googleapiclient.discovery.resource._set_dynamic_attr", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._set_dynamic_attr": {}}, "_index": 882}], ["googleapiclient.discovery.resource._set_service_methods", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._set_service_methods": {}}, "_index": 897}], ["googleapiclient.discovery.resource._universe_domain", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._universe_domain": {}}, "_index": 876}], ["googleapiclient.discovery.resource._validate_credentials", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource._validate_credentials": {}}, "_index": 909}], ["googleapiclient.discovery.resource.close", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.Resource.close": {}}, "_index": 895}], ["googleapiclient.discovery.resourcemethodparameters", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.ResourceMethodParameters": {}}, "_index": 819}], ["googleapiclient.discovery.resourcemethodparameters.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.ResourceMethodParameters.__init__": {}}, "_index": 841}], ["googleapiclient.discovery.resourcemethodparameters.argmap", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.ResourceMethodParameters.argmap": {}}, "_index": 821}], ["googleapiclient.discovery.resourcemethodparameters.enum_params", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.ResourceMethodParameters.enum_params": {}}, "_index": 840}], ["googleapiclient.discovery.resourcemethodparameters.param_types", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.ResourceMethodParameters.param_types": {}}, "_index": 837}], ["googleapiclient.discovery.resourcemethodparameters.path_params", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.ResourceMethodParameters.path_params": {}}, "_index": 834}], ["googleapiclient.discovery.resourcemethodparameters.pattern_params", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.ResourceMethodParameters.pattern_params": {}}, "_index": 830}], ["googleapiclient.discovery.resourcemethodparameters.query_params", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.ResourceMethodParameters.query_params": {}}, "_index": 832}], ["googleapiclient.discovery.resourcemethodparameters.repeated_params", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.ResourceMethodParameters.repeated_params": {}}, "_index": 827}], ["googleapiclient.discovery.resourcemethodparameters.required_params", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.ResourceMethodParameters.required_params": {}}, "_index": 824}], ["googleapiclient.discovery.resourcemethodparameters.set_parameters", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.ResourceMethodParameters.set_parameters": {}}, "_index": 843}], ["googleapiclient.discovery.stack_query_parameter_default_value", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE": {}}, "_index": 761}], ["googleapiclient.discovery.stack_query_parameters", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.STACK_QUERY_PARAMETERS": {}}, "_index": 759}], ["googleapiclient.discovery.uritemplate", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.URITEMPLATE": {}}, "_index": 712}], ["googleapiclient.discovery.v2_discovery_uri", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.V2_DISCOVERY_URI": {}}, "_index": 719}], ["googleapiclient.discovery.varname", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery.VARNAME": {}}, "_index": 714}], ["googleapiclient.discovery_cache", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache": {}}, "_index": 13}], ["googleapiclient.discovery_cache.appengine_memcache", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.appengine_memcache": {}}, "_index": 17}], ["googleapiclient.discovery_cache.appengine_memcache.cache", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.appengine_memcache.Cache": {}, "googleapiclient.discovery_cache.appengine_memcache.cache": {}}, "_index": 933}], ["googleapiclient.discovery_cache.appengine_memcache.cache.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.appengine_memcache.Cache.__init__": {}}, "_index": 934}], ["googleapiclient.discovery_cache.appengine_memcache.cache._max_age", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.appengine_memcache.Cache._max_age": {}}, "_index": 936}], ["googleapiclient.discovery_cache.appengine_memcache.cache.get", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.appengine_memcache.Cache.get": {}}, "_index": 937}], ["googleapiclient.discovery_cache.appengine_memcache.cache.set", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.appengine_memcache.Cache.set": {}}, "_index": 938}], ["googleapiclient.discovery_cache.appengine_memcache.logger", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.appengine_memcache.LOGGER": {}}, "_index": 930}], ["googleapiclient.discovery_cache.appengine_memcache.namespace", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.appengine_memcache.NAMESPACE": {}}, "_index": 932}], ["googleapiclient.discovery_cache.autodetect", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.autodetect": {}}, "_index": 923}], ["googleapiclient.discovery_cache.base", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.base": {}}, "_index": 19}], ["googleapiclient.discovery_cache.base.cache", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.base.Cache": {}}, "_index": 927}], ["googleapiclient.discovery_cache.base.cache.get", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.base.Cache.get": {}}, "_index": 928}], ["googleapiclient.discovery_cache.base.cache.set", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.base.Cache.set": {}}, "_index": 929}], ["googleapiclient.discovery_cache.discovery_doc_dir", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.DISCOVERY_DOC_DIR": {}}, "_index": 921}], ["googleapiclient.discovery_cache.discovery_doc_max_age", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.DISCOVERY_DOC_MAX_AGE": {}}, "_index": 919}], ["googleapiclient.discovery_cache.file_cache", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.file_cache": {}}, "_index": 22}], ["googleapiclient.discovery_cache.file_cache._read_or_initialize_cache", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.file_cache._read_or_initialize_cache": {}}, "_index": 947}], ["googleapiclient.discovery_cache.file_cache._to_timestamp", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.file_cache._to_timestamp": {}}, "_index": 944}], ["googleapiclient.discovery_cache.file_cache.cache", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.file_cache.Cache": {}, "googleapiclient.discovery_cache.file_cache.cache": {}}, "_index": 948}], ["googleapiclient.discovery_cache.file_cache.cache.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.file_cache.Cache.__init__": {}}, "_index": 949}], ["googleapiclient.discovery_cache.file_cache.cache._file", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.file_cache.Cache._file": {}}, "_index": 952}], ["googleapiclient.discovery_cache.file_cache.cache._max_age", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.file_cache.Cache._max_age": {}}, "_index": 950}], ["googleapiclient.discovery_cache.file_cache.cache.get", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.file_cache.Cache.get": {}}, "_index": 953}], ["googleapiclient.discovery_cache.file_cache.cache.set", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.file_cache.Cache.set": {}}, "_index": 954}], ["googleapiclient.discovery_cache.file_cache.epoch", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.file_cache.EPOCH": {}}, "_index": 941}], ["googleapiclient.discovery_cache.file_cache.filename", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.file_cache.FILENAME": {}}, "_index": 940}], ["googleapiclient.discovery_cache.file_cache.logger", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.file_cache.LOGGER": {}}, "_index": 939}], ["googleapiclient.discovery_cache.get_static_doc", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.get_static_doc": {}}, "_index": 926}], ["googleapiclient.discovery_cache.logger", {"name": {}, "names": {}, "qname": {"googleapiclient.discovery_cache.LOGGER": {}}, "_index": 916}], ["googleapiclient.errors", {"name": {}, "names": {}, "qname": {"googleapiclient.errors": {}}, "_index": 24}], ["googleapiclient.errors.__author__", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.__author__": {}}, "_index": 116}], ["googleapiclient.errors.batcherror", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.BatchError": {}}, "_index": 179}], ["googleapiclient.errors.batcherror.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.BatchError.__init__": {}}, "_index": 180}], ["googleapiclient.errors.batcherror.__repr__", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.BatchError.__repr__": {}}, "_index": 184}], ["googleapiclient.errors.batcherror.content", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.BatchError.content": {}}, "_index": 182}], ["googleapiclient.errors.batcherror.reason", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.BatchError.reason": {}}, "_index": 183}], ["googleapiclient.errors.batcherror.resp", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.BatchError.resp": {}}, "_index": 181}], ["googleapiclient.errors.error", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.Error": {}}, "_index": 118}], ["googleapiclient.errors.httperror", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.HttpError": {}}, "_index": 120}], ["googleapiclient.errors.httperror.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.HttpError.__init__": {}}, "_index": 123}], ["googleapiclient.errors.httperror.__repr__", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.HttpError.__repr__": {}}, "_index": 143}], ["googleapiclient.errors.httperror._get_reason", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.HttpError._get_reason": {}}, "_index": 140}], ["googleapiclient.errors.httperror.content", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.HttpError.content": {}}, "_index": 127}], ["googleapiclient.errors.httperror.error_details", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.HttpError.error_details": {}}, "_index": 132}], ["googleapiclient.errors.httperror.reason", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.HttpError.reason": {}}, "_index": 134}], ["googleapiclient.errors.httperror.resp", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.HttpError.resp": {}}, "_index": 125}], ["googleapiclient.errors.httperror.status_code", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.HttpError.status_code": {}}, "_index": 138}], ["googleapiclient.errors.httperror.uri", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.HttpError.uri": {}}, "_index": 129}], ["googleapiclient.errors.invalidchunksizeerror", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.InvalidChunkSizeError": {}}, "_index": 173}], ["googleapiclient.errors.invalidjsonerror", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.InvalidJsonError": {}}, "_index": 147}], ["googleapiclient.errors.invalidnotificationerror", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.InvalidNotificationError": {}}, "_index": 176}], ["googleapiclient.errors.mediauploadsizeerror", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.MediaUploadSizeError": {}}, "_index": 167}], ["googleapiclient.errors.resumableuploaderror", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.ResumableUploadError": {}}, "_index": 170}], ["googleapiclient.errors.unacceptablemimetypeerror", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.UnacceptableMimeTypeError": {}}, "_index": 162}], ["googleapiclient.errors.unexpectedbodyerror", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.UnexpectedBodyError": {}}, "_index": 192}], ["googleapiclient.errors.unexpectedbodyerror.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.UnexpectedBodyError.__init__": {}}, "_index": 193}], ["googleapiclient.errors.unexpectedmethoderror", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.UnexpectedMethodError": {}}, "_index": 188}], ["googleapiclient.errors.unexpectedmethoderror.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.UnexpectedMethodError.__init__": {}}, "_index": 189}], ["googleapiclient.errors.unknownapinameorversion", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.UnknownApiNameOrVersion": {}}, "_index": 158}], ["googleapiclient.errors.unknownfiletype", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.UnknownFileType": {}}, "_index": 151}], ["googleapiclient.errors.unknownlinktype", {"name": {}, "names": {}, "qname": {"googleapiclient.errors.UnknownLinkType": {}}, "_index": 153}], ["googleapiclient.http", {"name": {}, "names": {}, "qname": {"googleapiclient.http": {}}, "_index": 26}], ["googleapiclient.http.__author__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.__author__": {}}, "_index": 289}], ["googleapiclient.http._legacy_batch_uri", {"name": {}, "names": {}, "qname": {"googleapiclient.http._LEGACY_BATCH_URI": {}}, "_index": 398}], ["googleapiclient.http._retry_request", {"name": {}, "names": {}, "qname": {"googleapiclient.http._retry_request": {}}, "_index": 404}], ["googleapiclient.http._should_retry_response", {"name": {}, "names": {}, "qname": {"googleapiclient.http._should_retry_response": {}}, "_index": 402}], ["googleapiclient.http._streamslice", {"name": {}, "names": {}, "qname": {"googleapiclient.http._StreamSlice": {}}, "_index": 513}], ["googleapiclient.http._streamslice.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.http._StreamSlice.__init__": {}}, "_index": 514}], ["googleapiclient.http._streamslice._begin", {"name": {}, "names": {}, "qname": {"googleapiclient.http._StreamSlice._begin": {}}, "_index": 519}], ["googleapiclient.http._streamslice._chunksize", {"name": {}, "names": {}, "qname": {"googleapiclient.http._StreamSlice._chunksize": {}}, "_index": 520}], ["googleapiclient.http._streamslice._stream", {"name": {}, "names": {}, "qname": {"googleapiclient.http._StreamSlice._stream": {}}, "_index": 516}], ["googleapiclient.http._streamslice.read", {"name": {}, "names": {}, "qname": {"googleapiclient.http._StreamSlice.read": {}}, "_index": 522}], ["googleapiclient.http._too_many_requests", {"name": {}, "names": {}, "qname": {"googleapiclient.http._TOO_MANY_REQUESTS": {}}, "_index": 391}], ["googleapiclient.http.batchhttprequest", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest": {}}, "_index": 563}], ["googleapiclient.http.batchhttprequest.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest.__init__": {}}, "_index": 564}], ["googleapiclient.http.batchhttprequest._base_id", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._base_id": {}}, "_index": 581}], ["googleapiclient.http.batchhttprequest._batch_uri", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._batch_uri": {}}, "_index": 566}], ["googleapiclient.http.batchhttprequest._callback", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._callback": {}}, "_index": 568}], ["googleapiclient.http.batchhttprequest._callbacks", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._callbacks": {}}, "_index": 572}], ["googleapiclient.http.batchhttprequest._deserialize_response", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._deserialize_response": {}}, "_index": 597}], ["googleapiclient.http.batchhttprequest._execute", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._execute": {}}, "_index": 602}], ["googleapiclient.http.batchhttprequest._header_to_id", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._header_to_id": {}}, "_index": 593}], ["googleapiclient.http.batchhttprequest._id_to_header", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._id_to_header": {}}, "_index": 591}], ["googleapiclient.http.batchhttprequest._last_auto_id", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._last_auto_id": {}}, "_index": 579}], ["googleapiclient.http.batchhttprequest._new_id", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._new_id": {}}, "_index": 599}], ["googleapiclient.http.batchhttprequest._order", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._order": {}}, "_index": 575}], ["googleapiclient.http.batchhttprequest._refresh_and_apply_credentials", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials": {}}, "_index": 589}], ["googleapiclient.http.batchhttprequest._refreshed_credentials", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._refreshed_credentials": {}}, "_index": 587}], ["googleapiclient.http.batchhttprequest._requests", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._requests": {}}, "_index": 570}], ["googleapiclient.http.batchhttprequest._responses", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._responses": {}}, "_index": 584}], ["googleapiclient.http.batchhttprequest._serialize_request", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest._serialize_request": {}}, "_index": 595}], ["googleapiclient.http.batchhttprequest.add", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest.add": {}}, "_index": 600}], ["googleapiclient.http.batchhttprequest.execute", {"name": {}, "names": {}, "qname": {"googleapiclient.http.BatchHttpRequest.execute": {}}, "_index": 603}], ["googleapiclient.http.build_http", {"name": {}, "names": {}, "qname": {"googleapiclient.http.build_http": {}}, "_index": 659}], ["googleapiclient.http.default_chunk_size", {"name": {}, "names": {}, "qname": {"googleapiclient.http.DEFAULT_CHUNK_SIZE": {}}, "_index": 379}], ["googleapiclient.http.default_http_timeout_sec", {"name": {}, "names": {}, "qname": {"googleapiclient.http.DEFAULT_HTTP_TIMEOUT_SEC": {}}, "_index": 395}], ["googleapiclient.http.httpmock", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMock": {}}, "_index": 624}], ["googleapiclient.http.httpmock.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMock.__init__": {}}, "_index": 625}], ["googleapiclient.http.httpmock.body", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMock.body": {}}, "_index": 632}], ["googleapiclient.http.httpmock.close", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMock.close": {}}, "_index": 635}], ["googleapiclient.http.httpmock.data", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMock.data": {}}, "_index": 626}], ["googleapiclient.http.httpmock.headers", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMock.headers": {}}, "_index": 629}], ["googleapiclient.http.httpmock.method", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMock.method": {}}, "_index": 631}], ["googleapiclient.http.httpmock.request", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMock.request": {}}, "_index": 633}], ["googleapiclient.http.httpmock.response_headers", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMock.response_headers": {}}, "_index": 628}], ["googleapiclient.http.httpmock.uri", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMock.uri": {}}, "_index": 630}], ["googleapiclient.http.httpmocksequence", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMockSequence": {}}, "_index": 638}], ["googleapiclient.http.httpmocksequence.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMockSequence.__init__": {}}, "_index": 639}], ["googleapiclient.http.httpmocksequence._iterable", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMockSequence._iterable": {}}, "_index": 642}], ["googleapiclient.http.httpmocksequence.follow_redirects", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMockSequence.follow_redirects": {}}, "_index": 646}], ["googleapiclient.http.httpmocksequence.request", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMockSequence.request": {}}, "_index": 649}], ["googleapiclient.http.httpmocksequence.request_sequence", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpMockSequence.request_sequence": {}}, "_index": 648}], ["googleapiclient.http.httprequest", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest": {}}, "_index": 524}], ["googleapiclient.http.httprequest.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.__init__": {}}, "_index": 525}], ["googleapiclient.http.httprequest._in_error_state", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest._in_error_state": {}}, "_index": 540}], ["googleapiclient.http.httprequest._process_response", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest._process_response": {}}, "_index": 556}], ["googleapiclient.http.httprequest._rand", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest._rand": {}}, "_index": 546}], ["googleapiclient.http.httprequest._sleep", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest._sleep": {}}, "_index": 547}], ["googleapiclient.http.httprequest.add_response_callback", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.add_response_callback": {}}, "_index": 552}], ["googleapiclient.http.httprequest.body", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.body": {}}, "_index": 528}], ["googleapiclient.http.httprequest.body_size", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.body_size": {}}, "_index": 542}], ["googleapiclient.http.httprequest.execute", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.execute": {}}, "_index": 549}], ["googleapiclient.http.httprequest.from_json", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.from_json": {}}, "_index": 558}], ["googleapiclient.http.httprequest.headers", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.headers": {}}, "_index": 529}], ["googleapiclient.http.httprequest.http", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.http": {}}, "_index": 532}], ["googleapiclient.http.httprequest.method", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.method": {}}, "_index": 527}], ["googleapiclient.http.httprequest.methodid", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.methodId": {}}, "_index": 531}], ["googleapiclient.http.httprequest.next_chunk", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.next_chunk": {}}, "_index": 553}], ["googleapiclient.http.httprequest.null_postproc", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.null_postproc": {}}, "_index": 561}], ["googleapiclient.http.httprequest.postproc", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.postproc": {}}, "_index": 534}], ["googleapiclient.http.httprequest.response_callbacks", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.response_callbacks": {}}, "_index": 538}], ["googleapiclient.http.httprequest.resumable", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.resumable": {}}, "_index": 535}], ["googleapiclient.http.httprequest.resumable_progress", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.resumable_progress": {}}, "_index": 545}], ["googleapiclient.http.httprequest.resumable_uri", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.resumable_uri": {}}, "_index": 544}], ["googleapiclient.http.httprequest.to_json", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.to_json": {}}, "_index": 557}], ["googleapiclient.http.httprequest.uri", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequest.uri": {}}, "_index": 526}], ["googleapiclient.http.httprequestmock", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequestMock": {}}, "_index": 606}], ["googleapiclient.http.httprequestmock.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequestMock.__init__": {}}, "_index": 607}], ["googleapiclient.http.httprequestmock.content", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequestMock.content": {}}, "_index": 609}], ["googleapiclient.http.httprequestmock.execute", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequestMock.execute": {}}, "_index": 611}], ["googleapiclient.http.httprequestmock.postproc", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequestMock.postproc": {}}, "_index": 610}], ["googleapiclient.http.httprequestmock.resp", {"name": {}, "names": {}, "qname": {"googleapiclient.http.HttpRequestMock.resp": {}}, "_index": 608}], ["googleapiclient.http.logger", {"name": {}, "names": {}, "qname": {"googleapiclient.http.LOGGER": {}}, "_index": 377}], ["googleapiclient.http.max_batch_limit", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MAX_BATCH_LIMIT": {}}, "_index": 386}], ["googleapiclient.http.max_uri_length", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MAX_URI_LENGTH": {}}, "_index": 383}], ["googleapiclient.http.mediadownloadprogress", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaDownloadProgress": {}}, "_index": 417}], ["googleapiclient.http.mediadownloadprogress.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaDownloadProgress.__init__": {}}, "_index": 418}], ["googleapiclient.http.mediadownloadprogress.progress", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaDownloadProgress.progress": {}}, "_index": 421}], ["googleapiclient.http.mediadownloadprogress.resumable_progress", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaDownloadProgress.resumable_progress": {}}, "_index": 419}], ["googleapiclient.http.mediadownloadprogress.total_size", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaDownloadProgress.total_size": {}}, "_index": 420}], ["googleapiclient.http.mediafileupload", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaFileUpload": {}}, "_index": 467}], ["googleapiclient.http.mediafileupload.__del__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaFileUpload.__del__": {}}, "_index": 475}], ["googleapiclient.http.mediafileupload.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaFileUpload.__init__": {}}, "_index": 468}], ["googleapiclient.http.mediafileupload._fd", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaFileUpload._fd": {}}, "_index": 469}], ["googleapiclient.http.mediafileupload._filename", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaFileUpload._filename": {}}, "_index": 472}], ["googleapiclient.http.mediafileupload.from_json", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaFileUpload.from_json": {}}, "_index": 478}], ["googleapiclient.http.mediafileupload.to_json", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaFileUpload.to_json": {}}, "_index": 476}], ["googleapiclient.http.mediainmemoryupload", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaInMemoryUpload": {}}, "_index": 482}], ["googleapiclient.http.mediainmemoryupload.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaInMemoryUpload.__init__": {}}, "_index": 483}], ["googleapiclient.http.mediaiobasedownload", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseDownload": {}}, "_index": 485}], ["googleapiclient.http.mediaiobasedownload.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseDownload.__init__": {}}, "_index": 486}], ["googleapiclient.http.mediaiobasedownload._chunksize", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseDownload._chunksize": {}}, "_index": 492}], ["googleapiclient.http.mediaiobasedownload._done", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseDownload._done": {}}, "_index": 499}], ["googleapiclient.http.mediaiobasedownload._fd", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseDownload._fd": {}}, "_index": 487}], ["googleapiclient.http.mediaiobasedownload._headers", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseDownload._headers": {}}, "_index": 507}], ["googleapiclient.http.mediaiobasedownload._progress", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseDownload._progress": {}}, "_index": 494}], ["googleapiclient.http.mediaiobasedownload._rand", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseDownload._rand": {}}, "_index": 505}], ["googleapiclient.http.mediaiobasedownload._request", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseDownload._request": {}}, "_index": 489}], ["googleapiclient.http.mediaiobasedownload._sleep", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseDownload._sleep": {}}, "_index": 502}], ["googleapiclient.http.mediaiobasedownload._total_size", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseDownload._total_size": {}}, "_index": 496}], ["googleapiclient.http.mediaiobasedownload._uri", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseDownload._uri": {}}, "_index": 491}], ["googleapiclient.http.mediaiobasedownload.next_chunk", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseDownload.next_chunk": {}}, "_index": 510}], ["googleapiclient.http.mediaiobaseupload", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload": {}}, "_index": 445}], ["googleapiclient.http.mediaiobaseupload.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload.__init__": {}}, "_index": 446}], ["googleapiclient.http.mediaiobaseupload._chunksize", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload._chunksize": {}}, "_index": 453}], ["googleapiclient.http.mediaiobaseupload._fd", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload._fd": {}}, "_index": 449}], ["googleapiclient.http.mediaiobaseupload._mimetype", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload._mimetype": {}}, "_index": 451}], ["googleapiclient.http.mediaiobaseupload._resumable", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload._resumable": {}}, "_index": 455}], ["googleapiclient.http.mediaiobaseupload._size", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload._size": {}}, "_index": 457}], ["googleapiclient.http.mediaiobaseupload.chunksize", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload.chunksize": {}}, "_index": 458}], ["googleapiclient.http.mediaiobaseupload.getbytes", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload.getbytes": {}}, "_index": 462}], ["googleapiclient.http.mediaiobaseupload.has_stream", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload.has_stream": {}}, "_index": 463}], ["googleapiclient.http.mediaiobaseupload.mimetype", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload.mimetype": {}}, "_index": 459}], ["googleapiclient.http.mediaiobaseupload.resumable", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload.resumable": {}}, "_index": 461}], ["googleapiclient.http.mediaiobaseupload.size", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload.size": {}}, "_index": 460}], ["googleapiclient.http.mediaiobaseupload.stream", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload.stream": {}}, "_index": 464}], ["googleapiclient.http.mediaiobaseupload.to_json", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaIoBaseUpload.to_json": {}}, "_index": 465}], ["googleapiclient.http.mediaupload", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUpload": {}}, "_index": 423}], ["googleapiclient.http.mediaupload._to_json", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUpload._to_json": {}}, "_index": 438}], ["googleapiclient.http.mediaupload.chunksize", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUpload.chunksize": {}}, "_index": 425}], ["googleapiclient.http.mediaupload.getbytes", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUpload.getbytes": {}}, "_index": 431}], ["googleapiclient.http.mediaupload.has_stream", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUpload.has_stream": {}}, "_index": 434}], ["googleapiclient.http.mediaupload.mimetype", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUpload.mimetype": {}}, "_index": 427}], ["googleapiclient.http.mediaupload.new_from_json", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUpload.new_from_json": {}}, "_index": 442}], ["googleapiclient.http.mediaupload.resumable", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUpload.resumable": {}}, "_index": 429}], ["googleapiclient.http.mediaupload.size", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUpload.size": {}}, "_index": 428}], ["googleapiclient.http.mediaupload.stream", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUpload.stream": {}}, "_index": 435}], ["googleapiclient.http.mediaupload.to_json", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUpload.to_json": {}}, "_index": 440}], ["googleapiclient.http.mediauploadprogress", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUploadProgress": {}}, "_index": 407}], ["googleapiclient.http.mediauploadprogress.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUploadProgress.__init__": {}}, "_index": 408}], ["googleapiclient.http.mediauploadprogress.progress", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUploadProgress.progress": {}}, "_index": 414}], ["googleapiclient.http.mediauploadprogress.resumable_progress", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUploadProgress.resumable_progress": {}}, "_index": 410}], ["googleapiclient.http.mediauploadprogress.total_size", {"name": {}, "names": {}, "qname": {"googleapiclient.http.MediaUploadProgress.total_size": {}}, "_index": 413}], ["googleapiclient.http.requestmockbuilder", {"name": {}, "names": {}, "qname": {"googleapiclient.http.RequestMockBuilder": {}}, "_index": 614}], ["googleapiclient.http.requestmockbuilder.__call__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.RequestMockBuilder.__call__": {}}, "_index": 622}], ["googleapiclient.http.requestmockbuilder.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.http.RequestMockBuilder.__init__": {}}, "_index": 615}], ["googleapiclient.http.requestmockbuilder.check_unexpected", {"name": {}, "names": {}, "qname": {"googleapiclient.http.RequestMockBuilder.check_unexpected": {}}, "_index": 619}], ["googleapiclient.http.requestmockbuilder.responses", {"name": {}, "names": {}, "qname": {"googleapiclient.http.RequestMockBuilder.responses": {}}, "_index": 616}], ["googleapiclient.http.set_user_agent", {"name": {}, "names": {}, "qname": {"googleapiclient.http.set_user_agent": {}}, "_index": 653}], ["googleapiclient.http.tunnel_patch", {"name": {}, "names": {}, "qname": {"googleapiclient.http.tunnel_patch": {}}, "_index": 657}], ["googleapiclient.mimeparse", {"name": {}, "names": {}, "qname": {"googleapiclient.mimeparse": {}}, "_index": 28}], ["googleapiclient.mimeparse.__author__", {"name": {}, "names": {}, "qname": {"googleapiclient.mimeparse.__author__": {}}, "_index": 257}], ["googleapiclient.mimeparse.__credits__", {"name": {}, "names": {}, "qname": {"googleapiclient.mimeparse.__credits__": {}}, "_index": 266}], ["googleapiclient.mimeparse.__email__", {"name": {}, "names": {}, "qname": {"googleapiclient.mimeparse.__email__": {}}, "_index": 260}], ["googleapiclient.mimeparse.__license__", {"name": {}, "names": {}, "qname": {"googleapiclient.mimeparse.__license__": {}}, "_index": 263}], ["googleapiclient.mimeparse.__version__", {"name": {}, "names": {}, "qname": {"googleapiclient.mimeparse.__version__": {}}, "_index": 256}], ["googleapiclient.mimeparse._filter_blank", {"name": {}, "names": {}, "qname": {"googleapiclient.mimeparse._filter_blank": {}}, "_index": 288}], ["googleapiclient.mimeparse.best_match", {"name": {}, "names": {}, "qname": {"googleapiclient.mimeparse.best_match": {}}, "_index": 284}], ["googleapiclient.mimeparse.fitness_and_quality_parsed", {"name": {}, "names": {}, "qname": {"googleapiclient.mimeparse.fitness_and_quality_parsed": {}}, "_index": 277}], ["googleapiclient.mimeparse.parse_media_range", {"name": {}, "names": {}, "qname": {"googleapiclient.mimeparse.parse_media_range": {}}, "_index": 271}], ["googleapiclient.mimeparse.parse_mime_type", {"name": {}, "names": {}, "qname": {"googleapiclient.mimeparse.parse_mime_type": {}}, "_index": 268}], ["googleapiclient.mimeparse.quality", {"name": {}, "names": {}, "qname": {"googleapiclient.mimeparse.quality": {}}, "_index": 280}], ["googleapiclient.mimeparse.quality_parsed", {"name": {}, "names": {}, "qname": {"googleapiclient.mimeparse.quality_parsed": {}}, "_index": 279}], ["googleapiclient.model", {"name": {}, "names": {}, "qname": {"googleapiclient.model": {}}, "_index": 30}], ["googleapiclient.model.__author__", {"name": {}, "names": {}, "qname": {"googleapiclient.model.__author__": {}}, "_index": 290}], ["googleapiclient.model._abstract", {"name": {}, "names": {}, "qname": {"googleapiclient.model._abstract": {}}, "_index": 303}], ["googleapiclient.model._py_version", {"name": {}, "names": {}, "qname": {"googleapiclient.model._PY_VERSION": {}}, "_index": 294}], ["googleapiclient.model.basemodel", {"name": {}, "names": {}, "qname": {"googleapiclient.model.BaseModel": {}}, "_index": 308}], ["googleapiclient.model.basemodel._build_query", {"name": {}, "names": {}, "qname": {"googleapiclient.model.BaseModel._build_query": {}}, "_index": 326}], ["googleapiclient.model.basemodel._log_request", {"name": {}, "names": {}, "qname": {"googleapiclient.model.BaseModel._log_request": {}}, "_index": 322}], ["googleapiclient.model.basemodel._log_response", {"name": {}, "names": {}, "qname": {"googleapiclient.model.BaseModel._log_response": {}}, "_index": 328}], ["googleapiclient.model.basemodel.accept", {"name": {}, "names": {}, "qname": {"googleapiclient.model.BaseModel.accept": {}}, "_index": 310}], ["googleapiclient.model.basemodel.alt_param", {"name": {}, "names": {}, "qname": {"googleapiclient.model.BaseModel.alt_param": {}}, "_index": 319}], ["googleapiclient.model.basemodel.content_type", {"name": {}, "names": {}, "qname": {"googleapiclient.model.BaseModel.content_type": {}}, "_index": 312}], ["googleapiclient.model.basemodel.deserialize", {"name": {}, "names": {}, "qname": {"googleapiclient.model.BaseModel.deserialize": {}}, "_index": 333}], ["googleapiclient.model.basemodel.no_content_response", {"name": {}, "names": {}, "qname": {"googleapiclient.model.BaseModel.no_content_response": {}}, "_index": 315}], ["googleapiclient.model.basemodel.request", {"name": {}, "names": {}, "qname": {"googleapiclient.model.BaseModel.request": {}}, "_index": 323}], ["googleapiclient.model.basemodel.response", {"name": {}, "names": {}, "qname": {"googleapiclient.model.BaseModel.response": {}}, "_index": 329}], ["googleapiclient.model.basemodel.serialize", {"name": {}, "names": {}, "qname": {"googleapiclient.model.BaseModel.serialize": {}}, "_index": 331}], ["googleapiclient.model.dump_request_response", {"name": {}, "names": {}, "qname": {"googleapiclient.model.dump_request_response": {}}, "_index": 300}], ["googleapiclient.model.jsonmodel", {"name": {}, "names": {}, "qname": {"googleapiclient.model.JsonModel": {}}, "_index": 335}], ["googleapiclient.model.jsonmodel.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.model.JsonModel.__init__": {}}, "_index": 339}], ["googleapiclient.model.jsonmodel._data_wrapper", {"name": {}, "names": {}, "qname": {"googleapiclient.model.JsonModel._data_wrapper": {}}, "_index": 343}], ["googleapiclient.model.jsonmodel.accept", {"name": {}, "names": {}, "qname": {"googleapiclient.model.JsonModel.accept": {}}, "_index": 336}], ["googleapiclient.model.jsonmodel.alt_param", {"name": {}, "names": {}, "qname": {"googleapiclient.model.JsonModel.alt_param": {}}, "_index": 338}], ["googleapiclient.model.jsonmodel.content_type", {"name": {}, "names": {}, "qname": {"googleapiclient.model.JsonModel.content_type": {}}, "_index": 337}], ["googleapiclient.model.jsonmodel.deserialize", {"name": {}, "names": {}, "qname": {"googleapiclient.model.JsonModel.deserialize": {}}, "_index": 345}], ["googleapiclient.model.jsonmodel.no_content_response", {"name": {}, "names": {}, "qname": {"googleapiclient.model.JsonModel.no_content_response": {}}, "_index": 346}], ["googleapiclient.model.jsonmodel.serialize", {"name": {}, "names": {}, "qname": {"googleapiclient.model.JsonModel.serialize": {}}, "_index": 344}], ["googleapiclient.model.logger", {"name": {}, "names": {}, "qname": {"googleapiclient.model.LOGGER": {}}, "_index": 295}], ["googleapiclient.model.makepatch", {"name": {}, "names": {}, "qname": {"googleapiclient.model.makepatch": {}}, "_index": 376}], ["googleapiclient.model.mediamodel", {"name": {}, "names": {}, "qname": {"googleapiclient.model.MediaModel": {}}, "_index": 356}], ["googleapiclient.model.mediamodel.accept", {"name": {}, "names": {}, "qname": {"googleapiclient.model.MediaModel.accept": {}}, "_index": 357}], ["googleapiclient.model.mediamodel.alt_param", {"name": {}, "names": {}, "qname": {"googleapiclient.model.MediaModel.alt_param": {}}, "_index": 359}], ["googleapiclient.model.mediamodel.content_type", {"name": {}, "names": {}, "qname": {"googleapiclient.model.MediaModel.content_type": {}}, "_index": 358}], ["googleapiclient.model.mediamodel.deserialize", {"name": {}, "names": {}, "qname": {"googleapiclient.model.MediaModel.deserialize": {}}, "_index": 360}], ["googleapiclient.model.mediamodel.no_content_response", {"name": {}, "names": {}, "qname": {"googleapiclient.model.MediaModel.no_content_response": {}}, "_index": 361}], ["googleapiclient.model.model", {"name": {}, "names": {}, "qname": {"googleapiclient.model.Model": {}}, "_index": 304}], ["googleapiclient.model.model.request", {"name": {}, "names": {}, "qname": {"googleapiclient.model.Model.request": {}}, "_index": 305}], ["googleapiclient.model.model.response", {"name": {}, "names": {}, "qname": {"googleapiclient.model.Model.response": {}}, "_index": 306}], ["googleapiclient.model.protocolbuffermodel", {"name": {}, "names": {}, "qname": {"googleapiclient.model.ProtocolBufferModel": {}}, "_index": 365}], ["googleapiclient.model.protocolbuffermodel.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.model.ProtocolBufferModel.__init__": {}}, "_index": 369}], ["googleapiclient.model.protocolbuffermodel._protocol_buffer", {"name": {}, "names": {}, "qname": {"googleapiclient.model.ProtocolBufferModel._protocol_buffer": {}}, "_index": 371}], ["googleapiclient.model.protocolbuffermodel.accept", {"name": {}, "names": {}, "qname": {"googleapiclient.model.ProtocolBufferModel.accept": {}}, "_index": 366}], ["googleapiclient.model.protocolbuffermodel.alt_param", {"name": {}, "names": {}, "qname": {"googleapiclient.model.ProtocolBufferModel.alt_param": {}}, "_index": 368}], ["googleapiclient.model.protocolbuffermodel.content_type", {"name": {}, "names": {}, "qname": {"googleapiclient.model.ProtocolBufferModel.content_type": {}}, "_index": 367}], ["googleapiclient.model.protocolbuffermodel.deserialize", {"name": {}, "names": {}, "qname": {"googleapiclient.model.ProtocolBufferModel.deserialize": {}}, "_index": 373}], ["googleapiclient.model.protocolbuffermodel.no_content_response", {"name": {}, "names": {}, "qname": {"googleapiclient.model.ProtocolBufferModel.no_content_response": {}}, "_index": 374}], ["googleapiclient.model.protocolbuffermodel.serialize", {"name": {}, "names": {}, "qname": {"googleapiclient.model.ProtocolBufferModel.serialize": {}}, "_index": 372}], ["googleapiclient.model.rawmodel", {"name": {}, "names": {}, "qname": {"googleapiclient.model.RawModel": {}}, "_index": 349}], ["googleapiclient.model.rawmodel.accept", {"name": {}, "names": {}, "qname": {"googleapiclient.model.RawModel.accept": {}}, "_index": 350}], ["googleapiclient.model.rawmodel.alt_param", {"name": {}, "names": {}, "qname": {"googleapiclient.model.RawModel.alt_param": {}}, "_index": 352}], ["googleapiclient.model.rawmodel.content_type", {"name": {}, "names": {}, "qname": {"googleapiclient.model.RawModel.content_type": {}}, "_index": 351}], ["googleapiclient.model.rawmodel.deserialize", {"name": {}, "names": {}, "qname": {"googleapiclient.model.RawModel.deserialize": {}}, "_index": 353}], ["googleapiclient.model.rawmodel.no_content_response", {"name": {}, "names": {}, "qname": {"googleapiclient.model.RawModel.no_content_response": {}}, "_index": 354}], ["googleapiclient.sample_tools", {"name": {}, "names": {}, "qname": {"googleapiclient.sample_tools": {}}, "_index": 34}], ["googleapiclient.sample_tools.__author__", {"name": {}, "names": {}, "qname": {"googleapiclient.sample_tools.__author__": {}}, "_index": 955}], ["googleapiclient.sample_tools.init", {"name": {}, "names": {}, "qname": {"googleapiclient.sample_tools.init": {}}, "_index": 956}], ["googleapiclient.schema", {"name": {}, "names": {}, "qname": {"googleapiclient.schema": {}}, "_index": 36}], ["googleapiclient.schema.__author__", {"name": {}, "names": {}, "qname": {"googleapiclient.schema.__author__": {}}, "_index": 660}], ["googleapiclient.schema._schematostruct", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct": {}}, "_index": 680}], ["googleapiclient.schema._schematostruct.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct.__init__": {}}, "_index": 681}], ["googleapiclient.schema._schematostruct._to_str_impl", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct._to_str_impl": {}}, "_index": 707}], ["googleapiclient.schema._schematostruct.dent", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct.dent": {}}, "_index": 688}], ["googleapiclient.schema._schematostruct.emit", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct.emit": {}}, "_index": 694}], ["googleapiclient.schema._schematostruct.emitbegin", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct.emitBegin": {}}, "_index": 696}], ["googleapiclient.schema._schematostruct.emitend", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct.emitEnd": {}}, "_index": 699}], ["googleapiclient.schema._schematostruct.from_cache", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct.from_cache": {}}, "_index": 690}], ["googleapiclient.schema._schematostruct.indent", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct.indent": {}}, "_index": 701}], ["googleapiclient.schema._schematostruct.schema", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct.schema": {}}, "_index": 686}], ["googleapiclient.schema._schematostruct.seen", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct.seen": {}}, "_index": 692}], ["googleapiclient.schema._schematostruct.string", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct.string": {}}, "_index": 685}], ["googleapiclient.schema._schematostruct.to_str", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct.to_str": {}}, "_index": 709}], ["googleapiclient.schema._schematostruct.undent", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct.undent": {}}, "_index": 703}], ["googleapiclient.schema._schematostruct.value", {"name": {}, "names": {}, "qname": {"googleapiclient.schema._SchemaToStruct.value": {}}, "_index": 683}], ["googleapiclient.schema.schemas", {"name": {}, "names": {}, "qname": {"googleapiclient.schema.Schemas": {}}, "_index": 662}], ["googleapiclient.schema.schemas.__init__", {"name": {}, "names": {}, "qname": {"googleapiclient.schema.Schemas.__init__": {}}, "_index": 663}], ["googleapiclient.schema.schemas._prettyprintbyname", {"name": {}, "names": {}, "qname": {"googleapiclient.schema.Schemas._prettyPrintByName": {}}, "_index": 670}], ["googleapiclient.schema.schemas._prettyprintschema", {"name": {}, "names": {}, "qname": {"googleapiclient.schema.Schemas._prettyPrintSchema": {}}, "_index": 674}], ["googleapiclient.schema.schemas.get", {"name": {}, "names": {}, "qname": {"googleapiclient.schema.Schemas.get": {}}, "_index": 677}], ["googleapiclient.schema.schemas.pretty", {"name": {}, "names": {}, "qname": {"googleapiclient.schema.Schemas.pretty": {}}, "_index": 666}], ["googleapiclient.schema.schemas.prettyprintbyname", {"name": {}, "names": {}, "qname": {"googleapiclient.schema.Schemas.prettyPrintByName": {}}, "_index": 672}], ["googleapiclient.schema.schemas.prettyprintschema", {"name": {}, "names": {}, "qname": {"googleapiclient.schema.Schemas.prettyPrintSchema": {}}, "_index": 676}], ["googleapiclient.schema.schemas.schemas", {"name": {}, "names": {}, "qname": {"googleapiclient.schema.Schemas.schemas": {}}, "_index": 664}], ["googleapiclient.version", {"name": {}, "names": {}, "qname": {"googleapiclient.version": {}}, "_index": 38}], ["googleapiclient.version.__version__", {"name": {}, "names": {}, "qname": {"googleapiclient.version.__version__": {}}, "_index": 291}], ["has", {"name": {}, "names": {"googleapiclient._auth.HAS_GOOGLE_AUTH": {}, "googleapiclient._auth.HAS_OAUTH2CLIENT": {}, "googleapiclient.discovery.HAS_UNIVERSE": {}, "googleapiclient.http.MediaUpload.has_stream": {}, "googleapiclient.http.MediaIoBaseUpload.has_stream": {}}, "qname": {}, "_index": 40}], ["has_google_auth", {"name": {"googleapiclient._auth.HAS_GOOGLE_AUTH": {}}, "names": {}, "qname": {}, "_index": 39}], ["has_oauth2client", {"name": {"googleapiclient._auth.HAS_OAUTH2CLIENT": {}}, "names": {}, "qname": {}, "_index": 43}], ["has_stream", {"name": {"googleapiclient.http.MediaUpload.has_stream": {}, "googleapiclient.http.MediaIoBaseUpload.has_stream": {}}, "names": {}, "qname": {}, "_index": 432}], ["has_universe", {"name": {"googleapiclient.discovery.HAS_UNIVERSE": {}}, "names": {}, "qname": {}, "_index": 252}], ["header", {"name": {}, "names": {"googleapiclient.channel._upper_header_keys": {}, "googleapiclient.http.BatchHttpRequest._id_to_header": {}, "googleapiclient.http.BatchHttpRequest._header_to_id": {}}, "qname": {}, "_index": 216}], ["headers", {"name": {"googleapiclient.http.HttpRequest.headers": {}, "googleapiclient.http.HttpMock.headers": {}}, "names": {"googleapiclient.channel.notification_from_headers": {}, "googleapiclient.http.MediaIoBaseDownload._headers": {}, "googleapiclient.http.HttpRequest.headers": {}, "googleapiclient.http.HttpMock.response_headers": {}, "googleapiclient.http.HttpMock.headers": {}}, "qname": {}, "_index": 245}], ["helpers", {"name": {}, "names": {"googleapiclient._helpers": {}}, "qname": {}, "_index": 5}], ["http", {"name": {"googleapiclient.http": {}, "googleapiclient.http.HttpRequest.http": {}}, "names": {"googleapiclient.http": {}, "googleapiclient._auth.authorized_http": {}, "googleapiclient._auth.get_credentials_from_http": {}, "googleapiclient.errors.HttpError": {}, "googleapiclient.http.DEFAULT_HTTP_TIMEOUT_SEC": {}, "googleapiclient.http.HttpRequest": {}, "googleapiclient.http.HttpRequest.http": {}, "googleapiclient.http.BatchHttpRequest": {}, "googleapiclient.http.HttpRequestMock": {}, "googleapiclient.http.HttpMock": {}, "googleapiclient.http.HttpMockSequence": {}, "googleapiclient.http.build_http": {}, "googleapiclient.discovery.HTTP_PAYLOAD_METHODS": {}, "googleapiclient.discovery.Resource._http": {}}, "qname": {}, "_index": 25}], ["http_payload_methods", {"name": {"googleapiclient.discovery.HTTP_PAYLOAD_METHODS": {}}, "names": {}, "qname": {}, "_index": 723}], ["httperror", {"name": {"googleapiclient.errors.HttpError": {}}, "names": {}, "qname": {}, "_index": 119}], ["httpmock", {"name": {"googleapiclient.http.HttpMock": {}}, "names": {}, "qname": {}, "_index": 623}], ["httpmocksequence", {"name": {"googleapiclient.http.HttpMockSequence": {}}, "names": {}, "qname": {}, "_index": 636}], ["httprequest", {"name": {"googleapiclient.http.HttpRequest": {}}, "names": {}, "qname": {}, "_index": 523}], ["httprequestmock", {"name": {"googleapiclient.http.HttpRequestMock": {}}, "names": {}, "qname": {}, "_index": 604}], ["id", {"name": {"googleapiclient.channel.Channel.id": {}}, "names": {"googleapiclient.channel.X_GOOG_CHANNEL_ID": {}, "googleapiclient.channel.X_GOOG_RESOURCE_ID": {}, "googleapiclient.channel.Notification.resource_id": {}, "googleapiclient.channel.Channel.id": {}, "googleapiclient.channel.Channel.resource_id": {}, "googleapiclient.http.HttpRequest.methodId": {}, "googleapiclient.http.BatchHttpRequest._last_auto_id": {}, "googleapiclient.http.BatchHttpRequest._base_id": {}, "googleapiclient.http.BatchHttpRequest._id_to_header": {}, "googleapiclient.http.BatchHttpRequest._header_to_id": {}, "googleapiclient.http.BatchHttpRequest._new_id": {}}, "qname": {}, "_index": 201}], ["ignore", {"name": {}, "names": {"googleapiclient._helpers.POSITIONAL_IGNORE": {}}, "qname": {}, "_index": 83}], ["impl", {"name": {}, "names": {"googleapiclient.schema._SchemaToStruct._to_str_impl": {}}, "qname": {}, "_index": 706}], ["in", {"name": {}, "names": {"googleapiclient.http.MediaInMemoryUpload": {}, "googleapiclient.http.HttpRequest._in_error_state": {}}, "qname": {}, "_index": 480}], ["indent", {"name": {"googleapiclient.schema._SchemaToStruct.indent": {}}, "names": {"googleapiclient.schema._SchemaToStruct.indent": {}}, "qname": {}, "_index": 700}], ["info", {"name": {}, "names": {"googleapiclient.discovery._media_path_url_from_info": {}}, "qname": {}, "_index": 803}], ["init", {"name": {"googleapiclient.sample_tools.init": {}}, "names": {"googleapiclient.errors.HttpError.__init__": {}, "googleapiclient.errors.BatchError.__init__": {}, "googleapiclient.errors.UnexpectedMethodError.__init__": {}, "googleapiclient.errors.UnexpectedBodyError.__init__": {}, "googleapiclient.channel.Notification.__init__": {}, "googleapiclient.channel.Channel.__init__": {}, "googleapiclient.model.JsonModel.__init__": {}, "googleapiclient.model.ProtocolBufferModel.__init__": {}, "googleapiclient.http.MediaUploadProgress.__init__": {}, "googleapiclient.http.MediaDownloadProgress.__init__": {}, "googleapiclient.http.MediaIoBaseUpload.__init__": {}, "googleapiclient.http.MediaFileUpload.__init__": {}, "googleapiclient.http.MediaInMemoryUpload.__init__": {}, "googleapiclient.http.MediaIoBaseDownload.__init__": {}, "googleapiclient.http._StreamSlice.__init__": {}, "googleapiclient.http.HttpRequest.__init__": {}, "googleapiclient.http.BatchHttpRequest.__init__": {}, "googleapiclient.http.HttpRequestMock.__init__": {}, "googleapiclient.http.RequestMockBuilder.__init__": {}, "googleapiclient.http.HttpMock.__init__": {}, "googleapiclient.http.HttpMockSequence.__init__": {}, "googleapiclient.schema.Schemas.__init__": {}, "googleapiclient.schema._SchemaToStruct.__init__": {}, "googleapiclient.discovery.APICoreVersionError.__init__": {}, "googleapiclient.discovery.ResourceMethodParameters.__init__": {}, "googleapiclient.discovery.Resource.__init__": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache.__init__": {}, "googleapiclient.discovery_cache.file_cache.Cache.__init__": {}, "googleapiclient.sample_tools.init": {}}, "qname": {}, "_index": 122}], ["initialize", {"name": {}, "names": {"googleapiclient.discovery_cache.file_cache._read_or_initialize_cache": {}}, "qname": {}, "_index": 946}], ["invalid", {"name": {}, "names": {"googleapiclient.errors.InvalidJsonError": {}, "googleapiclient.errors.InvalidChunkSizeError": {}, "googleapiclient.errors.InvalidNotificationError": {}}, "qname": {}, "_index": 145}], ["invalidchunksizeerror", {"name": {"googleapiclient.errors.InvalidChunkSizeError": {}}, "names": {}, "qname": {}, "_index": 171}], ["invalidjsonerror", {"name": {"googleapiclient.errors.InvalidJsonError": {}}, "names": {}, "qname": {}, "_index": 144}], ["invalidnotificationerror", {"name": {"googleapiclient.errors.InvalidNotificationError": {}}, "names": {}, "qname": {}, "_index": 174}], ["io", {"name": {}, "names": {"googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaIoBaseDownload": {}}, "qname": {}, "_index": 444}], ["is", {"name": {}, "names": {"googleapiclient._auth.is_valid": {}, "googleapiclient._helpers._IS_DIR_MESSAGE": {}}, "qname": {}, "_index": 67}], ["is_valid", {"name": {"googleapiclient._auth.is_valid": {}}, "names": {}, "qname": {}, "_index": 66}], ["iterable", {"name": {}, "names": {"googleapiclient.http.HttpMockSequence._iterable": {}}, "qname": {}, "_index": 641}], ["json", {"name": {}, "names": {"googleapiclient.errors.InvalidJsonError": {}, "googleapiclient.model.JsonModel": {}, "googleapiclient.http.MediaUpload._to_json": {}, "googleapiclient.http.MediaUpload.to_json": {}, "googleapiclient.http.MediaUpload.new_from_json": {}, "googleapiclient.http.MediaIoBaseUpload.to_json": {}, "googleapiclient.http.MediaFileUpload.to_json": {}, "googleapiclient.http.MediaFileUpload.from_json": {}, "googleapiclient.http.HttpRequest.to_json": {}, "googleapiclient.http.HttpRequest.from_json": {}}, "qname": {}, "_index": 146}], ["jsonmodel", {"name": {"googleapiclient.model.JsonModel": {}}, "names": {}, "qname": {}, "_index": 334}], ["key", {"name": {}, "names": {"googleapiclient.discovery.Resource._developerKey": {}}, "qname": {}, "_index": 863}], ["key2param", {"name": {"googleapiclient.discovery.key2param": {}}, "names": {"googleapiclient.discovery.key2param": {}}, "qname": {}, "_index": 777}], ["keys", {"name": {}, "names": {"googleapiclient.channel._upper_header_keys": {}}, "qname": {}, "_index": 217}], ["last", {"name": {}, "names": {"googleapiclient.http.BatchHttpRequest._last_auto_id": {}}, "qname": {}, "_index": 577}], ["legacy", {"name": {}, "names": {"googleapiclient.http._LEGACY_BATCH_URI": {}}, "qname": {}, "_index": 397}], ["length", {"name": {}, "names": {"googleapiclient.http.MAX_URI_LENGTH": {}}, "qname": {}, "_index": 382}], ["license", {"name": {}, "names": {"googleapiclient.mimeparse.__license__": {}}, "qname": {}, "_index": 262}], ["limit", {"name": {}, "names": {"googleapiclient.http.MAX_BATCH_LIMIT": {}}, "qname": {}, "_index": 385}], ["link", {"name": {}, "names": {"googleapiclient._helpers._SYM_LINK_MESSAGE": {}, "googleapiclient.errors.UnknownLinkType": {}}, "qname": {}, "_index": 90}], ["log", {"name": {}, "names": {"googleapiclient.model.BaseModel._log_request": {}, "googleapiclient.model.BaseModel._log_response": {}}, "qname": {}, "_index": 321}], ["logger", {"name": {"googleapiclient._helpers.logger": {}, "googleapiclient.model.LOGGER": {}, "googleapiclient.http.LOGGER": {}, "googleapiclient.discovery.logger": {}, "googleapiclient.discovery_cache.LOGGER": {}, "googleapiclient.discovery_cache.appengine_memcache.LOGGER": {}, "googleapiclient.discovery_cache.file_cache.LOGGER": {}}, "names": {"googleapiclient._helpers.logger": {}, "googleapiclient.model.LOGGER": {}, "googleapiclient.http.LOGGER": {}, "googleapiclient.discovery.logger": {}, "googleapiclient.discovery_cache.LOGGER": {}, "googleapiclient.discovery_cache.appengine_memcache.LOGGER": {}, "googleapiclient.discovery_cache.file_cache.LOGGER": {}}, "qname": {}, "_index": 73}], ["long", {"name": {}, "names": {"googleapiclient.discovery._media_size_to_long": {}}, "qname": {}, "_index": 798}], ["makepatch", {"name": {"googleapiclient.model.makepatch": {}}, "names": {"googleapiclient.model.makepatch": {}}, "qname": {}, "_index": 375}], ["many", {"name": {}, "names": {"googleapiclient.http._TOO_MANY_REQUESTS": {}}, "qname": {}, "_index": 389}], ["match", {"name": {}, "names": {"googleapiclient.mimeparse.best_match": {}}, "qname": {}, "_index": 283}], ["max", {"name": {}, "names": {"googleapiclient.http.MAX_URI_LENGTH": {}, "googleapiclient.http.MAX_BATCH_LIMIT": {}, "googleapiclient.discovery_cache.DISCOVERY_DOC_MAX_AGE": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache._max_age": {}, "googleapiclient.discovery_cache.file_cache.Cache._max_age": {}}, "qname": {}, "_index": 381}], ["max_batch_limit", {"name": {"googleapiclient.http.MAX_BATCH_LIMIT": {}}, "names": {}, "qname": {}, "_index": 384}], ["max_uri_length", {"name": {"googleapiclient.http.MAX_URI_LENGTH": {}}, "names": {}, "qname": {}, "_index": 380}], ["media", {"name": {}, "names": {"googleapiclient.errors.MediaUploadSizeError": {}, "googleapiclient.mimeparse.parse_media_range": {}, "googleapiclient.model.MediaModel": {}, "googleapiclient.http.MediaUploadProgress": {}, "googleapiclient.http.MediaDownloadProgress": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.MediaInMemoryUpload": {}, "googleapiclient.http.MediaIoBaseDownload": {}, "googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS": {}, "googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery.MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery._media_size_to_long": {}, "googleapiclient.discovery._media_path_url_from_info": {}, "googleapiclient.discovery._fix_up_media_upload": {}, "googleapiclient.discovery._fix_up_media_path_base_url": {}}, "qname": {}, "_index": 164}], ["media_body_parameter_default_value", {"name": {"googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE": {}}, "names": {}, "qname": {}, "_index": 733}], ["media_mime_type_parameter_default_value", {"name": {"googleapiclient.discovery.MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE": {}}, "names": {}, "qname": {}, "_index": 735}], ["mediadownloadprogress", {"name": {"googleapiclient.http.MediaDownloadProgress": {}}, "names": {}, "qname": {}, "_index": 415}], ["mediafileupload", {"name": {"googleapiclient.http.MediaFileUpload": {}}, "names": {}, "qname": {}, "_index": 466}], ["mediainmemoryupload", {"name": {"googleapiclient.http.MediaInMemoryUpload": {}}, "names": {}, "qname": {}, "_index": 479}], ["mediaiobasedownload", {"name": {"googleapiclient.http.MediaIoBaseDownload": {}}, "names": {}, "qname": {}, "_index": 484}], ["mediaiobaseupload", {"name": {"googleapiclient.http.MediaIoBaseUpload": {}}, "names": {}, "qname": {}, "_index": 443}], ["mediamodel", {"name": {"googleapiclient.model.MediaModel": {}}, "names": {}, "qname": {}, "_index": 355}], ["mediaupload", {"name": {"googleapiclient.http.MediaUpload": {}}, "names": {}, "qname": {}, "_index": 422}], ["mediauploadprogress", {"name": {"googleapiclient.http.MediaUploadProgress": {}}, "names": {}, "qname": {}, "_index": 405}], ["mediauploadsizeerror", {"name": {"googleapiclient.errors.MediaUploadSizeError": {}}, "names": {}, "qname": {}, "_index": 163}], ["memcache", {"name": {}, "names": {"googleapiclient.discovery_cache.appengine_memcache": {}}, "qname": {}, "_index": 16}], ["memory", {"name": {}, "names": {"googleapiclient.http.MediaInMemoryUpload": {}}, "qname": {}, "_index": 481}], ["message", {"name": {}, "names": {"googleapiclient._helpers._SYM_LINK_MESSAGE": {}, "googleapiclient._helpers._IS_DIR_MESSAGE": {}, "googleapiclient._helpers._MISSING_FILE_MESSAGE": {}, "googleapiclient.channel.X_GOOG_MESSAGE_NUMBER": {}, "googleapiclient.channel.Notification.message_number": {}}, "qname": {}, "_index": 91}], ["message_number", {"name": {"googleapiclient.channel.Notification.message_number": {}}, "names": {}, "qname": {}, "_index": 220}], ["method", {"name": {"googleapiclient.http.HttpRequest.method": {}, "googleapiclient.http.HttpMock.method": {}}, "names": {"googleapiclient.errors.UnexpectedMethodError": {}, "googleapiclient.http.HttpRequest.method": {}, "googleapiclient.http.HttpRequest.methodId": {}, "googleapiclient.http.HttpMock.method": {}, "googleapiclient.discovery.DEFAULT_METHOD_DOC": {}, "googleapiclient.discovery.fix_method_name": {}, "googleapiclient.discovery._fix_up_method_description": {}, "googleapiclient.discovery.ResourceMethodParameters": {}, "googleapiclient.discovery.createMethod": {}, "googleapiclient.discovery.createNextMethod": {}, "googleapiclient.discovery._methodProperties": {}}, "qname": {}, "_index": 187}], ["methodid", {"name": {"googleapiclient.http.HttpRequest.methodId": {}}, "names": {}, "qname": {}, "_index": 530}], ["methods", {"name": {}, "names": {"googleapiclient.discovery.HTTP_PAYLOAD_METHODS": {}, "googleapiclient.discovery.Resource._set_service_methods": {}, "googleapiclient.discovery.Resource._add_basic_methods": {}, "googleapiclient.discovery.Resource._add_next_methods": {}}, "qname": {}, "_index": 725}], ["mime", {"name": {}, "names": {"googleapiclient.errors.UnacceptableMimeTypeError": {}, "googleapiclient.mimeparse.parse_mime_type": {}, "googleapiclient.discovery.MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE": {}}, "qname": {}, "_index": 161}], ["mimeparse", {"name": {"googleapiclient.mimeparse": {}}, "names": {"googleapiclient.mimeparse": {}}, "qname": {}, "_index": 27}], ["mimetype", {"name": {"googleapiclient.http.MediaUpload.mimetype": {}, "googleapiclient.http.MediaIoBaseUpload.mimetype": {}}, "names": {"googleapiclient.http.MediaUpload.mimetype": {}, "googleapiclient.http.MediaIoBaseUpload._mimetype": {}, "googleapiclient.http.MediaIoBaseUpload.mimetype": {}}, "qname": {}, "_index": 426}], ["missing", {"name": {}, "names": {"googleapiclient._helpers._MISSING_FILE_MESSAGE": {}}, "qname": {}, "_index": 97}], ["mock", {"name": {}, "names": {"googleapiclient.http.HttpRequestMock": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.HttpMock": {}, "googleapiclient.http.HttpMockSequence": {}}, "qname": {}, "_index": 605}], ["model", {"name": {"googleapiclient.model": {}, "googleapiclient.model.Model": {}}, "names": {"googleapiclient.model": {}, "googleapiclient.model.Model": {}, "googleapiclient.model.BaseModel": {}, "googleapiclient.model.JsonModel": {}, "googleapiclient.model.RawModel": {}, "googleapiclient.model.MediaModel": {}, "googleapiclient.model.ProtocolBufferModel": {}, "googleapiclient.discovery.Resource._model": {}}, "qname": {}, "_index": 29}], ["mtls", {"name": {}, "names": {"googleapiclient.discovery.GOOGLE_API_USE_MTLS_ENDPOINT": {}}, "qname": {}, "_index": 747}], ["name", {"name": {}, "names": {"googleapiclient.errors.UnknownApiNameOrVersion": {}, "googleapiclient.schema.Schemas._prettyPrintByName": {}, "googleapiclient.schema.Schemas.prettyPrintByName": {}, "googleapiclient.discovery.fix_method_name": {}, "googleapiclient.discovery._findPageTokenName": {}}, "qname": {}, "_index": 156}], ["names", {"name": {}, "names": {"googleapiclient.discovery._PAGE_TOKEN_NAMES": {}}, "qname": {}, "_index": 739}], ["namespace", {"name": {"googleapiclient.discovery_cache.appengine_memcache.NAMESPACE": {}}, "names": {"googleapiclient.discovery_cache.appengine_memcache.NAMESPACE": {}}, "qname": {}, "_index": 931}], ["nested", {"name": {}, "names": {"googleapiclient.discovery.Resource._add_nested_resources": {}}, "qname": {}, "_index": 902}], ["new", {"name": {}, "names": {"googleapiclient.channel.new_webhook_channel": {}, "googleapiclient.http.MediaUpload.new_from_json": {}, "googleapiclient.http.BatchHttpRequest._new_id": {}}, "qname": {}, "_index": 248}], ["new_from_json", {"name": {"googleapiclient.http.MediaUpload.new_from_json": {}}, "names": {}, "qname": {}, "_index": 441}], ["new_webhook_channel", {"name": {"googleapiclient.channel.new_webhook_channel": {}}, "names": {}, "qname": {}, "_index": 247}], ["next", {"name": {}, "names": {"googleapiclient.http.MediaIoBaseDownload.next_chunk": {}, "googleapiclient.http.HttpRequest.next_chunk": {}, "googleapiclient.discovery.createNextMethod": {}, "googleapiclient.discovery.Resource._add_next_methods": {}}, "qname": {}, "_index": 509}], ["next_chunk", {"name": {"googleapiclient.http.MediaIoBaseDownload.next_chunk": {}, "googleapiclient.http.HttpRequest.next_chunk": {}}, "names": {}, "qname": {}, "_index": 508}], ["no", {"name": {}, "names": {"googleapiclient.model.BaseModel.no_content_response": {}, "googleapiclient.model.JsonModel.no_content_response": {}, "googleapiclient.model.RawModel.no_content_response": {}, "googleapiclient.model.MediaModel.no_content_response": {}, "googleapiclient.model.ProtocolBufferModel.no_content_response": {}}, "qname": {}, "_index": 314}], ["no_content_response", {"name": {"googleapiclient.model.BaseModel.no_content_response": {}, "googleapiclient.model.JsonModel.no_content_response": {}, "googleapiclient.model.RawModel.no_content_response": {}, "googleapiclient.model.MediaModel.no_content_response": {}, "googleapiclient.model.ProtocolBufferModel.no_content_response": {}}, "names": {}, "qname": {}, "_index": 313}], ["notification", {"name": {"googleapiclient.channel.Notification": {}}, "names": {"googleapiclient.errors.InvalidNotificationError": {}, "googleapiclient.channel.Notification": {}, "googleapiclient.channel.notification_from_headers": {}}, "qname": {}, "_index": 175}], ["notification_from_headers", {"name": {"googleapiclient.channel.notification_from_headers": {}}, "names": {}, "qname": {}, "_index": 244}], ["null", {"name": {}, "names": {"googleapiclient.http.HttpRequest.null_postproc": {}}, "qname": {}, "_index": 560}], ["null_postproc", {"name": {"googleapiclient.http.HttpRequest.null_postproc": {}}, "names": {}, "qname": {}, "_index": 559}], ["number", {"name": {}, "names": {"googleapiclient.channel.X_GOOG_MESSAGE_NUMBER": {}, "googleapiclient.channel.Notification.message_number": {}}, "qname": {}, "_index": 204}], ["oauth2client", {"name": {}, "names": {"googleapiclient._auth.HAS_OAUTH2CLIENT": {}}, "qname": {}, "_index": 44}], ["options", {"name": {}, "names": {"googleapiclient.discovery._discovery_service_uri_options": {}}, "qname": {}, "_index": 782}], ["or", {"name": {}, "names": {"googleapiclient.errors.UnknownApiNameOrVersion": {}, "googleapiclient.discovery_cache.file_cache._read_or_initialize_cache": {}}, "qname": {}, "_index": 157}], ["order", {"name": {}, "names": {"googleapiclient.http.BatchHttpRequest._order": {}}, "qname": {}, "_index": 574}], ["page", {"name": {}, "names": {"googleapiclient.discovery._PAGE_TOKEN_NAMES": {}, "googleapiclient.discovery._findPageTokenName": {}}, "qname": {}, "_index": 738}], ["param", {"name": {}, "names": {"googleapiclient.model.BaseModel.alt_param": {}, "googleapiclient.model.JsonModel.alt_param": {}, "googleapiclient.model.RawModel.alt_param": {}, "googleapiclient.model.MediaModel.alt_param": {}, "googleapiclient.model.ProtocolBufferModel.alt_param": {}, "googleapiclient.discovery.ResourceMethodParameters.param_types": {}}, "qname": {}, "_index": 318}], ["param_types", {"name": {"googleapiclient.discovery.ResourceMethodParameters.param_types": {}}, "names": {}, "qname": {}, "_index": 835}], ["parameter", {"name": {}, "names": {"googleapiclient._helpers._add_query_parameter": {}, "googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery.MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE": {}}, "qname": {}, "_index": 112}], ["parameters", {"name": {}, "names": {"googleapiclient.discovery.STACK_QUERY_PARAMETERS": {}, "googleapiclient.discovery._fix_up_parameters": {}, "googleapiclient.discovery.ResourceMethodParameters": {}, "googleapiclient.discovery.ResourceMethodParameters.set_parameters": {}}, "qname": {}, "_index": 758}], ["params", {"name": {"googleapiclient.channel.Channel.params": {}}, "names": {"googleapiclient._helpers.update_query_params": {}, "googleapiclient.channel.CHANNEL_PARAMS": {}, "googleapiclient.channel.Channel.params": {}, "googleapiclient.discovery.ResourceMethodParameters.required_params": {}, "googleapiclient.discovery.ResourceMethodParameters.repeated_params": {}, "googleapiclient.discovery.ResourceMethodParameters.pattern_params": {}, "googleapiclient.discovery.ResourceMethodParameters.query_params": {}, "googleapiclient.discovery.ResourceMethodParameters.path_params": {}, "googleapiclient.discovery.ResourceMethodParameters.enum_params": {}}, "qname": {}, "_index": 108}], ["parse", {"name": {}, "names": {"googleapiclient._helpers.parse_unique_urlencoded": {}, "googleapiclient.mimeparse.parse_mime_type": {}, "googleapiclient.mimeparse.parse_media_range": {}}, "qname": {}, "_index": 101}], ["parse_media_range", {"name": {"googleapiclient.mimeparse.parse_media_range": {}}, "names": {}, "qname": {}, "_index": 269}], ["parse_mime_type", {"name": {"googleapiclient.mimeparse.parse_mime_type": {}}, "names": {}, "qname": {}, "_index": 267}], ["parse_unique_urlencoded", {"name": {"googleapiclient._helpers.parse_unique_urlencoded": {}}, "names": {}, "qname": {}, "_index": 100}], ["parsed", {"name": {}, "names": {"googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.quality_parsed": {}}, "qname": {}, "_index": 276}], ["patch", {"name": {}, "names": {"googleapiclient.http.tunnel_patch": {}}, "qname": {}, "_index": 656}], ["path", {"name": {}, "names": {"googleapiclient.discovery._media_path_url_from_info": {}, "googleapiclient.discovery._fix_up_media_path_base_url": {}, "googleapiclient.discovery.ResourceMethodParameters.path_params": {}}, "qname": {}, "_index": 801}], ["path_params", {"name": {"googleapiclient.discovery.ResourceMethodParameters.path_params": {}}, "names": {}, "qname": {}, "_index": 833}], ["pattern", {"name": {}, "names": {"googleapiclient.discovery.ResourceMethodParameters.pattern_params": {}}, "qname": {}, "_index": 829}], ["pattern_params", {"name": {"googleapiclient.discovery.ResourceMethodParameters.pattern_params": {}}, "names": {}, "qname": {}, "_index": 828}], ["payload", {"name": {}, "names": {"googleapiclient.discovery.HTTP_PAYLOAD_METHODS": {}}, "qname": {}, "_index": 724}], ["positional", {"name": {"googleapiclient._helpers.positional": {}}, "names": {"googleapiclient._helpers.POSITIONAL_WARNING": {}, "googleapiclient._helpers.POSITIONAL_EXCEPTION": {}, "googleapiclient._helpers.POSITIONAL_IGNORE": {}, "googleapiclient._helpers.POSITIONAL_SET": {}, "googleapiclient._helpers.positional": {}}, "qname": {}, "_index": 76}], ["positional_exception", {"name": {"googleapiclient._helpers.POSITIONAL_EXCEPTION": {}}, "names": {}, "qname": {}, "_index": 79}], ["positional_ignore", {"name": {"googleapiclient._helpers.POSITIONAL_IGNORE": {}}, "names": {}, "qname": {}, "_index": 82}], ["positional_set", {"name": {"googleapiclient._helpers.POSITIONAL_SET": {}}, "names": {}, "qname": {}, "_index": 85}], ["positional_warning", {"name": {"googleapiclient._helpers.POSITIONAL_WARNING": {}}, "names": {}, "qname": {}, "_index": 75}], ["postproc", {"name": {"googleapiclient.http.HttpRequest.postproc": {}, "googleapiclient.http.HttpRequestMock.postproc": {}}, "names": {"googleapiclient.http.HttpRequest.postproc": {}, "googleapiclient.http.HttpRequest.null_postproc": {}, "googleapiclient.http.HttpRequestMock.postproc": {}}, "qname": {}, "_index": 533}], ["pretty", {"name": {"googleapiclient.schema.Schemas.pretty": {}}, "names": {"googleapiclient.schema.Schemas.pretty": {}, "googleapiclient.schema.Schemas._prettyPrintByName": {}, "googleapiclient.schema.Schemas.prettyPrintByName": {}, "googleapiclient.schema.Schemas._prettyPrintSchema": {}, "googleapiclient.schema.Schemas.prettyPrintSchema": {}}, "qname": {}, "_index": 665}], ["prettyprintbyname", {"name": {"googleapiclient.schema.Schemas.prettyPrintByName": {}}, "names": {}, "qname": {}, "_index": 671}], ["prettyprintschema", {"name": {"googleapiclient.schema.Schemas.prettyPrintSchema": {}}, "names": {}, "qname": {}, "_index": 675}], ["print", {"name": {}, "names": {"googleapiclient.schema.Schemas._prettyPrintByName": {}, "googleapiclient.schema.Schemas.prettyPrintByName": {}, "googleapiclient.schema.Schemas._prettyPrintSchema": {}, "googleapiclient.schema.Schemas.prettyPrintSchema": {}}, "qname": {}, "_index": 668}], ["process", {"name": {}, "names": {"googleapiclient.http.HttpRequest._process_response": {}}, "qname": {}, "_index": 555}], ["progress", {"name": {"googleapiclient.http.MediaUploadProgress.progress": {}, "googleapiclient.http.MediaDownloadProgress.progress": {}}, "names": {"googleapiclient.http.MediaUploadProgress": {}, "googleapiclient.http.MediaUploadProgress.resumable_progress": {}, "googleapiclient.http.MediaUploadProgress.progress": {}, "googleapiclient.http.MediaDownloadProgress": {}, "googleapiclient.http.MediaDownloadProgress.resumable_progress": {}, "googleapiclient.http.MediaDownloadProgress.progress": {}, "googleapiclient.http.MediaIoBaseDownload._progress": {}, "googleapiclient.http.HttpRequest.resumable_progress": {}}, "qname": {}, "_index": 406}], ["properties", {"name": {}, "names": {"googleapiclient.discovery._methodProperties": {}}, "qname": {}, "_index": 914}], ["protocol", {"name": {}, "names": {"googleapiclient.model.ProtocolBufferModel": {}, "googleapiclient.model.ProtocolBufferModel._protocol_buffer": {}}, "qname": {}, "_index": 363}], ["protocolbuffermodel", {"name": {"googleapiclient.model.ProtocolBufferModel": {}}, "names": {}, "qname": {}, "_index": 362}], ["py", {"name": {}, "names": {"googleapiclient.model._PY_VERSION": {}}, "qname": {}, "_index": 293}], ["quality", {"name": {"googleapiclient.mimeparse.quality": {}}, "names": {"googleapiclient.mimeparse.fitness_and_quality_parsed": {}, "googleapiclient.mimeparse.quality_parsed": {}, "googleapiclient.mimeparse.quality": {}}, "qname": {}, "_index": 275}], ["quality_parsed", {"name": {"googleapiclient.mimeparse.quality_parsed": {}}, "names": {}, "qname": {}, "_index": 278}], ["query", {"name": {}, "names": {"googleapiclient._helpers.update_query_params": {}, "googleapiclient._helpers._add_query_parameter": {}, "googleapiclient.model.BaseModel._build_query": {}, "googleapiclient.discovery.STACK_QUERY_PARAMETERS": {}, "googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery.ResourceMethodParameters.query_params": {}}, "qname": {}, "_index": 107}], ["query_params", {"name": {"googleapiclient.discovery.ResourceMethodParameters.query_params": {}}, "names": {}, "qname": {}, "_index": 831}], ["rand", {"name": {}, "names": {"googleapiclient.http.MediaIoBaseDownload._rand": {}, "googleapiclient.http.HttpRequest._rand": {}}, "qname": {}, "_index": 504}], ["range", {"name": {}, "names": {"googleapiclient.mimeparse.parse_media_range": {}}, "qname": {}, "_index": 270}], ["raw", {"name": {}, "names": {"googleapiclient.model.RawModel": {}}, "qname": {}, "_index": 348}], ["rawmodel", {"name": {"googleapiclient.model.RawModel": {}}, "names": {}, "qname": {}, "_index": 347}], ["read", {"name": {"googleapiclient.http._StreamSlice.read": {}}, "names": {"googleapiclient.http._StreamSlice.read": {}, "googleapiclient.discovery_cache.file_cache._read_or_initialize_cache": {}}, "qname": {}, "_index": 521}], ["reason", {"name": {"googleapiclient.errors.HttpError.reason": {}, "googleapiclient.errors.BatchError.reason": {}}, "names": {"googleapiclient.errors.HttpError.reason": {}, "googleapiclient.errors.HttpError._get_reason": {}, "googleapiclient.errors.BatchError.reason": {}}, "qname": {}, "_index": 133}], ["redirects", {"name": {}, "names": {"googleapiclient.http.HttpMockSequence.follow_redirects": {}}, "qname": {}, "_index": 645}], ["refresh", {"name": {}, "names": {"googleapiclient._auth.refresh_credentials": {}, "googleapiclient.http.BatchHttpRequest._refresh_and_apply_credentials": {}}, "qname": {}, "_index": 61}], ["refresh_credentials", {"name": {"googleapiclient._auth.refresh_credentials": {}}, "names": {}, "qname": {}, "_index": 60}], ["refreshed", {"name": {}, "names": {"googleapiclient.http.BatchHttpRequest._refreshed_credentials": {}}, "qname": {}, "_index": 586}], ["repeated", {"name": {}, "names": {"googleapiclient.discovery.ResourceMethodParameters.repeated_params": {}}, "qname": {}, "_index": 826}], ["repeated_params", {"name": {"googleapiclient.discovery.ResourceMethodParameters.repeated_params": {}}, "names": {}, "qname": {}, "_index": 825}], ["repr", {"name": {}, "names": {"googleapiclient.errors.HttpError.__repr__": {}, "googleapiclient.errors.BatchError.__repr__": {}}, "qname": {}, "_index": 142}], ["request", {"name": {"googleapiclient.model.Model.request": {}, "googleapiclient.model.BaseModel.request": {}, "googleapiclient.http.HttpMock.request": {}, "googleapiclient.http.HttpMockSequence.request": {}}, "names": {"googleapiclient.model.dump_request_response": {}, "googleapiclient.model.Model.request": {}, "googleapiclient.model.BaseModel._log_request": {}, "googleapiclient.model.BaseModel.request": {}, "googleapiclient.http._retry_request": {}, "googleapiclient.http.MediaIoBaseDownload._request": {}, "googleapiclient.http.HttpRequest": {}, "googleapiclient.http.BatchHttpRequest": {}, "googleapiclient.http.BatchHttpRequest._serialize_request": {}, "googleapiclient.http.HttpRequestMock": {}, "googleapiclient.http.RequestMockBuilder": {}, "googleapiclient.http.HttpMock.request": {}, "googleapiclient.http.HttpMockSequence.request_sequence": {}, "googleapiclient.http.HttpMockSequence.request": {}, "googleapiclient.discovery.Resource._requestBuilder": {}}, "qname": {}, "_index": 298}], ["request_sequence", {"name": {"googleapiclient.http.HttpMockSequence.request_sequence": {}}, "names": {}, "qname": {}, "_index": 647}], ["requestmockbuilder", {"name": {"googleapiclient.http.RequestMockBuilder": {}}, "names": {}, "qname": {}, "_index": 612}], ["requests", {"name": {}, "names": {"googleapiclient.http._TOO_MANY_REQUESTS": {}, "googleapiclient.http.BatchHttpRequest._requests": {}}, "qname": {}, "_index": 390}], ["required", {"name": {}, "names": {"googleapiclient.discovery.ResourceMethodParameters.required_params": {}}, "qname": {}, "_index": 823}], ["required_params", {"name": {"googleapiclient.discovery.ResourceMethodParameters.required_params": {}}, "names": {}, "qname": {}, "_index": 822}], ["reserved", {"name": {}, "names": {"googleapiclient.discovery.RESERVED_WORDS": {}}, "qname": {}, "_index": 767}], ["reserved_words", {"name": {"googleapiclient.discovery.RESERVED_WORDS": {}}, "names": {}, "qname": {}, "_index": 766}], ["resource", {"name": {"googleapiclient.discovery.Resource": {}}, "names": {"googleapiclient.channel.X_GOOG_RESOURCE_STATE": {}, "googleapiclient.channel.X_GOOG_RESOURCE_URI": {}, "googleapiclient.channel.X_GOOG_RESOURCE_ID": {}, "googleapiclient.channel.Notification.resource_id": {}, "googleapiclient.channel.Notification.resource_uri": {}, "googleapiclient.channel.Channel.resource_id": {}, "googleapiclient.channel.Channel.resource_uri": {}, "googleapiclient.discovery.ResourceMethodParameters": {}, "googleapiclient.discovery.Resource": {}, "googleapiclient.discovery.Resource._resourceDesc": {}}, "qname": {}, "_index": 207}], ["resource_id", {"name": {"googleapiclient.channel.Notification.resource_id": {}, "googleapiclient.channel.Channel.resource_id": {}}, "names": {}, "qname": {}, "_index": 224}], ["resource_uri", {"name": {"googleapiclient.channel.Notification.resource_uri": {}, "googleapiclient.channel.Channel.resource_uri": {}}, "names": {}, "qname": {}, "_index": 227}], ["resourcemethodparameters", {"name": {"googleapiclient.discovery.ResourceMethodParameters": {}}, "names": {}, "qname": {}, "_index": 818}], ["resources", {"name": {}, "names": {"googleapiclient.discovery.Resource._add_nested_resources": {}}, "qname": {}, "_index": 903}], ["resp", {"name": {"googleapiclient.errors.HttpError.resp": {}, "googleapiclient.errors.BatchError.resp": {}, "googleapiclient.http.HttpRequestMock.resp": {}}, "names": {"googleapiclient.errors.HttpError.resp": {}, "googleapiclient.errors.BatchError.resp": {}, "googleapiclient.http.HttpRequestMock.resp": {}}, "qname": {}, "_index": 124}], ["response", {"name": {"googleapiclient.model.Model.response": {}, "googleapiclient.model.BaseModel.response": {}}, "names": {"googleapiclient.model.dump_request_response": {}, "googleapiclient.model.Model.response": {}, "googleapiclient.model.BaseModel.no_content_response": {}, "googleapiclient.model.BaseModel._log_response": {}, "googleapiclient.model.BaseModel.response": {}, "googleapiclient.model.JsonModel.no_content_response": {}, "googleapiclient.model.RawModel.no_content_response": {}, "googleapiclient.model.MediaModel.no_content_response": {}, "googleapiclient.model.ProtocolBufferModel.no_content_response": {}, "googleapiclient.http._should_retry_response": {}, "googleapiclient.http.HttpRequest.response_callbacks": {}, "googleapiclient.http.HttpRequest.add_response_callback": {}, "googleapiclient.http.HttpRequest._process_response": {}, "googleapiclient.http.BatchHttpRequest._deserialize_response": {}, "googleapiclient.http.HttpMock.response_headers": {}}, "qname": {}, "_index": 299}], ["response_callbacks", {"name": {"googleapiclient.http.HttpRequest.response_callbacks": {}}, "names": {}, "qname": {}, "_index": 536}], ["response_headers", {"name": {"googleapiclient.http.HttpMock.response_headers": {}}, "names": {}, "qname": {}, "_index": 627}], ["responses", {"name": {"googleapiclient.http.RequestMockBuilder.responses": {}}, "names": {"googleapiclient.http.BatchHttpRequest._responses": {}, "googleapiclient.http.RequestMockBuilder.responses": {}}, "qname": {}, "_index": 583}], ["resumable", {"name": {"googleapiclient.http.MediaUpload.resumable": {}, "googleapiclient.http.MediaIoBaseUpload.resumable": {}, "googleapiclient.http.HttpRequest.resumable": {}}, "names": {"googleapiclient.errors.ResumableUploadError": {}, "googleapiclient.http.MediaUploadProgress.resumable_progress": {}, "googleapiclient.http.MediaDownloadProgress.resumable_progress": {}, "googleapiclient.http.MediaUpload.resumable": {}, "googleapiclient.http.MediaIoBaseUpload._resumable": {}, "googleapiclient.http.MediaIoBaseUpload.resumable": {}, "googleapiclient.http.HttpRequest.resumable": {}, "googleapiclient.http.HttpRequest.resumable_uri": {}, "googleapiclient.http.HttpRequest.resumable_progress": {}}, "qname": {}, "_index": 169}], ["resumable_progress", {"name": {"googleapiclient.http.MediaUploadProgress.resumable_progress": {}, "googleapiclient.http.MediaDownloadProgress.resumable_progress": {}, "googleapiclient.http.HttpRequest.resumable_progress": {}}, "names": {}, "qname": {}, "_index": 409}], ["resumable_uri", {"name": {"googleapiclient.http.HttpRequest.resumable_uri": {}}, "names": {}, "qname": {}, "_index": 543}], ["resumableuploaderror", {"name": {"googleapiclient.errors.ResumableUploadError": {}}, "names": {}, "qname": {}, "_index": 168}], ["retrieve", {"name": {}, "names": {"googleapiclient.discovery._retrieve_discovery_doc": {}}, "qname": {}, "_index": 785}], ["retry", {"name": {}, "names": {"googleapiclient.http._should_retry_response": {}, "googleapiclient.http._retry_request": {}}, "qname": {}, "_index": 401}], ["root", {"name": {}, "names": {"googleapiclient.discovery.Resource._rootDesc": {}}, "qname": {}, "_index": 871}], ["sample", {"name": {}, "names": {"googleapiclient.sample_tools": {}}, "qname": {}, "_index": 32}], ["sample_tools", {"name": {"googleapiclient.sample_tools": {}}, "names": {}, "qname": {}, "_index": 31}], ["schema", {"name": {"googleapiclient.schema": {}, "googleapiclient.schema._SchemaToStruct.schema": {}}, "names": {"googleapiclient.schema": {}, "googleapiclient.schema.Schemas._prettyPrintSchema": {}, "googleapiclient.schema.Schemas.prettyPrintSchema": {}, "googleapiclient.schema._SchemaToStruct": {}, "googleapiclient.schema._SchemaToStruct.schema": {}, "googleapiclient.discovery.Resource._schema": {}}, "qname": {}, "_index": 35}], ["schemas", {"name": {"googleapiclient.schema.Schemas": {}, "googleapiclient.schema.Schemas.schemas": {}}, "names": {"googleapiclient.schema.Schemas": {}, "googleapiclient.schema.Schemas.schemas": {}}, "qname": {}, "_index": 661}], ["scopes", {"name": {}, "names": {"googleapiclient._auth.with_scopes": {}}, "qname": {}, "_index": 55}], ["sec", {"name": {}, "names": {"googleapiclient.http.DEFAULT_HTTP_TIMEOUT_SEC": {}}, "qname": {}, "_index": 394}], ["seen", {"name": {"googleapiclient.schema._SchemaToStruct.seen": {}}, "names": {"googleapiclient.schema._SchemaToStruct.seen": {}}, "qname": {}, "_index": 691}], ["sequence", {"name": {}, "names": {"googleapiclient.http.HttpMockSequence": {}, "googleapiclient.http.HttpMockSequence.request_sequence": {}}, "qname": {}, "_index": 637}], ["serialize", {"name": {"googleapiclient.model.BaseModel.serialize": {}, "googleapiclient.model.JsonModel.serialize": {}, "googleapiclient.model.ProtocolBufferModel.serialize": {}}, "names": {"googleapiclient.model.BaseModel.serialize": {}, "googleapiclient.model.JsonModel.serialize": {}, "googleapiclient.model.ProtocolBufferModel.serialize": {}, "googleapiclient.http.BatchHttpRequest._serialize_request": {}}, "qname": {}, "_index": 330}], ["service", {"name": {}, "names": {"googleapiclient.discovery._discovery_service_uri_options": {}, "googleapiclient.discovery.Resource._set_service_methods": {}}, "qname": {}, "_index": 781}], ["set", {"name": {"googleapiclient.discovery_cache.base.Cache.set": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache.set": {}, "googleapiclient.discovery_cache.file_cache.Cache.set": {}}, "names": {"googleapiclient._helpers.POSITIONAL_SET": {}, "googleapiclient.http.set_user_agent": {}, "googleapiclient.discovery.ResourceMethodParameters.set_parameters": {}, "googleapiclient.discovery.Resource._set_dynamic_attr": {}, "googleapiclient.discovery.Resource._set_service_methods": {}, "googleapiclient.discovery_cache.base.Cache.set": {}, "googleapiclient.discovery_cache.appengine_memcache.Cache.set": {}, "googleapiclient.discovery_cache.file_cache.Cache.set": {}}, "qname": {}, "_index": 86}], ["set_parameters", {"name": {"googleapiclient.discovery.ResourceMethodParameters.set_parameters": {}}, "names": {}, "qname": {}, "_index": 842}], ["set_user_agent", {"name": {"googleapiclient.http.set_user_agent": {}}, "names": {}, "qname": {}, "_index": 650}], ["setstate", {"name": {}, "names": {"googleapiclient.discovery.Resource.__setstate__": {}}, "qname": {}, "_index": 887}], ["shifts", {"name": {}, "names": {"googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS": {}}, "qname": {}, "_index": 729}], ["should", {"name": {}, "names": {"googleapiclient.http._should_retry_response": {}}, "qname": {}, "_index": 400}], ["size", {"name": {"googleapiclient.http.MediaUpload.size": {}, "googleapiclient.http.MediaIoBaseUpload.size": {}}, "names": {"googleapiclient.errors.MediaUploadSizeError": {}, "googleapiclient.errors.InvalidChunkSizeError": {}, "googleapiclient.http.DEFAULT_CHUNK_SIZE": {}, "googleapiclient.http.MediaUploadProgress.total_size": {}, "googleapiclient.http.MediaDownloadProgress.total_size": {}, "googleapiclient.http.MediaUpload.size": {}, "googleapiclient.http.MediaIoBaseUpload._size": {}, "googleapiclient.http.MediaIoBaseUpload.size": {}, "googleapiclient.http.MediaIoBaseDownload._total_size": {}, "googleapiclient.http.HttpRequest.body_size": {}, "googleapiclient.discovery._MEDIA_SIZE_BIT_SHIFTS": {}, "googleapiclient.discovery._media_size_to_long": {}}, "qname": {}, "_index": 166}], ["sleep", {"name": {}, "names": {"googleapiclient.http.MediaIoBaseDownload._sleep": {}, "googleapiclient.http.HttpRequest._sleep": {}}, "qname": {}, "_index": 501}], ["slice", {"name": {}, "names": {"googleapiclient.http._StreamSlice": {}}, "qname": {}, "_index": 512}], ["stack", {"name": {}, "names": {"googleapiclient.discovery.STACK_QUERY_PARAMETERS": {}, "googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE": {}}, "qname": {}, "_index": 757}], ["stack_query_parameter_default_value", {"name": {"googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE": {}}, "names": {}, "qname": {}, "_index": 760}], ["stack_query_parameters", {"name": {"googleapiclient.discovery.STACK_QUERY_PARAMETERS": {}}, "names": {}, "qname": {}, "_index": 756}], ["state", {"name": {"googleapiclient.channel.Notification.state": {}}, "names": {"googleapiclient.channel.X_GOOG_RESOURCE_STATE": {}, "googleapiclient.channel.Notification.state": {}, "googleapiclient.http.HttpRequest._in_error_state": {}}, "qname": {}, "_index": 208}], ["static", {"name": {}, "names": {"googleapiclient.discovery_cache.get_static_doc": {}}, "qname": {}, "_index": 925}], ["status", {"name": {}, "names": {"googleapiclient.errors.HttpError.status_code": {}}, "qname": {}, "_index": 136}], ["status_code", {"name": {"googleapiclient.errors.HttpError.status_code": {}}, "names": {}, "qname": {}, "_index": 135}], ["str", {"name": {}, "names": {"googleapiclient.schema._SchemaToStruct._to_str_impl": {}, "googleapiclient.schema._SchemaToStruct.to_str": {}}, "qname": {}, "_index": 705}], ["stream", {"name": {"googleapiclient.http.MediaUpload.stream": {}, "googleapiclient.http.MediaIoBaseUpload.stream": {}}, "names": {"googleapiclient.http.MediaUpload.has_stream": {}, "googleapiclient.http.MediaUpload.stream": {}, "googleapiclient.http.MediaIoBaseUpload.has_stream": {}, "googleapiclient.http.MediaIoBaseUpload.stream": {}, "googleapiclient.http._StreamSlice": {}, "googleapiclient.http._StreamSlice._stream": {}}, "qname": {}, "_index": 433}], ["string", {"name": {"googleapiclient.schema._SchemaToStruct.string": {}}, "names": {"googleapiclient.schema._SchemaToStruct.string": {}}, "qname": {}, "_index": 684}], ["struct", {"name": {}, "names": {"googleapiclient.schema._SchemaToStruct": {}}, "qname": {}, "_index": 679}], ["sym", {"name": {}, "names": {"googleapiclient._helpers._SYM_LINK_MESSAGE": {}}, "qname": {}, "_index": 89}], ["timeout", {"name": {}, "names": {"googleapiclient.http.DEFAULT_HTTP_TIMEOUT_SEC": {}}, "qname": {}, "_index": 393}], ["timestamp", {"name": {}, "names": {"googleapiclient.discovery_cache.file_cache._to_timestamp": {}}, "qname": {}, "_index": 943}], ["to", {"name": {}, "names": {"googleapiclient.http.MediaUpload._to_json": {}, "googleapiclient.http.MediaUpload.to_json": {}, "googleapiclient.http.MediaIoBaseUpload.to_json": {}, "googleapiclient.http.MediaFileUpload.to_json": {}, "googleapiclient.http.HttpRequest.to_json": {}, "googleapiclient.http.BatchHttpRequest._id_to_header": {}, "googleapiclient.http.BatchHttpRequest._header_to_id": {}, "googleapiclient.schema._SchemaToStruct": {}, "googleapiclient.schema._SchemaToStruct._to_str_impl": {}, "googleapiclient.schema._SchemaToStruct.to_str": {}, "googleapiclient.discovery._media_size_to_long": {}, "googleapiclient.discovery_cache.file_cache._to_timestamp": {}}, "qname": {}, "_index": 437}], ["to_json", {"name": {"googleapiclient.http.MediaUpload.to_json": {}, "googleapiclient.http.MediaIoBaseUpload.to_json": {}, "googleapiclient.http.MediaFileUpload.to_json": {}, "googleapiclient.http.HttpRequest.to_json": {}}, "names": {}, "qname": {}, "_index": 439}], ["to_str", {"name": {"googleapiclient.schema._SchemaToStruct.to_str": {}}, "names": {}, "qname": {}, "_index": 708}], ["token", {"name": {"googleapiclient.channel.Channel.token": {}}, "names": {"googleapiclient.channel.Channel.token": {}, "googleapiclient.discovery._PAGE_TOKEN_NAMES": {}, "googleapiclient.discovery._findPageTokenName": {}}, "qname": {}, "_index": 232}], ["too", {"name": {}, "names": {"googleapiclient.http._TOO_MANY_REQUESTS": {}}, "qname": {}, "_index": 388}], ["tools", {"name": {}, "names": {"googleapiclient.sample_tools": {}}, "qname": {}, "_index": 33}], ["total", {"name": {}, "names": {"googleapiclient.http.MediaUploadProgress.total_size": {}, "googleapiclient.http.MediaDownloadProgress.total_size": {}, "googleapiclient.http.MediaIoBaseDownload._total_size": {}}, "qname": {}, "_index": 412}], ["total_size", {"name": {"googleapiclient.http.MediaUploadProgress.total_size": {}, "googleapiclient.http.MediaDownloadProgress.total_size": {}}, "names": {}, "qname": {}, "_index": 411}], ["tunnel", {"name": {}, "names": {"googleapiclient.http.tunnel_patch": {}}, "qname": {}, "_index": 655}], ["tunnel_patch", {"name": {"googleapiclient.http.tunnel_patch": {}}, "names": {}, "qname": {}, "_index": 654}], ["type", {"name": {"googleapiclient.channel.Channel.type": {}}, "names": {"googleapiclient.errors.UnknownFileType": {}, "googleapiclient.errors.UnknownLinkType": {}, "googleapiclient.errors.UnacceptableMimeTypeError": {}, "googleapiclient.channel.Channel.type": {}, "googleapiclient.mimeparse.parse_mime_type": {}, "googleapiclient.model.BaseModel.content_type": {}, "googleapiclient.model.JsonModel.content_type": {}, "googleapiclient.model.RawModel.content_type": {}, "googleapiclient.model.MediaModel.content_type": {}, "googleapiclient.model.ProtocolBufferModel.content_type": {}, "googleapiclient.discovery.MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE": {}}, "qname": {}, "_index": 150}], ["types", {"name": {}, "names": {"googleapiclient.discovery.ResourceMethodParameters.param_types": {}}, "qname": {}, "_index": 836}], ["unacceptable", {"name": {}, "names": {"googleapiclient.errors.UnacceptableMimeTypeError": {}}, "qname": {}, "_index": 160}], ["unacceptablemimetypeerror", {"name": {"googleapiclient.errors.UnacceptableMimeTypeError": {}}, "names": {}, "qname": {}, "_index": 159}], ["undent", {"name": {"googleapiclient.schema._SchemaToStruct.undent": {}}, "names": {"googleapiclient.schema._SchemaToStruct.undent": {}}, "qname": {}, "_index": 702}], ["unexpected", {"name": {}, "names": {"googleapiclient.errors.UnexpectedMethodError": {}, "googleapiclient.errors.UnexpectedBodyError": {}, "googleapiclient.http.RequestMockBuilder.check_unexpected": {}}, "qname": {}, "_index": 186}], ["unexpectedbodyerror", {"name": {"googleapiclient.errors.UnexpectedBodyError": {}}, "names": {}, "qname": {}, "_index": 190}], ["unexpectedmethoderror", {"name": {"googleapiclient.errors.UnexpectedMethodError": {}}, "names": {}, "qname": {}, "_index": 185}], ["unique", {"name": {}, "names": {"googleapiclient._helpers.parse_unique_urlencoded": {}}, "qname": {}, "_index": 102}], ["universe", {"name": {}, "names": {"googleapiclient.discovery.HAS_UNIVERSE": {}, "googleapiclient.discovery.GOOGLE_CLOUD_UNIVERSE_DOMAIN": {}, "googleapiclient.discovery.DEFAULT_UNIVERSE": {}, "googleapiclient.discovery._check_api_core_compatible_with_credentials_universe": {}, "googleapiclient.discovery.Resource._universe_domain": {}}, "qname": {}, "_index": 253}], ["unknown", {"name": {}, "names": {"googleapiclient.errors.UnknownFileType": {}, "googleapiclient.errors.UnknownLinkType": {}, "googleapiclient.errors.UnknownApiNameOrVersion": {}}, "qname": {}, "_index": 149}], ["unknownapinameorversion", {"name": {"googleapiclient.errors.UnknownApiNameOrVersion": {}}, "names": {}, "qname": {}, "_index": 154}], ["unknownfiletype", {"name": {"googleapiclient.errors.UnknownFileType": {}}, "names": {}, "qname": {}, "_index": 148}], ["unknownlinktype", {"name": {"googleapiclient.errors.UnknownLinkType": {}}, "names": {}, "qname": {}, "_index": 152}], ["up", {"name": {}, "names": {"googleapiclient.discovery._fix_up_parameters": {}, "googleapiclient.discovery._fix_up_media_upload": {}, "googleapiclient.discovery._fix_up_method_description": {}, "googleapiclient.discovery._fix_up_media_path_base_url": {}}, "qname": {}, "_index": 806}], ["update", {"name": {"googleapiclient.channel.Channel.update": {}}, "names": {"googleapiclient._helpers.update_query_params": {}, "googleapiclient.channel.Channel.update": {}}, "qname": {}, "_index": 106}], ["update_query_params", {"name": {"googleapiclient._helpers.update_query_params": {}}, "names": {}, "qname": {}, "_index": 105}], ["upload", {"name": {}, "names": {"googleapiclient.errors.MediaUploadSizeError": {}, "googleapiclient.errors.ResumableUploadError": {}, "googleapiclient.http.MediaUploadProgress": {}, "googleapiclient.http.MediaUpload": {}, "googleapiclient.http.MediaIoBaseUpload": {}, "googleapiclient.http.MediaFileUpload": {}, "googleapiclient.http.MediaInMemoryUpload": {}, "googleapiclient.discovery._fix_up_media_upload": {}}, "qname": {}, "_index": 165}], ["upper", {"name": {}, "names": {"googleapiclient.channel._upper_header_keys": {}}, "qname": {}, "_index": 215}], ["uri", {"name": {"googleapiclient.errors.HttpError.uri": {}, "googleapiclient.channel.Notification.uri": {}, "googleapiclient.http.HttpRequest.uri": {}, "googleapiclient.http.HttpMock.uri": {}}, "names": {"googleapiclient.errors.HttpError.uri": {}, "googleapiclient.channel.X_GOOG_RESOURCE_URI": {}, "googleapiclient.channel.Notification.uri": {}, "googleapiclient.channel.Notification.resource_uri": {}, "googleapiclient.channel.Channel.resource_uri": {}, "googleapiclient.http.MAX_URI_LENGTH": {}, "googleapiclient.http._LEGACY_BATCH_URI": {}, "googleapiclient.http.MediaIoBaseDownload._uri": {}, "googleapiclient.http.HttpRequest.uri": {}, "googleapiclient.http.HttpRequest.resumable_uri": {}, "googleapiclient.http.BatchHttpRequest._batch_uri": {}, "googleapiclient.http.HttpMock.uri": {}, "googleapiclient.discovery.DISCOVERY_URI": {}, "googleapiclient.discovery.V2_DISCOVERY_URI": {}, "googleapiclient.discovery._discovery_service_uri_options": {}}, "qname": {}, "_index": 128}], ["uritemplate", {"name": {"googleapiclient.discovery.URITEMPLATE": {}}, "names": {"googleapiclient.discovery.URITEMPLATE": {}}, "qname": {}, "_index": 711}], ["url", {"name": {}, "names": {"googleapiclient.discovery._media_path_url_from_info": {}, "googleapiclient.discovery._fix_up_media_path_base_url": {}, "googleapiclient.discovery.Resource._baseUrl": {}}, "qname": {}, "_index": 802}], ["urlencoded", {"name": {}, "names": {"googleapiclient._helpers.parse_unique_urlencoded": {}}, "qname": {}, "_index": 103}], ["urljoin", {"name": {}, "names": {"googleapiclient.discovery._urljoin": {}}, "qname": {}, "_index": 816}], ["use", {"name": {}, "names": {"googleapiclient.discovery.GOOGLE_API_USE_CLIENT_CERTIFICATE": {}, "googleapiclient.discovery.GOOGLE_API_USE_MTLS_ENDPOINT": {}}, "qname": {}, "_index": 742}], ["user", {"name": {}, "names": {"googleapiclient.http.set_user_agent": {}}, "qname": {}, "_index": 651}], ["v2", {"name": {}, "names": {"googleapiclient.discovery.V2_DISCOVERY_URI": {}}, "qname": {}, "_index": 718}], ["v2_discovery_uri", {"name": {"googleapiclient.discovery.V2_DISCOVERY_URI": {}}, "names": {}, "qname": {}, "_index": 717}], ["valid", {"name": {}, "names": {"googleapiclient._auth.is_valid": {}}, "qname": {}, "_index": 68}], ["validate", {"name": {}, "names": {"googleapiclient.discovery.Resource._validate_credentials": {}}, "qname": {}, "_index": 908}], ["validated", {"name": {}, "names": {"googleapiclient.discovery.Resource._credentials_validated": {}}, "qname": {}, "_index": 878}], ["value", {"name": {"googleapiclient.schema._SchemaToStruct.value": {}}, "names": {"googleapiclient.schema._SchemaToStruct.value": {}, "googleapiclient.discovery.BODY_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery.MEDIA_BODY_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery.MEDIA_MIME_TYPE_PARAMETER_DEFAULT_VALUE": {}, "googleapiclient.discovery.STACK_QUERY_PARAMETER_DEFAULT_VALUE": {}}, "qname": {}, "_index": 682}], ["varname", {"name": {"googleapiclient.discovery.VARNAME": {}}, "names": {"googleapiclient.discovery.VARNAME": {}}, "qname": {}, "_index": 713}], ["version", {"name": {"googleapiclient.version": {}}, "names": {"googleapiclient.version": {}, "googleapiclient.errors.UnknownApiNameOrVersion": {}, "googleapiclient.mimeparse.__version__": {}, "googleapiclient.version.__version__": {}, "googleapiclient.model._PY_VERSION": {}, "googleapiclient.discovery.APICoreVersionError": {}}, "qname": {}, "_index": 37}], ["warning", {"name": {}, "names": {"googleapiclient._helpers.POSITIONAL_WARNING": {}}, "qname": {}, "_index": 77}], ["webhook", {"name": {}, "names": {"googleapiclient.channel.new_webhook_channel": {}}, "qname": {}, "_index": 249}], ["with", {"name": {}, "names": {"googleapiclient._auth.with_scopes": {}, "googleapiclient.discovery._check_api_core_compatible_with_credentials_universe": {}}, "qname": {}, "_index": 54}], ["with_scopes", {"name": {"googleapiclient._auth.with_scopes": {}}, "names": {}, "qname": {}, "_index": 53}], ["words", {"name": {}, "names": {"googleapiclient.discovery.RESERVED_WORDS": {}}, "qname": {}, "_index": 768}], ["wrapper", {"name": {}, "names": {"googleapiclient.model.JsonModel._data_wrapper": {}}, "qname": {}, "_index": 342}], ["x", {"name": {}, "names": {"googleapiclient.channel.X_GOOG_CHANNEL_ID": {}, "googleapiclient.channel.X_GOOG_MESSAGE_NUMBER": {}, "googleapiclient.channel.X_GOOG_RESOURCE_STATE": {}, "googleapiclient.channel.X_GOOG_RESOURCE_URI": {}, "googleapiclient.channel.X_GOOG_RESOURCE_ID": {}}, "qname": {}, "_index": 199}], ["x_goog_channel_id", {"name": {"googleapiclient.channel.X_GOOG_CHANNEL_ID": {}}, "names": {}, "qname": {}, "_index": 198}], ["x_goog_message_number", {"name": {"googleapiclient.channel.X_GOOG_MESSAGE_NUMBER": {}}, "names": {}, "qname": {}, "_index": 203}], ["x_goog_resource_id", {"name": {"googleapiclient.channel.X_GOOG_RESOURCE_ID": {}}, "names": {}, "qname": {}, "_index": 212}], ["x_goog_resource_state", {"name": {"googleapiclient.channel.X_GOOG_RESOURCE_STATE": {}}, "names": {}, "qname": {}, "_index": 206}], ["x_goog_resource_uri", {"name": {"googleapiclient.channel.X_GOOG_RESOURCE_URI": {}}, "names": {}, "qname": {}, "_index": 210}]], "pipeline": []} \ No newline at end of file diff --git a/docs/pydoc/searchlib.js b/docs/pydoc/searchlib.js new file mode 100644 index 00000000000..882d77153ed --- /dev/null +++ b/docs/pydoc/searchlib.js @@ -0,0 +1,370 @@ +// Wrapper around lunr index searching system for pydoctor API objects +// and function to format search results items into rederable HTML elements. +// This file is meant to be used as a library for the pydoctor search bar (search.js) as well as +// provide a hackable inferface to integrate API docs searching into other platforms, i.e. provide a +// "Search in API docs" option from Read The Docs search page. +// Depends on ajax.js, bundled with pydoctor. +// Other required ressources like lunr.js, searchindex.json and all-documents.html are passed as URL +// to functions. This makes the code reusable outside of pydoctor build directory. +// Implementation note: Searches are designed to be launched synchronously, if lunrSearch() is called sucessively (while already running), +// old promise will never resolves and the searhc worker will be restarted. + +// Hacky way to make the worker code inline with the rest of the source file handling the search. +// Worker message params are the following: +// - query: string +// - indexJSONData: dict +// - defaultFields: list of strings +// - autoWildcard: boolean +let _lunrWorkerCode = ` + +// The lunr.js code will be inserted here. + +onmessage = (message) => { + if (!message.data.query) { + throw new Error('No search query provided.'); + } + if (!message.data.indexJSONData) { + throw new Error('No index data provided.'); + } + if (!message.data.defaultFields) { + throw new Error('No default fields provided.'); + } + if (!message.data.hasOwnProperty('autoWildcard')){ + throw new Error('No value for auto wildcard provided.'); + } + // Create index + let index = lunr.Index.load(message.data.indexJSONData); + + // Declare query function building + function _queryfn(_query){ // _query is the Query object + // Edit the parsed query clauses that are applicable for all fields (default) in order + // to remove the field 'kind' from the clause since this it's only useful when specifically requested. + var parser = new lunr.QueryParser(message.data.query, _query) + parser.parse() + var hasTraillingWildcard = false; + _query.clauses.forEach(clause => { + if (clause.fields == _query.allFields){ + // we change the query fields when they are applicable to all fields + // to a list of predefined fields because we might include additional filters (like kind:) + // which should not be matched by default. + clause.fields = message.data.defaultFields; + } + // clause.wildcard is actually always NONE due to https://github.com/olivernn/lunr.js/issues/495 + // But this works... + if (clause.term.slice(-1) == '*'){ + // we want to avoid the auto wildcard system only if a trailling wildcard is already added + // not if a leading wildcard exists + hasTraillingWildcard = true + } + }); + // Auto wilcard feature, see issue https://github.com/twisted/pydoctor/issues/648 + var new_clauses = []; + if ((message.data.autoWildcard == true) && (hasTraillingWildcard == false)){ + _query.clauses.forEach(clause => { + // Setting clause.wildcard is useless. + // But this works... + let new_clause = {...clause} + new_clause.term = new_clause.term + '*' + clause.boost = 2 + new_clause.boost = 0 + new_clauses.push(new_clause) + }); + } + new_clauses.forEach(clause => { + _query.clauses.push(clause) + }); + console.log('Parsed query:') + console.dir(_query.clauses) + } + + // Launch the search + let results = index.query(_queryfn) + + // Post message with results + postMessage({'results':results}); +}; +`; + +// Adapted from https://stackoverflow.com/a/44137284 +// Override worker methods to detect termination and count message posting and restart() method. +// This allows some optimizations since the worker doesn't need to be restarted when it hasn't been used. +function _makeWorkerSmart(workerURL) { + // make normal worker + var worker = new Worker(workerURL); + // assume that it's running from the start + worker.terminated = false; + worker.postMessageCount = 0; + // count the number of times postMessage() is called + worker.postMessage = function() { + this.postMessageCount = this.postMessageCount + 1; + // normal post message + return Worker.prototype.postMessage.apply(this, arguments); + } + // sets terminated to true + worker.terminate = function() { + if (this.terminated===true){return;} + this.terminated = true; + // normal terminate + return Worker.prototype.terminate.apply(this, arguments); + } + // creates NEW WORKER with the same URL as itself, terminate worker first. + worker.restart = function() { + this.terminate(); + return _makeWorkerSmart(workerURL); + } + return worker; +} + +var _searchWorker = null + +/** + * The searchEventsEnv Document variable let's let caller register a event listener "searchStarted" for sending + * a signal when the search actually starts, could be up to 0.2 or 0.3 secs ater user finished typing. + */ +let searchEventsEnv = document.implementation.createHTMLDocument( + 'This is a document to popagate search related events, we avoid using "document" for performance reasons.'); + +// there is a difference in abortSearch() vs restartSearchWorker(). +// abortSearch() triggers a abortSearch event, which have a effect on searches that are not yet running in workers. +// whereas restartSearchWorker() which kills the worker if it's in use, but does not abort search that is not yet posted to the worker. +function abortSearch(){ + searchEventsEnv.dispatchEvent(new CustomEvent('abortSearch', {})); +} +// Kills and restarts search worker (if needed). +function restartSearchWorker() { + var w = _searchWorker; + if (w!=null){ + if (w.postMessageCount>0){ + // the worker has been used, it has to be restarted + // TODO: Actually it needs to be restarted only if it's running a search right now. + // Otherwise we can reuse the same worker, but that's not a very big deal in this context. + w = w.restart(); + } + // Else, the worker has never been used, it can be returned as is. + // This can happens when typing fast with a very large index JSON to load. + } + _searchWorker = w; +} + +function _getWorkerPromise(lunJsSourceCode){ // -> Promise of a fresh worker to run a query. + let promise = new Promise((resolve, reject) => { + // Do the search business, wrap the process inside an inline Worker. + // This is a hack such that the UI can refresh during the search. + if (_searchWorker===null){ + // Create only one blob and URL. + let lunrWorkerCode = lunJsSourceCode + _lunrWorkerCode; + let _workerBlob = new Blob([lunrWorkerCode], {type: 'text/javascript'}); + let _workerObjectURL = window.URL.createObjectURL(_workerBlob); + _searchWorker = _makeWorkerSmart(_workerObjectURL) + } + else{ + restartSearchWorker(); + } + resolve(_searchWorker); + }); + return promise +} + +/** + * Launch a search and get a promise of results. One search can be lauch at a time only. + * Old promise never resolves if calling lunrSearch() again while already running. + * @param query: Query string. + * @param indexURL: URL pointing to the Lunr search index, generated by pydoctor. + * @param defaultFields: List of strings: default fields to apply to query clauses when none is specified. ["name", "names", "qname"] for instance. + * @param lunrJsURL: URL pointing to a copy of lunr.js. + * @param searchDelay: Number of miliseconds to wait before actually launching the query. This is useful to set for "search as you type" kind of search box + * because it let a chance to users to continue typing without triggering useless searches (because previous search is aborted on launching a new one). + * @param autoWildcard: Whether to automatically append wildcards to all query clauses when no wildcard is already specified. boolean. + */ +function lunrSearch(query, indexURL, defaultFields, lunrJsURL, searchDelay, autoWildcard){ + // Abort ongoing search + abortSearch(); + + // Register abort procedure. + var _aborted = false; + searchEventsEnv.addEventListener('abortSearch', (ev) => { + _aborted = true; + searchEventsEnv.removeEventListener('abortSearch', this); + }); + + // Pref: + // Because this function can be called a lot of times in a very few moments, + // Actually launch search after a delay to let a chance to users to continue typing, + // which would trigger a search abort event, which would avoid wasting a worker + // for a search that is not wanted anymore. + return new Promise((_resolve, _reject) => { + setTimeout(() => { + _resolve( + _getIndexDataPromise(indexURL).then((lunrIndexData) => { + // Include lunr.js source inside the worker such that it has no dependencies. + return httpGetPromise(lunrJsURL).then((responseText) => { + // Do the search business, wrap the process inside an inline Worker. + // This is a hack such that the UI can refresh during the search. + return _getWorkerPromise(responseText).then((worker) => { + let promise = new Promise((resolve, reject) => { + worker.onmessage = (message) => { + if (!message.data.results){ + reject("No data received from worker"); + } + else{ + console.log("Got result from worker:") + console.dir(message.data.results) + resolve(message.data.results) + } + } + worker.onerror = function(error) { + reject(error); + }; + }); + let _msgData = { + 'query': query, + 'indexJSONData': lunrIndexData, + 'defaultFields': defaultFields, + 'autoWildcard': autoWildcard, + } + + if (!_aborted){ + console.log(`Posting query "${query}" to worker:`) + console.dir(_msgData) + worker.postMessage(_msgData); + searchEventsEnv.dispatchEvent( + new CustomEvent("searchStarted", {'query':query}) + ); + } + + return promise + }); + }); + }) + );}, searchDelay); + }); +} + +/** +* @param results: list of lunr.Index~Result. +* @param allDocumentsURL: URL pointing to all-documents.html, generated by pydoctor. +* @returns: Promise of a list of HTMLElement corresponding to the all-documents.html +* list elements matching your search results. +*/ +function fetchResultsData(results, allDocumentsURL){ + return _getAllDocumentsPromise(allDocumentsURL).then((allDocuments) => { + // Look for results data in parsed all-documents.html + return _asyncFor(results, (result) => { + // Find the result model row data. + var dobj = allDocuments.getElementById(result.ref); + if (!dobj){ + throw new Error("Cannot find document ID: " + result.ref); + } + // Return result data + return dobj; + }) + }) +} + +/** + * Transform list item as in all-documents.html into a formatted search result row. + */ +function buildSearchResult(dobj) { + + // Build one result item + var tr = document.createElement('tr'), + kindtd = document.createElement('td'), + contenttd = document.createElement('td'), + article = document.createElement('article'), + header = document.createElement('header'), + section = document.createElement('section'), + code = document.createElement('code'), + a = document.createElement('a'), + p = document.createElement('p'); + + p.innerHTML = dobj.querySelector('.summary').innerHTML; + a.setAttribute('href', dobj.querySelector('.url').innerHTML); + a.setAttribute('class', 'internal-link'); + a.innerHTML = dobj.querySelector('.fullName').innerHTML; + + let kind_value = dobj.querySelector('.kind').innerHTML; + let type_value = dobj.querySelector('.type').innerHTML; + + // Adding '()' on functions and methods + if (type_value.endsWith("Function")){ + a.innerHTML = a.innerHTML + '()'; + } + + kindtd.innerHTML = kind_value; + + // Putting everything together + tr.appendChild(kindtd); + tr.appendChild(contenttd); + contenttd.appendChild(article); + article.appendChild(header); + article.appendChild(section); + header.appendChild(code); + code.appendChild(a); + section.appendChild(p); + + // Set kind as the CSS class of the kind td tag + let ob_css_class = dobj.querySelector('.kind').innerHTML.toLowerCase().replace(' ', ''); + kindtd.setAttribute('class', ob_css_class); + + // Set private + if (dobj.querySelector('.privacy').innerHTML.includes('PRIVATE')){ + tr.setAttribute('class', 'private'); + } + + return tr; +} + + +// This gives the UI the opportunity to refresh while we're iterating over a large list. +function _asyncFor(iterable, callback) { // -> Promise of List of results returned by callback + const promise_global = new Promise((resolve_global, reject_global) => { + let promises = []; + iterable.forEach((element) => { + promises.push(new Promise((resolve, _reject) => { + setTimeout(() => { + try{ resolve(callback(element)); } + catch (error){ _reject(error); } + }, 0); + })); + }); + Promise.all(promises).then((results) =>{ + resolve_global(results); + }).catch((err) => { + reject_global(err); + }); + }); + return promise_global; + } + +// Cache indexes JSON data since it takes a little bit of time to load JSON into stuctured data +var _indexDataCache = {}; +function _getIndexDataPromise(indexURL) { // -> Promise of a structured data for the lunr Index. + if (!_indexDataCache[indexURL]){ + return httpGetPromise(indexURL).then((responseText) => { + _indexDataCache[indexURL] = JSON.parse(responseText) + return (_indexDataCache[indexURL]); + }); + } + else{ + return new Promise((_resolve, _reject) => { + _resolve(_indexDataCache[indexURL]); + }); + } +} + +// Cache Document object +var _allDocumentsCache = {}; +function _getAllDocumentsPromise(allDocumentsURL) { // -> Promise of the all-documents.html Document object. + if (!_allDocumentsCache[allDocumentsURL]){ + return httpGetPromise(allDocumentsURL).then((responseText) => { + let _parser = new self.DOMParser(); + _allDocumentsCache[allDocumentsURL] = _parser.parseFromString(responseText, "text/html"); + return (_allDocumentsCache[allDocumentsURL]); + }); + } + else{ + return new Promise((_resolve, _reject) => { + _resolve(_allDocumentsCache[allDocumentsURL]); + }); + } +} diff --git a/docs/pydoc/sidebartoggle.js b/docs/pydoc/sidebartoggle.js new file mode 100644 index 00000000000..dbe0566f3ec --- /dev/null +++ b/docs/pydoc/sidebartoggle.js @@ -0,0 +1,69 @@ +// Cookie manipulation functions, from https://www.w3schools.com/js/js_cookies.asp + +function setCookie(cname, cvalue, exdays) { + var d = new Date(); + d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000)); + var expires = "expires="+d.toUTCString(); + document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; +} + +function getCookie(cname) { + var name = cname + "="; + var ca = document.cookie.split(';'); + for(var i = 0; i < ca.length; i++) { + var c = ca[i]; + while (c.charAt(0) == ' ') { + c = c.substring(1); + } + if (c.indexOf(name) == 0) { + return c.substring(name.length, c.length); + } + } + return ""; +} + +// Toogle sidebar collapse + +function initSideBarCollapse() { + var collapsed = getCookie("pydoctor-sidebar-collapsed"); + if (collapsed == "yes") { + document.body.classList.add("sidebar-collapsed"); + } + if (collapsed == ""){ + setCookie("pydoctor-sidebar-collapsed", "no", 365); + } + updateSideBarCollapse(); +} + +function toggleSideBarCollapse() { + if (document.body.classList.contains('sidebar-collapsed')){ + document.body.classList.remove('sidebar-collapsed'); + setCookie("pydoctor-sidebar-collapsed", "no", 365); + } + else { + document.body.classList.add("sidebar-collapsed"); + setCookie("pydoctor-sidebar-collapsed", "yes", 365); + } + + updateSideBarCollapse(); +} + +function updateSideBarCollapse() { + let link = document.querySelector('#collapseSideBar a') + // Since this script is called before the page finishes the parsing, + // link is undefined when it's first called. + if (link!=undefined){ + var collapsed = document.body.classList.contains('sidebar-collapsed'); + link.innerText = collapsed ? '»' : '«'; + } + // Fixes renderring issue with safari. + // https://stackoverflow.com/a/8840703 + var sidebarcontainer = document.querySelector('.sidebarcontainer'); + sidebarcontainer.style.display='none'; + sidebarcontainer.offsetHeight; // no need to store this anywhere, the reference is enough + // Set the sidebar display on load to avoid showing it for few miliseconds when loading.. + sidebarcontainer.style.display='flex'; + +} + +initSideBarCollapse(); diff --git a/docs/pydoc/undoccedSummary.html b/docs/pydoc/undoccedSummary.html new file mode 100644 index 00000000000..e32ff67d688 --- /dev/null +++ b/docs/pydoc/undoccedSummary.html @@ -0,0 +1,167 @@ + + + + + + + + Summary of Undocumented Objects + + + + + + + + + + + + + + + + +
+ + + + + +
+ + + + + + + \ No newline at end of file diff --git a/docs/start.md b/docs/start.md index 700b7684162..96e3c7a7661 100644 --- a/docs/start.md +++ b/docs/start.md @@ -45,7 +45,7 @@ This section describes how to build an API-specific service object, make calls t ### Build the service object -Whether you are using simple or authorized API access, you use the [build()](http://googleapis.github.io/google-api-python-client/docs/epy/googleapiclient.discovery-module.html#build) function to create a service object. It takes an API name and API version as arguments. You can see the list of all API versions on the [Supported APIs](dyn/index.md) page. When `build()` is called, a service object will attempt to be constructed with methods specific to the given API. +Whether you are using simple or authorized API access, you use the [build()](http://googleapis.github.io/google-api-python-client/docs/pydoc/googleapiclient.discovery.html#build) function to create a service object. It takes an API name and API version as arguments. You can see the list of all API versions on the [Supported APIs](dyn/index.md) page. When `build()` is called, a service object will attempt to be constructed with methods specific to the given API. `httplib2`, the underlying transport library, makes all connections persistent by default. Use the service object with a context manager or call `close` to avoid leaving sockets open. @@ -85,7 +85,7 @@ nested_collection = service.featured().stamps() ### Methods and requests -Every collection has a list of methods defined by the API. Calling a collection's method returns an [HttpRequest](http://google.github.io/google-api-python-client/docs/epy/googleapiclient.http.HttpRequest-class.html) object. If the given API collection has a method named `list` that takes an argument called `cents`, you create a request object for that method like this: +Every collection has a list of methods defined by the API. Calling a collection's method returns an [HttpRequest](http://google.github.io/google-api-python-client/docs/pydoc/googleapiclient.http.HttpRequest.html) object. If the given API collection has a method named `list` that takes an argument called `cents`, you create a request object for that method like this: ```python request = collection.list(cents=5) @@ -149,5 +149,5 @@ Use the [APIs Explorer](https://developers.google.com/apis-explorer/) to browse ## Library reference documentation -[Core library documentation](http://googleapis.github.io/google-api-python-client/docs/epy/index.html) +[Core library documentation](http://googleapis.github.io/google-api-python-client/docs/pydoc/index.html) and [Library reference documentation by API](dyn/index.md) are available.