def get_user_credentials(self):
        """Get user credentials with the login dialog."""
        password = None
        token = None
        (username, remember_me,
         remember_token) = self._get_credentials_from_settings()
        valid_py_os = not (PY2 and sys.platform.startswith('linux'))
        if username and remember_me and valid_py_os:
            # Get password from keyring
            try:
                password = keyring.get_password('github', username)
            except Exception:
                # No safe keyring backend
                if self._show_msgbox:
                    QMessageBox.warning(self.parent_widget,
                                        _('Failed to retrieve password'),
                                        _('It was not possible to retrieve '
                                          'your password. Please introduce '
                                          'it again.'))
        if remember_token and valid_py_os:
            # Get token from keyring
            try:
                token = keyring.get_password('github', 'token')
            except Exception:
                # No safe keyring backend
                if self._show_msgbox:
                    QMessageBox.warning(self.parent_widget,
                                        _('Failed to retrieve token'),
                                        _('It was not possible to retrieve '
                                          'your token. Please introduce it '
                                          'again.'))

        if not running_under_pytest():
            credentials = DlgGitHubLogin.login(self.parent_widget, username,
                                            password, token, remember_me,
                                            remember_token)

            if (credentials['username'] and credentials['password'] and
                    valid_py_os):
                self._store_credentials(credentials['username'],
                                        credentials['password'],
                                        credentials['remember'])
                CONF.set('main', 'report_error/remember_me',
                         credentials['remember'])

            if credentials['token'] and valid_py_os:
                self._store_token(credentials['token'],
                                  credentials['remember_token'])
                CONF.set('main', 'report_error/remember_token',
                         credentials['remember_token'])
        else:
            return dict(username=username,
                        password=password,
                        token='',
                        remember=remember_me,
                        remember_token=remember_token)

        return credentials
def get_user_credentials ( self ) : password = None token = None ( username , remember_me , remember_token ) = self . _get_credentials_from_settings ( ) valid_py_os = not ( PY2 and sys . platform . startswith ( 'linux' ) ) if username and remember_me and valid_py_os : try : password = keyring . get_password ( 'github' , username ) except Exception : if self . _show_msgbox : QMessageBox . warning ( self . parent_widget , _ ( 'Failed to retrieve password' ) , _ ( 'It was not possible to retrieve ' 'your password. Please introduce ' 'it again.' ) ) if remember_token and valid_py_os : try : token = keyring . get_password ( 'github' , 'token' ) except Exception : if self . _show_msgbox : QMessageBox . warning ( self . parent_widget , _ ( 'Failed to retrieve token' ) , _ ( 'It was not possible to retrieve ' 'your token. Please introduce it ' 'again.' ) ) if not running_under_pytest ( ) : credentials = DlgGitHubLogin . login ( self . parent_widget , username , password , token , remember_me , remember_token ) if ( credentials [ 'username' ] and credentials [ 'password' ] and valid_py_os ) : self . _store_credentials ( credentials [ 'username' ] , credentials [ 'password' ] , credentials [ 'remember' ] ) CONF . set ( 'main' , 'report_error/remember_me' , credentials [ 'remember' ] ) if credentials [ 'token' ] and valid_py_os : self . _store_token ( credentials [ 'token' ] , credentials [ 'remember_token' ] ) CONF . set ( 'main' , 'report_error/remember_token' , credentials [ 'remember_token' ] ) else : return dict ( username = username , password = password , token = '' , remember = remember_me , remember_token = remember_token ) return credentials
Get user credentials with the login dialog.