mirror of
https://github.com/wizarrrr/wizarr.git
synced 2026-06-12 07:44:46 -04:00
27 lines
1.3 KiB
Python
27 lines
1.3 KiB
Python
# app/forms/settings.py
|
|
from flask_wtf import FlaskForm
|
|
from wtforms import StringField, SelectField, TextAreaField
|
|
from wtforms.validators import DataRequired, URL, Optional
|
|
|
|
class SettingsForm(FlaskForm):
|
|
server_type = SelectField("Server Type",
|
|
choices=[("plex", "Plex"), ("jellyfin", "Jellyfin")],
|
|
validators=[DataRequired()])
|
|
server_name = StringField("Server Name", validators=[DataRequired()])
|
|
server_url = StringField("Server URL", validators=[URL(), DataRequired()])
|
|
api_key = StringField("API Key", validators=[Optional()])
|
|
libraries = StringField("Libraries", validators=[Optional()])
|
|
overseerr_url = StringField("Overseerr URL", validators=[Optional(), URL()])
|
|
ombi_api_key = StringField("Ombi API Key", validators=[Optional()])
|
|
discord_id = StringField("Discord ID", validators=[Optional()])
|
|
custom_html = TextAreaField("Custom HTML", validators=[Optional()])
|
|
|
|
def __init__(self, install_mode: bool = False, *args, **kwargs):
|
|
super().__init__(*args, **kwargs)
|
|
|
|
if install_mode:
|
|
# During install wizard, libraries must be supplied
|
|
self.libraries.validators = [DataRequired()]
|
|
# api_key is mandatory for Plex/Jellyfin
|
|
self.api_key.validators = [DataRequired()]
|