Module Expr Str ImportFrom alias alias alias alias ImportFrom alias Expr Call AttributeLoad NameLoad attr ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias Import alias ImportFrom alias alias alias ImportFrom alias Import alias ImportFrom alias Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore TupleLoad Str Str Str Expr Str Assign NameStore Call NameLoad Str NameLoad FunctionDef arguments args defaults kwarg body Expr Str For NameStore NameLoad body If CompareNotIn NameLoad NameLoad body Assign SubscriptStore NameLoad Index NameLoad NameLoad Return Call NameLoad NameLoad decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Assign NameStore Call AttributeLoad Call NameLoad NameLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad Assign NameStore TupleLoad Str Str Assign NameStore BinOpAdd TupleLoad Str Str Str Str Str Str NameLoad Assign NameStore Dict Assign NameStore Lambda arguments args NameParam defaults BinOpAdd Str NameLoad Assign NameStore Lambda arguments args NameParam defaults BinOpAdd Str NameLoad Assign NameStore Lambda arguments args NameParam defaults Call NameLoad NameLoad NameLoad Assign NameStore Lambda arguments args NameParam defaults Call NameLoad NameLoad NameLoad For NameStore NameLoad body If BoolOpAnd UnaryOpNot Call NameLoad Call NameLoad NameLoad UnaryOpNot Call NameLoad Call NameLoad NameLoad body Continue If Call NameLoad Call NameLoad NameLoad body Assign SubscriptStore NameLoad Index NameLoad Call NameLoad Call NameLoad NameLoad orelse Assign SubscriptStore NameLoad Index NameLoad Call NameLoad Call NameLoad NameLoad For NameStore NameLoad body If BoolOpAnd Call NameLoad Call NameLoad NameLoad Call NameLoad Call NameLoad NameLoad body FunctionDef arguments args NameParam NameParam defaults Call NameLoad Call NameLoad NameLoad Call NameLoad Call NameLoad NameLoad body FunctionDef arguments args defaults vararg kwarg body Assign NameStore Call NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list Return NameLoad decorator_list Assign SubscriptStore NameLoad Index NameLoad Call NameLoad FunctionDef arguments args NameParam defaults NameLoad body FunctionDef arguments args NameParam defaults vararg kwarg body Assign NameStore Dict For TupleStore NameStore NameStore Call AttributeLoad NameLoad attr body If Call NameLoad NameLoad Str body Assign NameStore Call NameLoad NameLoad NameLoad Assign SubscriptStore NameLoad Index NameLoad NameLoad Return NameLoad decorator_list Return NameLoad decorator_list Assign AttributeStore NameLoad attr Call NameLoad Call NameLoad Return NameLoad decorator_list decorator_list ClassDef bases Call NameLoad NameLoad NameLoad body Expr Str Assign NameStore NameLoad Assign NameStore NameLoad Assign NameStore Call NameLoad FunctionDef arguments args NameParam NameParam defaults body Expr Str Raise NameLoad decorator_list NameLoad FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Pass decorator_list NameLoad FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Pass decorator_list NameLoad FunctionDef arguments args NameParam NameParam defaults body Expr Str Return NameLoad decorator_list NameLoad FunctionDef arguments args NameParam NameParam NameParam defaults vararg kwarg body Expr Str Assign NameStore AttributeLoad NameLoad attr If AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr Str NameLoad ListComp Call AttributeLoad NameLoad attr NameLoad comprehension NameStore NameLoad Call NameLoad GeneratorExp TupleLoad NameLoad Call AttributeLoad NameLoad attr NameLoad comprehension TupleStore NameStore NameStore Call AttributeLoad NameLoad attr orelse Expr Call AttributeLoad NameLoad attr Str NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr If CompareIsNot Call AttributeLoad Call AttributeLoad NameLoad attr Str Dict attr Str NameLoad NameLoad body Assign SubscriptStore SubscriptLoad NameLoad Index Str Index Str Str If AttributeLoad NameLoad attr body TryExcept body Expr Call AttributeLoad NameLoad attr handlers ExceptHandler type AttributeLoad NameLoad attr name NameStore body Assign NameStore Call NameLoad NameLoad If AttributeLoad NameLoad attr body AugAssignAdd NameStore BinOpMod Str NameLoad AugAssignAdd NameStore BinOpMod Str AttributeLoad NameLoad attr Raise Call NameLoad NameLoad NameLoad TryExcept body Assign NameStore Call AttributeLoad NameLoad attr NameLoad handlers ExceptHandler type NameLoad body Assign NameStore Str If AttributeLoad NameLoad attr body AugAssignAdd NameStore BinOpMod Str NameLoad AugAssignAdd NameStore BinOpMod Str AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str NameLoad AttributeLoad NameLoad attr orelse Expr Call AttributeLoad NameLoad attr Str NameLoad Raise Call NameLoad NameLoad NameLoad If AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad TryExcept body Expr Call AttributeLoad NameLoad attr NameLoad NameLoad If NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad NameLoad handlers ExceptHandler type NameLoad name NameStore body If UnaryOpNot AttributeLoad NameLoad attr body Raise Assign NameStore Call AttributeLoad Str attr keyword Call NameLoad NameLoad keyword NameLoad keyword AttributeLoad NameLoad attr Expr Call NameLoad Call NameLoad NameLoad AttributeLoad NameLoad attr NameLoad ExceptHandler type NameLoad name NameStore body Assign NameStore BinOpMod Str NameLoad AugAssignAdd NameStore BinOpMod Str NameLoad If AttributeLoad NameLoad attr body Assign NameStore AttributeLoad NameLoad attr If CompareGt Call NameLoad NameLoad Num body Assign NameStore BinOpAdd SubscriptLoad NameLoad Slice Num Str AugAssignAdd NameStore BinOpMod Str TupleLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Return NameLoad decorator_list NameLoad FunctionDef arguments args NameParam defaults body TryExcept body Return Call AttributeLoad NameLoad attr NameLoad handlers ExceptHandler type NameLoad name NameStore body Expr Call NameLoad Call NameLoad Call NameLoad NameLoad NameLoad decorator_list NameLoad FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore NameLoad If NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr For TupleStore NameStore NameStore GeneratorExp TupleLoad AttributeLoad NameLoad attr NameLoad comprehension TupleStore NameStore NameStore NameLoad CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Expr Call NameLoad NameLoad NameLoad Call NameLoad BinOpMod Str Call NameLoad NameLoad Str For NameStore GeneratorExp NameLoad comprehension TupleStore NameStore NameStore NameLoad CompareEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign NameStore Call NameLoad NameLoad Str If UnaryOpNot NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad keyword NameLoad orelse For NameStore Call NameLoad Call NameLoad NameLoad body Assign NameStore ListComp NameLoad comprehension NameStore NameLoad Delete SubscriptDel NameLoad Slice Expr Call AttributeLoad NameLoad attr ListComp Call AttributeLoad NameLoad attr NameLoad keyword NameLoad comprehension NameStore NameLoad Return NameLoad decorator_list NameLoad decorator_list
N/A N/A Definitions shared by multiple clients. __future__ print_function division absolute_import unicode_literals future standard_library N/A N/A N/A standard_library install_aliases builtins * six raise_from collections namedtuple google.protobuf.descriptor FieldDescriptor N/A json gmusicapi.exceptions CallFailure ParseException ValidationException gmusicapi.utils utils N/A requests future.utils with_metaclass N/A log N/A N/A utils DynamicClientLogger __name__ N/A _auth_names N/A xt sso oauth N/A 
  AuthTypes has fields for each type of auth, each of which store a bool:
    xt: webclient xsrf param/cookie
    sso: webclient Authorization header
    oauth: musicmanager/mobileclient oauth header
 N/A AuthTypes N/A namedtuple AuthTypes _auth_names authtypes N/A N/A N/A kwargs N/A N/A Convinience factory for AuthTypes that defaults authtypes to False. N/A name _auth_names N/A N/A N/A name kwargs N/A N/A N/A kwargs N/A name False N/A N/A AuthTypes kwargs N/A BuildRequestMeta N/A type N/A N/A Metaclass to create build_request from static/dynamic config. __new__ N/A N/A cls name bases dct N/A N/A N/A new_cls N/A N/A N/A super BuildRequestMeta cls __new__ cls name bases dct N/A merge_keys N/A headers params N/A all_keys N/A N/A method url files data verify allow_redirects merge_keys N/A config N/A N/A dyn N/A N/A N/A key N/A N/A dynamic_ key N/A stat N/A N/A N/A key N/A N/A static_ key N/A has_key N/A N/A N/A key N/A N/A hasattr new_cls key N/A get_key N/A N/A N/A key N/A N/A getattr new_cls key N/A key all_keys N/A N/A N/A N/A N/A has_key N/A dyn key N/A N/A has_key N/A stat key N/A N/A N/A N/A has_key N/A dyn key N/A N/A N/A config N/A key N/A get_key N/A dyn key N/A N/A N/A config N/A key N/A get_key N/A stat key N/A key merge_keys N/A N/A N/A N/A has_key N/A dyn key N/A has_key N/A stat key N/A key_closure N/A N/A stat_val dyn_func N/A N/A get_key N/A stat key N/A get_key N/A dyn key N/A build_key N/A N/A N/A args kwargs N/A N/A dyn_val N/A dyn_func args kwargs N/A N/A N/A stat_val update dyn_val N/A stat_val N/A N/A build_key N/A N/A N/A config N/A key N/A key_closure req_closure N/A N/A config N/A config N/A build_request N/A N/A cls N/A args kwargs N/A N/A req_kwargs N/A N/A N/A key val N/A N/A config items N/A N/A N/A hasattr val __call__ N/A N/A val N/A val args kwargs N/A N/A req_kwargs N/A key val N/A req_kwargs N/A N/A build_request N/A N/A N/A new_cls build_request N/A classmethod N/A req_closure N/A new_cls N/A N/A Call N/A N/A with_metaclass BuildRequestMeta object N/A N/A 
    Clients should use Call.perform().

    Calls define how to build their requests through static and dynamic data.
    For example, a request might always send some user-agent: this is static.
    Or, it might need the name of a song to modify: this is dynamic.

    Specially named fields define the data, and correspond with requests.Request kwargs:
        method: eg 'GET' or 'POST'
        url: string
        files: dictionary of {filename: fileobject} files to multipart upload.
        data: the body of the request
                If a dictionary is provided, form-encoding will take place.
                A string will be sent as-is.
        verify: if True, verify SSL certs
        params (m): dictionary of URL parameters to append to the URL.
        headers (m): dictionary

    Static data shold prepends static_ to a field:
        class SomeCall(Call):
            static_url = 'http://foo.com/thiscall'

    And dynamic data prepends dynamic_ to a method:
        class SomeCall(Call):
            #*args, **kwargs are passed from SomeCall.build_request (and Call.perform)
            def dynamic_url(endpoint):
                return 'http://foo.com/' + endpoint

    Dynamic data takes precedence over static if both exist,
     except for attributes marked with (m) above. These get merged, with dynamic overriding
     on key conflicts (though all this really shouldn't be relied on).

    Here's a contrived example that merges static and dynamic headers:
        class SomeCall(Call):
            static_headers = {'user-agent': "I'm totally a Google client!"}

            @classmethod
            def dynamic_headers(cls, keep_alive=False):
                return {'Connection': keep_alive}

    If neither a static nor dynamic member is defined,
    the param is not used to create the requests.Request.

    Calls declare the kind of auth they require with an AuthTypes object named required_auth.

    Calls must define parse_response.
    Calls can also define filter_response, validate and check_success.

    Calls are organized semantically, so one endpoint might have multiple calls.
     N/A gets_logged True N/A fail_on_non_200 True N/A required_auth N/A authtypes parse_response N/A N/A cls response N/A N/A N/A Parses a requests.Response to data. N/A NotImplementedError N/A classmethod validate N/A N/A cls response msg N/A N/A N/A Raise ValidationException on problems.

        :param response: a requests.Response
        :param msg: the result of parse_response on response
         N/A N/A classmethod check_success N/A N/A cls response msg N/A N/A N/A Raise CallFailure on problems.

        :param response: a requests.Response
        :param msg: the result of parse_response on response
         N/A N/A classmethod filter_response N/A N/A cls msg N/A N/A N/A Return a version of a parsed response appropriate for logging. N/A msg N/A classmethod perform N/A N/A cls session validate N/A args kwargs N/A N/A Send, parse, validate and check success of this call.
        *args and **kwargs are passed to protocol.build_transaction.

        :param session: a PlaySession used to send this request.
        :param validate: if False, do not validate
         N/A call_name N/A cls __name__ N/A N/A cls gets_logged N/A N/A N/A N/A log debug %s(args=%s, kwargs=%s) call_name N/A N/A N/A utils truncate a N/A a args N/A dict N/A N/A k N/A N/A utils truncate v N/A N/A k v N/A N/A kwargs items N/A N/A N/A N/A log debug %s(<omitted>) call_name N/A req_kwargs N/A N/A cls build_request args kwargs N/A response N/A N/A session send req_kwargs N/A cls required_auth N/A safe_req_kwargs N/A N/A req_kwargs copy N/A N/A N/A N/A N/A N/A safe_req_kwargs get headers N/A get Authorization None None N/A N/A N/A N/A safe_req_kwargs N/A headers N/A Authorization <omitted> N/A N/A cls fail_on_non_200 N/A N/A N/A N/A N/A N/A response raise_for_status N/A N/A N/A N/A requests HTTPError N/A e N/A N/A err_msg N/A str e N/A N/A cls gets_logged N/A N/A err_msg N/A 
(requests kwargs: %r) safe_req_kwargs N/A err_msg N/A 
(response was: %r) N/A response text N/A N/A CallFailure err_msg call_name N/A N/A N/A parsed_response N/A N/A cls parse_response response N/A N/A N/A ParseException N/A N/A err_msg the server's response could not be understood. The call may still have succeeded, but it's unlikely. N/A N/A cls gets_logged N/A N/A err_msg N/A 
(requests kwargs: %r) safe_req_kwargs N/A err_msg N/A 
(response was: %r) N/A response text N/A N/A N/A log exception could not parse %s response: %r call_name N/A response text N/A N/A N/A N/A log exception could not parse %s response: (omitted) call_name N/A N/A CallFailure err_msg call_name N/A N/A cls gets_logged N/A N/A N/A N/A log debug N/A N/A cls filter_response parsed_response N/A N/A N/A N/A N/A cls check_success response parsed_response N/A validate N/A N/A N/A N/A cls validate response parsed_response N/A N/A N/A CallFailure N/A e N/A N/A N/A N/A cls gets_logged N/A N/A N/A err_msg N/A N/A {e_message}
(requests kwargs: {req_kwargs!r})
(response was: {content!r}) format e_message N/A str e req_kwargs safe_req_kwargs content N/A response text N/A N/A raise_from N/A CallFailure err_msg N/A e callname e N/A N/A ValidationException N/A e N/A N/A err_msg N/A the response format for %s was not recognized. call_name N/A err_msg N/A 

%s
 e N/A N/A cls gets_logged N/A N/A raw_response N/A response text N/A N/A N/A len raw_response 10000 N/A N/A raw_response N/A N/A raw_response N/A 10000 ... N/A err_msg N/A 
First, try the develop branch. If you can recreate this error with the most recent code please [create an issue](http://goo.gl/qbAW8) that includes the above ValidationException and the following request/response:
%r

%r

A traceback follows:
 N/A safe_req_kwargs raw_response N/A N/A N/A log exception err_msg N/A parsed_response N/A classmethod _parse_json N/A N/A text N/A N/A N/A N/A N/A N/A N/A json loads text N/A N/A N/A ValueError N/A e N/A N/A N/A raise_from N/A ParseException N/A str e e N/A staticmethod _filter_proto N/A N/A msg make_copy N/A True N/A N/A Filter all byte fields in the message and submessages. N/A filtered msg N/A make_copy N/A N/A filtered N/A N/A msg __class__ N/A N/A N/A filtered CopyFrom msg N/A fields N/A N/A filtered ListFields N/A N/A field_name val N/A N/A N/A fd name val N/A N/A fd val fields N/A N/A fd type N/A FieldDescriptor TYPE_BYTES N/A N/A N/A setattr filtered field_name N/A bytes N/A <%s bytes> N/A len val utf8 N/A field N/A val N/A N/A fd val fields N/A N/A fd type N/A FieldDescriptor TYPE_MESSAGE N/A N/A is_repeated N/A hasattr field __len__ N/A N/A is_repeated N/A N/A N/A N/A Call _filter_proto field make_copy False N/A N/A i N/A range N/A len field N/A N/A old_fields N/A f N/A f field N/A N/A field N/A N/A N/A N/A field extend N/A N/A N/A Call _filter_proto f make_copy False N/A f old_fields N/A filtered N/A staticmethod N/A