mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-01-28 08:03:36 +00:00
[joseph: initial code for the app] Signed-off-by: Joseph Nuthalapati <njoseph@thoughtworks.com> [sunil: use the modified framework API] [sunil: simplify setup logic, move to service file] [sunil: strict security for service file, dynamic users] [sunil: interface for managing libraries] [sunil: implement backup/restore] [sunil: add functional, action, and view tests] [sunil: use svg icon] [sunil: update description] [sunil: fix apache configuration] Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org> Reviewed-by: Joseph Nuthalapati <njoseph@riseup.net>
30 lines
814 B
Python
30 lines
814 B
Python
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
"""
|
|
Django form for configuring calibre.
|
|
"""
|
|
|
|
from django import forms
|
|
from django.core import validators
|
|
from django.core.exceptions import ValidationError
|
|
from django.utils.translation import ugettext_lazy as _
|
|
|
|
from plinth.modules import calibre
|
|
|
|
|
|
class CreateLibraryForm(forms.Form):
|
|
"""Form to create an empty library."""
|
|
|
|
name = forms.CharField(
|
|
label=_('Name of the new library'), strip=True,
|
|
validators=[validators.RegexValidator(r'^[A-Za-z0-9_.-]+$')])
|
|
|
|
def clean_name(self):
|
|
"""Check if the library name is valid."""
|
|
name = self.cleaned_data['name']
|
|
|
|
if name in calibre.list_libraries():
|
|
raise ValidationError(
|
|
_('A library with this name already exists.'))
|
|
|
|
return name
|