Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
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)
Ejemplo n.º 4
0
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)