o ھce @sddlmZmZmZmZddlmZddlmZm Z ddl m Z m Z m Z mZmZddlmZmZmZmZmZddlmZmZmZmZmZmZmZddlZeeZ e!dZ"e"e _#e e Z$Gd d d eZ%dS) )Flaskrender_templateredirecturl_for) Bootstrap5) FlaskForm CSRFProtect) StringField SubmitField TextAreaField IntegerField RadioField) InputRequiredLength NumberRangeOptionalRegexp)name_valkey_val ensemble_valtype_val source_valpage_val section_valNc@seZdZedeegdZedeeddgdZede eddgdZ ed ee gdZ ed e gdZ ed eegdZed gd egdZedeegdZedegdZedeegdZedeeddgdZede edddgdZedeegdZedeeddgdZedeeddgdZede eddgdZ ede eddgdZ!e"de gdZ#e$dZ%dS) FronFormzKey:) validatorszTitle:(z Subtitle:<z Composer:zOriginal Composer:z Ensemble:z Difficulty:))0Beginner)1Easy)2Medium)3 Challenging)4Hard)5Virtuoso)choicesrzMusical Type[s]:z Section Name:zSource (name or library):zBook or manuscript:zVolume # (if any):c)minmaxzPage:zEditor: zEncoder:z Arranger:z Contributor:zRemarks:SubmitN)&__name__ __module__ __qualname__r rrmkeyrtitlersubtitlercomposeroriginal_composerrensembler difficultyrmtypersectionrsourcedocumentr rvolumerpageeditorencoderarranger contributorr remarksr submitrJrJ!/mnt/d/website/ft3form/myforms.pyrsr r)&flaskrrrrflask_bootstrapr flask_wtfrrwtformsr r r r r wtforms.validatorsrrrrrmyvalsrrrrrrrsecretsr4app token_urlsafefoo secret_keycsrfrrJrJrJrKs $