コード例 #1
0
 def __init__(self):
     self.api = Musicmanager(debug_logging=False)
     refresh_token = json.loads(
         settings['google']['musicmanager'])['refresh_token']
     credentials = session.credentials_from_refresh_token(
         refresh_token, session.Mobileclient.oauth)
     self.api.login(credentials)
コード例 #2
0
ファイル: session.py プロジェクト: mopidy/mopidy-gmusic
    def login(self, initial_code, refresh_token, device_id):
        if self.api.is_authenticated():
            self.api.logout()

        if device_id is None or device_id == "mac":
            device_id = gmusicapi.Mobileclient.FROM_MAC_ADDRESS

        oauth_info = gmusicapi.Mobileclient._session_class.oauth

        if not refresh_token:
            flow = OAuth2WebServerFlow(**oauth_info._asdict())

            if not initial_code:
                logger.error('Please provide the initial code from the following URL: %s', flow.step1_get_authorize_url())

            credentials = flow.step2_exchange(initial_code)
            refresh_token = credentials.refresh_token
            logger.info('Please update your config to include the following refresh_token: %s', refresh_token)

        authenticated = self.api.oauth_login(
            device_id,
            oauth_credentials=credentials_from_refresh_token(refresh_token, oauth_info))

        if authenticated:
            logger.info('Logged in to Google Music')
        else:
            logger.error('Failed to login to Google Music')

        return authenticated
コード例 #3
0
ファイル: session.py プロジェクト: sixisgoood/mopidy-gmusic
    def login(self, refresh_token, device_id):
        if self.api.is_authenticated():
            self.api.logout()

        if device_id is None or device_id == "mac":
            device_id = gmusicapi.Mobileclient.FROM_MAC_ADDRESS

        oauth_info = gmusicapi.Mobileclient._session_class.oauth

        if not refresh_token:
            logger.error(
                "No refresh_token in gmusic config. Please run "
                + "`mopidy gmusic login`."
            )
            return False

        authenticated = self.api.oauth_login(
            device_id,
            oauth_credentials=credentials_from_refresh_token(
                refresh_token, oauth_info
            ),
        )

        if authenticated:
            logger.info("Logged in to Google Play Music")
        else:
            logger.error("Failed to login to Google Play Music")

        return authenticated
コード例 #4
0
    def login(self, initial_code, refresh_token, device_id):
        if self.api.is_authenticated():
            return

        if device_id is None or device_id == "mac":
            device_id = gmusicapi.Mobileclient.FROM_MAC_ADDRESS

        oauth_info = gmusicapi.Mobileclient._session_class.oauth

        if not refresh_token:
            flow = OAuth2WebServerFlow(**oauth_info._asdict())

            if not initial_code:
                logger.error(
                    'Please provide the initial code from the following URL: %s',
                    flow.step1_get_authorize_url())

            credentials = flow.step2_exchange(initial_code)
            refresh_token = credentials.refresh_token
            logger.info(
                'Please update your config to include the following refresh_token: %s',
                refresh_token)

        authenticated = self.api.oauth_login(
            device_id,
            oauth_credentials=credentials_from_refresh_token(
                refresh_token, oauth_info))

        if authenticated:
            logger.info('Logged in to Google Music')
        else:
            logger.error('Failed to login to Google Music')

        return authenticated
コード例 #5
0
ファイル: run_tests.py プロジェクト: simon-weber/gmusicapi
def _get_kwargs(envargs):
    kwargs = {}
    for arg in envargs:
        if arg.is_required and arg.envarg not in os.environ:
            raise ValueError("%s was not exported and must be %s" % (arg.envarg, arg.description))

        val = os.environ.get(arg.envarg)

        if arg.kwarg == 'oauth_credentials' and val is not None:
            oauth_info = session.Musicmanager.oauth if arg.envarg == 'GM_O' else session.Mobileclient.oauth
            kwargs['oauth_credentials'] = session.credentials_from_refresh_token(val, oauth_info)
        else:
            kwargs[arg.kwarg] = val

    return kwargs
コード例 #6
0
ファイル: run_tests.py プロジェクト: zachreizner/gmusicapi
def _get_kwargs(envargs):
    kwargs = {}
    for arg in envargs:
        if arg.is_required and arg.envarg not in os.environ:
            raise ValueError("%s was not exported and must be %s" %
                             (arg.envarg, arg.description))

        val = os.environ.get(arg.envarg)

        if arg.kwarg == 'oauth_credentials' and val is not None:
            oauth_info = session.Musicmanager.oauth if arg.envarg == 'GM_O' else session.Mobileclient.oauth
            kwargs[
                'oauth_credentials'] = session.credentials_from_refresh_token(
                    val, oauth_info)
        else:
            kwargs[arg.kwarg] = val

    return kwargs