push latest changes
This commit is contained in:
parent
7523a19d1f
commit
cb2b5c2c2b
63 changed files with 3158 additions and 1552 deletions
100
forms/__init__.py
Normal file
100
forms/__init__.py
Normal file
|
@ -0,0 +1,100 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
import json
|
||||
|
||||
from cryptography.hazmat.primitives.serialization import load_ssh_public_key
|
||||
from flask_wtf import FlaskForm
|
||||
from flask_wtf.file import FileAllowed, FileField
|
||||
from wtforms import (
|
||||
BooleanField,
|
||||
PasswordField,
|
||||
# RadioField,
|
||||
SelectField,
|
||||
SelectMultipleField,
|
||||
StringField,
|
||||
SubmitField,
|
||||
TextAreaField,
|
||||
)
|
||||
from wtforms.fields.html5 import SearchField
|
||||
from wtforms.validators import URL, DataRequired, Optional
|
||||
from wtforms.widgets import PasswordInput
|
||||
|
||||
|
||||
def json_prettify(file):
|
||||
with open(file, "r") as fh:
|
||||
return json.dumps(json.load(fh), indent=4)
|
||||
|
||||
|
||||
class RequestForm(FlaskForm):
|
||||
query = SearchField("Query", validators=[DataRequired()])
|
||||
search_type = SelectField(
|
||||
"Type", choices=[("sonarr", "TV Show"), ("radarr", "Movie")]
|
||||
)
|
||||
search = SubmitField("Search")
|
||||
|
||||
|
||||
class SearchForm(FlaskForm):
|
||||
query = SearchField("Query", validators=[DataRequired()])
|
||||
tv_shows = BooleanField("TV Shows", default=True)
|
||||
movies = BooleanField("Movies", default=True)
|
||||
torrents = BooleanField("Torrents", default=True)
|
||||
indexer = SelectMultipleField(choices=[])
|
||||
group_by_tracker = BooleanField("Group torrents by tracker")
|
||||
search = SubmitField("Search")
|
||||
|
||||
|
||||
class HiddenPassword(PasswordField):
|
||||
widget = PasswordInput(hide_value=False)
|
||||
|
||||
|
||||
class TranscodeProfileForm(FlaskForm):
|
||||
test = TextAreaField()
|
||||
save = SubmitField("Save")
|
||||
|
||||
|
||||
class LoginForm(FlaskForm):
|
||||
username = StringField("Username", validators=[DataRequired()])
|
||||
password = HiddenPassword("Password", validators=[DataRequired()])
|
||||
remember = BooleanField("Remember me")
|
||||
login = SubmitField("Login")
|
||||
|
||||
|
||||
class AddSSHUser(FlaskForm):
|
||||
name = StringField("Name", validators=[DataRequired()])
|
||||
ssh_key = StringField("Public key", validators=[DataRequired()])
|
||||
add = SubmitField("Add")
|
||||
|
||||
def validate_ssh_key(self, field):
|
||||
load_ssh_public_key(bytes(field.data, "utf8"))
|
||||
|
||||
|
||||
class ConfigForm(FlaskForm):
|
||||
jellyfin_url = StringField("URL", validators=[URL()])
|
||||
jellyfin_api_key = StringField("API Key")
|
||||
|
||||
qbt_url = StringField("URL", validators=[URL()])
|
||||
qbt_username = StringField("Username")
|
||||
qbt_passwd = HiddenPassword("Password")
|
||||
|
||||
sonarr_url = StringField("URL", validators=[URL()])
|
||||
sonarr_api_key = HiddenPassword("API key")
|
||||
|
||||
radarr_url = StringField("URL", validators=[URL()])
|
||||
radarr_api_key = HiddenPassword("API key")
|
||||
|
||||
jackett_url = StringField("URL", validators=[URL()])
|
||||
jackett_api_key = HiddenPassword("API key")
|
||||
|
||||
portainer_url = StringField("URL", validators=[URL()])
|
||||
portainer_username = StringField("Username")
|
||||
portainer_passwd = HiddenPassword("Password")
|
||||
|
||||
transcode_default_profile = SelectField(
|
||||
"Default profile", choices=[], validators=[]
|
||||
)
|
||||
transcode_profiles = FileField(
|
||||
"Transcode profiles JSON",
|
||||
validators=[Optional(), FileAllowed(["json"], "JSON files only!")],
|
||||
)
|
||||
|
||||
test = SubmitField("Test")
|
||||
save = SubmitField("Save")
|
Loading…
Add table
Add a link
Reference in a new issue