mirror of
https://github.com/tubearchivist/tubearchivist-frontend.git
synced 2024-11-17 01:20:12 +00:00
138 lines
3.5 KiB
Python
138 lines
3.5 KiB
Python
"""functionality:
|
|
- hold all form classes used in the views
|
|
"""
|
|
|
|
from django import forms
|
|
from django.contrib.auth.forms import AuthenticationForm
|
|
from django.forms.widgets import PasswordInput, TextInput
|
|
|
|
|
|
class CustomAuthForm(AuthenticationForm):
|
|
"""better styled login form"""
|
|
|
|
username = forms.CharField(
|
|
widget=TextInput(attrs={"placeholder": "Username"}), label=False
|
|
)
|
|
password = forms.CharField(
|
|
widget=PasswordInput(attrs={"placeholder": "Password"}), label=False
|
|
)
|
|
|
|
|
|
class UserSettingsForm(forms.Form):
|
|
"""user configurations values"""
|
|
|
|
CHOICES = [
|
|
("", "-- change color scheme --"),
|
|
("dark", "Dark"),
|
|
("light", "Light"),
|
|
]
|
|
|
|
colors = forms.ChoiceField(
|
|
widget=forms.Select, choices=CHOICES, required=False
|
|
)
|
|
page_size = forms.IntegerField(required=False)
|
|
|
|
|
|
class ApplicationSettingsForm(forms.Form):
|
|
"""handle all application settings"""
|
|
|
|
METADATA_CHOICES = [
|
|
("", "-- change metadata embed --"),
|
|
("0", "don't embed metadata"),
|
|
("1", "embed metadata"),
|
|
]
|
|
|
|
THUMBNAIL_CHOICES = [
|
|
("", "-- change thumbnail embed --"),
|
|
("0", "don't embed thumbnail"),
|
|
("1", "embed thumbnail"),
|
|
]
|
|
|
|
subscriptions_channel_size = forms.IntegerField(required=False)
|
|
downloads_limit_count = forms.IntegerField(required=False)
|
|
downloads_limit_speed = forms.IntegerField(required=False)
|
|
downloads_throttledratelimit = forms.IntegerField(required=False)
|
|
downloads_sleep_interval = forms.IntegerField(required=False)
|
|
downloads_format = forms.CharField(required=False)
|
|
downloads_add_metadata = forms.ChoiceField(
|
|
widget=forms.Select, choices=METADATA_CHOICES, required=False
|
|
)
|
|
downloads_add_thumbnail = forms.ChoiceField(
|
|
widget=forms.Select, choices=THUMBNAIL_CHOICES, required=False
|
|
)
|
|
|
|
|
|
class VideoSearchForm(forms.Form):
|
|
"""search videos form"""
|
|
|
|
searchInput = forms.CharField(
|
|
label="Search your videos",
|
|
widget=forms.TextInput(attrs={"autocomplete": "off"}),
|
|
)
|
|
|
|
|
|
class ChannelSearchForm(forms.Form):
|
|
"""search for channels"""
|
|
|
|
searchInput = forms.CharField(
|
|
label="",
|
|
widget=forms.TextInput(
|
|
attrs={
|
|
"oninput": "searchChannels(this.value)",
|
|
"autocomplete": "off",
|
|
"list": "resultBox",
|
|
}
|
|
),
|
|
)
|
|
|
|
|
|
class PlaylistSearchForm(forms.Form):
|
|
"""search for playlists"""
|
|
|
|
searchInput = forms.CharField(
|
|
label="",
|
|
widget=forms.TextInput(attrs={"autocomplete": "off"}),
|
|
)
|
|
|
|
|
|
class AddToQueueForm(forms.Form):
|
|
"""text area form to add to downloads"""
|
|
|
|
vid_url = forms.CharField(
|
|
label=False,
|
|
widget=forms.Textarea(
|
|
attrs={
|
|
"rows": 4,
|
|
"placeholder": "Enter Video Urls or IDs here...",
|
|
}
|
|
),
|
|
)
|
|
|
|
|
|
class SubscribeToChannelForm(forms.Form):
|
|
"""text area form to subscribe to multiple channels"""
|
|
|
|
subscribe = forms.CharField(
|
|
label=False,
|
|
widget=forms.Textarea(
|
|
attrs={
|
|
"rows": 3,
|
|
"placeholder": "Input channel ID, URL or Video of a channel",
|
|
}
|
|
),
|
|
)
|
|
|
|
|
|
class SubscribeToPlaylistForm(forms.Form):
|
|
"""text area form to subscribe to multiple playlists"""
|
|
|
|
subscribe = forms.CharField(
|
|
label=False,
|
|
widget=forms.Textarea(
|
|
attrs={
|
|
"rows": 3,
|
|
"placeholder": "Input playlist IDs",
|
|
}
|
|
),
|
|
)
|