コード例 #1
0
ファイル: noneditable.py プロジェクト: RoostayFish/maraschino
def json_login():
    if not loginToPlex():
        return jsonify(success=False, msg='Failed to login to plex.tv, plese make sure this is a valid username/password.')

    # Delete info for previous accounts
    try:
        PlexServer.query.delete()
    except:
        logger.log('Plex :: Failed to delete old server info', 'WARNING')

    # Populate servers for new user
    if not getServers():
        return jsonify(success=False, msg='Failed to retrieve server information from https://plex.tv/pms/servers.')

    # Set active server to 0 (no server selected)
    try:
        active_server = get_setting('active_server')

        if not active_server:
            active_server = Setting('active_server', 0)
            db_session.add(active_server)
            db_session.commit()

        else:
            active_server.value = 0
            db_session.add(active_server)
            db_session.commit()

    except:
        logger.log('Plex :: Failed to reset server, please make sure to select new one.', 'WARNING')

    # return a list of (server name, server id)
    return jsonify(success=True, servers=listServers())
コード例 #2
0
ファイル: noneditable.py プロジェクト: RoostayFish/maraschino
def loginToPlex(username=None, password=None):
    global user
    if username is None:
        if not get_setting_value('myPlex_username') or not get_setting_value('myPlex_password'):
            logger.log('Plex :: Missing Plex Credentials in db', 'INFO')
            return False
        else:
            username = get_setting_value('myPlex_username')
            password = get_setting_value('myPlex_password')

    logger.log('Plex :: Logging into plex.tv', 'INFO')
    try:
        user = User(username, password)
        user, token = user.MyPlexSignIn()

        if user is '':
            logger.log('Plex :: Log in FAILED', 'ERROR')
            return False # failed to sign in

        setting = get_setting('myPlex_token')
        if not setting:
            setting = Setting('myPlex_token')

        setting.value = token
        db_session.add(setting)
        db_session.commit()
        logger.log('Plex :: Log in successful', 'INFO')
        return True
    except:
        logger.log('Plex :: Log in FAILED', 'ERROR')
        return False
コード例 #3
0
ファイル: noneditable.py プロジェクト: RoostayFish/maraschino
def tutorial_save():
    global user, servers
    # save login and password on db
    try:
        settings = json.JSONDecoder().decode(request.form['settings'])
        for s in settings:
            setting = get_setting(s['name'])

            if not setting:
                setting = Setting(s['name'])

            setting.value = s['value']
            db_session.add(setting)
        db_session.commit()
        logger.log('Plex :: Successfully saved Plex credentials', 'INFO')
    except:
        return jsonify(success=False, msg='Failed to save plex credentials to db')

    # Delete info for previous accounts
    try:
        PlexServer.query.delete()
    except:
        logger.log('Plex :: Failed to delete old server info', 'WARNING')

    try:
        if loginToPlex(): # login to plex
            servers = getServers()
            if servers: # retrieve servers
                return jsonify(success=True, servers=listServers())
            else:
                return jsonify(sucess=False, msg='Failed to retrieve servers')
        else:
            return jsonify(sucess=False, msg='Failed to login to plex')
    except:
        return jsonify(success=False, msg='Servers not populated Successfully')
コード例 #4
0
ファイル: noneditable.py プロジェクト: RoostayFish/maraschino
def switch_server(server_id=None):
    """
    Switches Plex servers manually.
    """
    try:
        active_server = get_setting('active_server')

        if not active_server:
            active_server = Setting('active_server', 0)
            db_session.add(active_server)
            db_session.commit()

        server = PlexServer.query.filter(PlexServer.id == server_id).first()
        if server:
            active_server.value = server_id
            db_session.add(active_server)
            db_session.commit()
            logger.log('Switched active server to ID %s' % server_id , 'INFO')
            try:
                status, msg = plex_update_sections(server_id)
                if not status:
                    logger.log('Plex :: %s' % msg, 'ERROR')
            except Exception as e:
                return jsonify(success=False, msg='Failed to reach server, please check log for details.')
        else:
            logger.log('Switching server prevented, server ID %s does not exist in db' % server_id, 'INFO')

    except Exception as e:
        logger.log('Error setting active server to ID %s: %s' % (server_id, e) , 'WARNING')
        return jsonify(success=False)

    return jsonify(success=True)
コード例 #5
0
def loginToPlex(username=None, password=None):
    global user
    if username is None:
        if not get_setting_value('myPlex_username') or not get_setting_value(
                'myPlex_password'):
            logger.log('Plex :: Missing Plex Credentials in db', 'INFO')
            return False
        else:
            username = get_setting_value('myPlex_username')
            password = get_setting_value('myPlex_password')

    logger.log('Plex :: Logging into plex.tv', 'INFO')
    try:
        user = User(username, password)
        user, token = user.MyPlexSignIn()

        if user is '':
            logger.log('Plex :: Log in FAILED', 'ERROR')
            return False  # failed to sign in

        setting = get_setting('myPlex_token')
        if not setting:
            setting = Setting('myPlex_token')

        setting.value = token
        db_session.add(setting)
        db_session.commit()
        logger.log('Plex :: Log in successful', 'INFO')
        return True
    except:
        logger.log('Plex :: Log in FAILED', 'ERROR')
        return False
