def settings(): if request.method == 'POST': token = request.form.get('token', '') mqtt_server = request.form.get('mqtt_server', '') work_dir = request.form.get('work_dir', '') show_dir = request.form.get('show_dir', '') movie_dir = request.form.get('movie_dir', '') generic_dir = request.form.get('generic_dir', '') music_dir = request.form.get('music_dir', '') log_file = request.form.get('log_file', '') #Nasty !!!! #CHANGING VARIABLES IN SCRIPT FILE #Should use db instead, but would brake the way the script is called from flexget !? last = False for line in fileinput.input(_script, inplace=True): if not last: if 'TOKEN =' in line: line = re.sub(r"'.*'$", "'%s'" % token, line) elif 'MQTT_SERVER =' in line: line = re.sub(r"'.*'$", "'%s'" % mqtt_server, line) elif 'WORK_DIR =' in line: line = re.sub(r"'.*'$", "'%s'" % work_dir, line) elif 'SHOW_DIR =' in line: line = re.sub(r"'.*'$", "'%s'" % show_dir, line) elif 'MOVIE_DIR =' in line: line = re.sub(r"'.*'$", "'%s'" % movie_dir, line) elif 'GENERIC_DIR =' in line: line = re.sub(r"'.*'$", "'%s'" % generic_dir, line) elif 'MUSIC_DIR =' in line: line = re.sub(r"'.*'$", "'%s'" % music_dir, line) elif 'LOG_FILE =' in line: last = True line = re.sub(r"'.*'$", "'%s'" % log_file, line) sys.stdout.write(line) fileinput.close() flash('Put.io settings updated!') settings = dict(token=token, mqtt_server=mqtt_server, work_dir=work_dir, show_dir=show_dir, movie_dir=movie_dir, generic_dir=generic_dir, music_dir=music_dir, log_file=log_file ) db_set_settings('putio', settings, clean=True) else: # GET settings = db_get_settings('putio') if request.args.get('mqtt_test') and mqtt_server in settings: publish.single('myflexget/test', 'Test MQTT from MyFlexget', hostname=settings['mqtt_server']) return render_template('putio_settings.html', settings=settings)
def myepisode(): if request.method == 'POST': username = request.form.get('username', '') password = request.form.get('password', '') if username and password: values = {'username': username, 'password': password, } db_set_settings('myepisode', values, clean=True) flash('Myepisode settings updated!') else: flash('ERROR! Missing data!', 'error') settings = db_get_settings('myepisode') return render_template('settings_myepisode.html', settings=settings)
def index(): if request.method == 'POST': email = request.form.get('email', '') rss = request.form.get('rss', '') flexget = request.form.get('flexget', '') path = request.form.get('path', '') dq = request.form.get('dq', '') hq = request.form.get('hq', '') limit = request.form.get('limit', '') mqtt_server = request.form.get('mqtt_server', '') script_exec = request.form.get('script_exec', '') settings = request.form if rss and flexget and path and dq: errors = check_settings(flexget, path, script_exec) if errors: for error in errors: flash(error, 'error') else: values = {'email': email, 'rss': rss, 'flexget': flexget, 'path': path, 'dq': dq, 'hq': hq, 'limit': limit, 'mqtt_server': mqtt_server, 'script_exec': script_exec, } db_set_settings('flexget', values, clean=True) flash('Flexget settings updated!') settings = db_get_settings('flexget') else: flash('ERROR! Missing data!', 'error') else: # GET settings = db_get_settings('flexget') if request.args.get('mqtt_test') and 'mqtt_server' in settings: publish.single('myflexget/test', 'Test MQTT from MyFlexget', hostname=settings['mqtt_server']) return render_template('settings_flexget.html', settings=settings)
def schedule(): if request.method == 'POST': try: start = value_in_range(int(request.form.get('start', '')), 0, 23) end = value_in_range(int(request.form.get('end', '')), start+1, 23) hour = value_in_range(int(request.form.get('hour', '')), 0, 23) minute = value_in_range(int(request.form.get('minute', '')), 0, 59) except ValueError: flash('ERROR! Invalid data!', 'error') settings = request.form else: values = {'start': start, 'end': end, 'hour': hour, 'minute': minute, } db_set_settings('schedule', values, clean=True) flash('Schedule settings updated!') settings = db_get_settings('schedule') else: # GET settings = db_get_settings('schedule') return render_template('settings_schedule.html', settings=settings)