Example #1
0
def add_personal_account():
    puts(colored.green("Link with an OneDrive Personal account:"))
    puts(
        colored.cyan(
            "Please use your browser to visit the following URL, sign in with your OneDrive account and "
            "authorize onedrive-d, then copy the callback URL back here. The callback URL is the URL at "
            "which the authorization page goes blank and usually starts with "
            + clients.PersonalClient.DEFAULT_REDIRECT_URI
            + "."
        )
    )
    puts()
    puts(colored.yellow("Please visit this URL: "))
    puts(personal_client.get_auth_uri())
    while True:
        try:
            url = prompt.query(str(colored.yellow("\nPlease paste the callback URL or hit [Ctrl+C] to abort:")))
            account = accounts.get_personal_account(personal_client, uri=url)
            profile = account.profile
            account_store.add_account(account)
            puts(colored.green("Success: added account {} ({}).".format(profile.user_id, profile.name)))
            return
        except KeyboardInterrupt:
            puts(colored.red("Aborted."))
            return
        except Exception as ex:
            puts(colored.red("Error: " + str(ex)))
    def test_get_account_success_by_code(self, args=DEFAULT_CALL_ARGS):
        """
        Test get_personal_account() by passing it a code.
        :param dict[str, str] args: Arguments to pass to get_personal_account().
        """
        with requests_mock.Mocker() as mock:
            def callback(request, context):
                self.assertIn('code=123', request.text)
                context.status_code = requests.codes.ok
                return PERSONAL_ACCOUNT_DATA

            mock.post(re.compile('//login\.live\.com\.*'), json=callback)
            client = get_sample_client()
            account = accounts.get_personal_account(client, **args)
            self.assert_account(account)
    def test_get_account_success_by_code(self, args=DEFAULT_CALL_ARGS):
        """
        Test get_personal_account() by passing it a code.
        :param dict[str, str] args: Arguments to pass to get_personal_account().
        """
        with requests_mock.Mocker() as mock:

            def callback(request, context):
                self.assertIn('code=123', request.text)
                context.status_code = requests.codes.ok
                return PERSONAL_ACCOUNT_DATA

            mock.post(re.compile('//login\.live\.com\.*'), json=callback)
            client = get_sample_client()
            account = accounts.get_personal_account(client, **args)
            self.assert_account(account)
Example #4
0
def add_personal_account():
    puts(colored.green('Link with an OneDrive Personal account:'))
    puts(colored.cyan(
            'Please use your browser to visit the following URL, sign in with your OneDrive account and '
            'authorize onedrive-d, then copy the callback URL back here. The callback URL is the URL at '
            'which the authorization page goes blank and usually starts with ' +
            clients.PersonalClient.DEFAULT_REDIRECT_URI + '.'))
    puts()
    puts(colored.yellow('Please visit this URL: '))
    puts(personal_client.get_auth_uri())
    while True:
        try:
            url = prompt.query(str(colored.yellow('\nPlease paste the callback URL or hit [Ctrl+C] to abort:')))
            account = accounts.get_personal_account(personal_client, uri=url)
            profile = account.profile
            account_store.add_account(account)
            puts(colored.green('Success: added account {} ({}).'.format(profile.user_id, profile.name)))
            return
        except KeyboardInterrupt:
            puts(colored.red('Aborted.'))
            return
        except Exception as ex:
            puts(colored.red('Error: ' + str(ex)))