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())
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
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')
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)
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
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
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
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)
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)
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())
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)
def change_sort(media, value): setting = get_setting("xbmc_" + media + "_sort") setting.value = value db_session.add(setting) db_session.commit()
def change_sort(media, value): setting = get_setting('xbmc_'+media+'_sort') setting.value = value db_session.add(setting) db_session.commit()
def change_sort(media, value): setting = get_setting('xbmc_' + media + '_sort') setting.value = value db_session.add(setting) db_session.commit()