コード例 #6
0
ファイル: library.py プロジェクト: kaylix/maraschino
def init_xbmc_media_settings():
    """
    If library settings are not in
    database, add them with default value.
    """
    for setting in library_settings:
        for s in library_settings[setting]:
            if get_setting(s["key"]) == None:
                new_setting = Setting(key=s["key"], value=s["value"])
                db_session.add(new_setting)
    db_session.commit()

    return
コード例 #7
0
ファイル: library.py プロジェクト: hephaestus9/Ironworks
def init_xbmc_media_settings():
    '''
    If library settings are not in
    database, add them with default value.
    '''
    for setting in library_settings:
        for s in library_settings[setting]:
            if get_setting(s['key']) == None:
                new_setting = Setting(key=s['key'], value=s['value'])
                db_session.add(new_setting)
    db_session.commit()

    return
コード例 #8
0
ファイル: library.py プロジェクト: kaylix/maraschino
def save_xbmc_settings(media_type):
    """Save options in settings dialog"""
    try:
        settings = json.loads(request.form["settings"])

        for s in settings:
            setting = get_setting(s["name"])

            setting.value = s["value"]
            db_session.add(setting)

        db_session.commit()
    except:
        return jsonify(error=True)

    return jsonify(success=True)
コード例 #9
0
ファイル: library.py プロジェクト: hephaestus9/Ironworks
def save_xbmc_settings(media_type):
    """Save options in settings dialog"""
    try:
        settings = json.loads(request.form['settings'])

        for s in settings:
            setting = get_setting(s['name'])

            setting.value = s['value']
            db_session.add(setting)

        db_session.commit()
    except:
        return jsonify(error=True)

    return jsonify(success=True)
コード例 #10
0
def json_login():
    if not loginToPlex():
        return jsonify(
            success=False,
            msg=
            'Failed to login to plex.tv, plese make sure this is a valid username/password.'
        )

    # Delete info for previous accounts
    try:
        PlexServer.query.delete()
    except:
        logger.log('Plex :: Failed to delete old server info', 'WARNING')

    # Populate servers for new user
    if not getServers():
        return jsonify(
            success=False,
            msg=
            'Failed to retrieve server information from https://plex.tv/pms/servers.'
        )

    # Set active server to 0 (no server selected)
    try:
        active_server = get_setting('active_server')

        if not active_server:
            active_server = Setting('active_server', 0)
            db_session.add(active_server)
            db_session.commit()

        else:
            active_server.value = 0
            db_session.add(active_server)
            db_session.commit()

    except:
        logger.log(
            'Plex :: Failed to reset server, please make sure to select new one.',
            'WARNING')

    # return a list of (server name, server id)
    return jsonify(success=True, servers=listServers())
コード例 #11
0
def switch_server(server_id=None):
    """
    Switches Plex servers manually.
    """
    try:
        active_server = get_setting('active_server')

        if not active_server:
            active_server = Setting('active_server', 0)
            db_session.add(active_server)
            db_session.commit()

        server = PlexServer.query.filter(PlexServer.id == server_id).first()
        if server:
            active_server.value = server_id
            db_session.add(active_server)
            db_session.commit()
            logger.log('Switched active server to ID %s' % server_id, 'INFO')
            try:
                status, msg = plex_update_sections(server_id)
                if not status:
                    logger.log('Plex :: %s' % msg, 'ERROR')
            except Exception as e:
                return jsonify(
                    success=False,
                    msg='Failed to reach server, please check log for details.'
                )
        else:
            logger.log(
                'Switching server prevented, server ID %s does not exist in db'
                % server_id, 'INFO')

    except Exception as e:
        logger.log('Error setting active server to ID %s: %s' % (server_id, e),
                   'WARNING')
        return jsonify(success=False)

    return jsonify(success=True)
コード例 #12
0
def tutorial_save():
    global user, servers
    # save login and password on db
    try:
        settings = json.JSONDecoder().decode(request.form['settings'])
        for s in settings:
            setting = get_setting(s['name'])

            if not setting:
                setting = Setting(s['name'])

            setting.value = s['value']
            db_session.add(setting)
        db_session.commit()
        logger.log('Plex :: Successfully saved Plex credentials', 'INFO')
    except:
        return jsonify(success=False,
                       msg='Failed to save plex credentials to db')

    # Delete info for previous accounts
    try:
        PlexServer.query.delete()
    except:
        logger.log('Plex :: Failed to delete old server info', 'WARNING')

    try:
        if loginToPlex():  # login to plex
            servers = getServers()
            if servers:  # retrieve servers
                return jsonify(success=True, servers=listServers())
            else:
                return jsonify(sucess=False, msg='Failed to retrieve servers')
        else:
            return jsonify(sucess=False, msg='Failed to login to plex')
    except:
        return jsonify(success=False, msg='Servers not populated Successfully')
コード例 #13
0
ファイル: library.py プロジェクト: kaylix/maraschino
def change_sort(media, value):
    setting = get_setting("xbmc_" + media + "_sort")
    setting.value = value
    db_session.add(setting)
    db_session.commit()
コード例 #14
0
ファイル: library.py プロジェクト: stefaanlepever/maraschino
def change_sort(media, value):
    setting = get_setting('xbmc_'+media+'_sort')
    setting.value = value
    db_session.add(setting)
    db_session.commit()
コード例 #15
0
ファイル: library.py プロジェクト: hephaestus9/Ironworks
def change_sort(media, value):
    setting = get_setting('xbmc_' + media + '_sort')
    setting.value = value
    db_session.add(setting)
    db_session.commit()