form.parser.form ================ .. py:module:: form.parser.form Attributes ---------- .. autoapisummary:: form.parser.form._FormT form.parser.form.MEGABYTE form.parser.form.DEFAULT_UPLOAD_LIMIT Classes ------- .. autoapisummary:: form.parser.form.WTFormsClassBuilder Functions --------- .. autoapisummary:: form.parser.form.parse_form form.parser.form.handle_field Module Contents --------------- .. py:data:: _FormT .. py:data:: MEGABYTE :value: 1000000 .. py:data:: DEFAULT_UPLOAD_LIMIT :value: 100000000 .. py:function:: parse_form(text: str, enable_edit_checks: bool, base_class: type[_FormT]) -> type[_FormT] parse_form(text: str, enable_edit_checks: bool = False, *, base_class: type[_FormT]) -> type[_FormT] parse_form(text: str, enable_edit_checks: bool = False, base_class: type[onegov.form.core.Form] = Form) -> type[onegov.form.core.Form] Takes the given form text, parses it and returns a WTForms form class (not an instance of it). :type text: string form text to be parsed :param enable_edit_checks: bool to activate additional checks after editing a form. :param base_class: Form base class .. py:function:: handle_field(builder: WTFormsClassBuilder[Any], field: onegov.form.parser.core.ParsedField, dependency: onegov.form.core.FieldDependency | None = None) -> None Takes the given parsed field and adds it to the form. .. py:class:: WTFormsClassBuilder(base_class: type[_FormT]) Bases: :py:obj:`Generic`\ [\ :py:obj:`_FormT`\ ] Helps dynamically build a wtforms class from parsed blocks. For example:: builder = WTFormsClassBuilder(BaseClass) builder.add_field(StringField, label='Name', required=True) MyForm = builder.form_class .. py:attribute:: form_class :type: type[_FormT] .. py:attribute:: current_fieldset :type: str | None .. py:method:: set_current_fieldset(label: str | None) -> None .. py:method:: validators_extend(validators: list[onegov.form.types.Validator[Any, Any]], required: bool, dependency: onegov.form.core.FieldDependency | None) -> None .. py:method:: validators_add_required(validators: list[onegov.form.types.Validator[Any, Any]]) -> None .. py:method:: validators_add_dependency(validators: list[onegov.form.types.Validator[Any, Any]], dependency: onegov.form.core.FieldDependency) -> None .. py:method:: validators_add_optional(validators: list[onegov.form.types.Validator[Any, Any]]) -> None .. py:method:: mark_as_dependent(field_id: str, dependency: onegov.form.core.FieldDependency) -> None .. py:method:: get_unique_field_id(label: str, dependency: onegov.form.core.FieldDependency | None) -> str .. py:method:: add_field(field_class: type[wtforms.Field], field_id: str, label: str, required: bool, dependency: onegov.form.core.FieldDependency | None = None, pricing: onegov.form.types.PricingRules | None = None, validators: list[onegov.form.types.Validator[Any, Any]] | None = None, description: str | None = None, widget: onegov.form.types.Widget[Any] | None = None, render_kw: dict[str, Any] | None = None, **extra_field_kwargs: Any) -> wtforms.Field