Exemple #1
0
    def login(self):

        users = self.connect_manager['public-users']
        server = self.connect_manager['server-address']

        if not users:
            try:
                return self.login_manual()
            except RuntimeError:
                raise RuntimeError("No user selected")

        dialog = UsersConnect("script-jellyfin-connect-users.xml", *XML_PATH)
        dialog.set_args(**{'server': server, 'users': users})
        dialog.doModal()

        if dialog.is_user_selected():
            user = dialog.get_user()
            username = user['Name']

            if user['HasPassword']:
                LOG.debug("User has password, present manual login")
                try:
                    return self.login_manual(username)
                except RuntimeError: pass
            else:
                return self.connect_manager['login'](server, username)

        elif dialog.is_manual_login():
            try:
                return self.login_manual()
            except RuntimeError: pass
        else:
            raise RuntimeError("No user selected")

        return self.login()
Exemple #2
0
    def login_connect(self, manager=None):
        ''' Return connect user or raise error.
        '''
        dialog = LoginConnect("script-emby-connect-login.xml", *XML_PATH)
        dialog.set_args(**{'connect_manager': manager or self.connect_manager})
        dialog.doModal()

        if dialog.is_logged_in():
            return dialog.get_user()
        else:
            raise RuntimeError("Connect user is not logged in")
Exemple #3
0
    def login_manual(self, user=None, manager=None):
        
        ''' Return manual login user authenticated or raise error.
        '''
        dialog = LoginManual("script-jellyfin-connect-login-manual.xml", *XML_PATH)
        dialog.set_args(**{'connect_manager': manager or self.connect_manager, 'username': user or {}})
        dialog.doModal()

        if dialog.is_logged_in():
            return dialog.get_user()
        else:
            raise RuntimeError("User is not authenticated")