lol
This commit is contained in:
@@ -1,71 +1,11 @@
|
||||
from wtforms.fields.choices import RadioField
|
||||
from wtforms.fields.choices import SelectField
|
||||
from wtforms.fields.choices import *
|
||||
from wtforms.fields.choices import SelectFieldBase
|
||||
from wtforms.fields.choices import SelectMultipleField
|
||||
from wtforms.fields.core import Field
|
||||
from wtforms.fields.core import Flags
|
||||
from wtforms.fields.core import Label
|
||||
from wtforms.fields.datetime import DateField
|
||||
from wtforms.fields.datetime import DateTimeField
|
||||
from wtforms.fields.datetime import DateTimeLocalField
|
||||
from wtforms.fields.datetime import MonthField
|
||||
from wtforms.fields.datetime import TimeField
|
||||
from wtforms.fields.datetime import WeekField
|
||||
from wtforms.fields.form import FormField
|
||||
from wtforms.fields.list import FieldList
|
||||
from wtforms.fields.numeric import DecimalField
|
||||
from wtforms.fields.numeric import DecimalRangeField
|
||||
from wtforms.fields.numeric import FloatField
|
||||
from wtforms.fields.numeric import IntegerField
|
||||
from wtforms.fields.numeric import IntegerRangeField
|
||||
from wtforms.fields.simple import BooleanField
|
||||
from wtforms.fields.simple import ColorField
|
||||
from wtforms.fields.simple import EmailField
|
||||
from wtforms.fields.simple import FileField
|
||||
from wtforms.fields.simple import HiddenField
|
||||
from wtforms.fields.simple import MultipleFileField
|
||||
from wtforms.fields.simple import PasswordField
|
||||
from wtforms.fields.simple import SearchField
|
||||
from wtforms.fields.simple import StringField
|
||||
from wtforms.fields.simple import SubmitField
|
||||
from wtforms.fields.simple import TelField
|
||||
from wtforms.fields.simple import TextAreaField
|
||||
from wtforms.fields.simple import URLField
|
||||
from wtforms.fields.datetime import *
|
||||
from wtforms.fields.form import *
|
||||
from wtforms.fields.list import *
|
||||
from wtforms.fields.numeric import *
|
||||
from wtforms.fields.simple import *
|
||||
from wtforms.utils import unset_value as _unset_value
|
||||
|
||||
__all__ = [
|
||||
"Field",
|
||||
"Flags",
|
||||
"Label",
|
||||
"SelectField",
|
||||
"SelectMultipleField",
|
||||
"SelectFieldBase",
|
||||
"RadioField",
|
||||
"DateTimeField",
|
||||
"DateField",
|
||||
"TimeField",
|
||||
"MonthField",
|
||||
"DateTimeLocalField",
|
||||
"WeekField",
|
||||
"FormField",
|
||||
"IntegerField",
|
||||
"DecimalField",
|
||||
"FloatField",
|
||||
"IntegerRangeField",
|
||||
"DecimalRangeField",
|
||||
"BooleanField",
|
||||
"TextAreaField",
|
||||
"PasswordField",
|
||||
"FileField",
|
||||
"MultipleFileField",
|
||||
"HiddenField",
|
||||
"SearchField",
|
||||
"SubmitField",
|
||||
"StringField",
|
||||
"TelField",
|
||||
"URLField",
|
||||
"EmailField",
|
||||
"ColorField",
|
||||
"FieldList",
|
||||
"_unset_value",
|
||||
]
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -121,9 +121,8 @@ class SelectField(SelectFieldBase):
|
||||
_choices = zip(choices, choices)
|
||||
|
||||
for value, label, *other_args in _choices:
|
||||
selected = self.coerce(value) == self.data
|
||||
render_kw = other_args[0] if len(other_args) else {}
|
||||
yield (value, label, selected, render_kw)
|
||||
yield (value, label, self.coerce(value) == self.data, render_kw)
|
||||
|
||||
def process_data(self, value):
|
||||
try:
|
||||
@@ -174,9 +173,9 @@ class SelectMultipleField(SelectField):
|
||||
else:
|
||||
_choices = zip(choices, choices)
|
||||
|
||||
for value, label, *other_args in _choices:
|
||||
for value, label, *args in _choices:
|
||||
selected = self.data is not None and self.coerce(value) in self.data
|
||||
render_kw = other_args[0] if len(other_args) else {}
|
||||
render_kw = args[0] if len(args) else {}
|
||||
yield (value, label, selected, render_kw)
|
||||
|
||||
def process_data(self, value):
|
||||
@@ -202,11 +201,9 @@ class SelectMultipleField(SelectField):
|
||||
if self.choices is None:
|
||||
raise TypeError(self.gettext("Choices cannot be None."))
|
||||
|
||||
acceptable = [self.coerce(choice[0]) for choice in self.iter_choices()]
|
||||
if any(data not in acceptable for data in self.data):
|
||||
unacceptable = [
|
||||
str(data) for data in set(self.data) if data not in acceptable
|
||||
]
|
||||
acceptable = {c[0] for c in self.iter_choices()}
|
||||
if any(d not in acceptable for d in self.data):
|
||||
unacceptable = [str(d) for d in set(self.data) - acceptable]
|
||||
raise ValidationError(
|
||||
self.ngettext(
|
||||
"'%(value)s' is not a valid choice for this field.",
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import inspect
|
||||
import itertools
|
||||
import warnings
|
||||
|
||||
from markupsafe import escape
|
||||
from markupsafe import Markup
|
||||
@@ -130,6 +131,17 @@ class Field:
|
||||
for v in itertools.chain(self.validators, [self.widget]):
|
||||
flags = getattr(v, "field_flags", {})
|
||||
|
||||
# check for legacy format, remove eventually
|
||||
if isinstance(flags, tuple): # pragma: no cover
|
||||
warnings.warn(
|
||||
"Flags should be stored in dicts and not in tuples. "
|
||||
"The next version of WTForms will abandon support "
|
||||
"for flags in tuples.",
|
||||
DeprecationWarning,
|
||||
stacklevel=2,
|
||||
)
|
||||
flags = {flag_name: True for flag_name in flags}
|
||||
|
||||
for k, v in flags.items():
|
||||
setattr(self.flags, k, v)
|
||||
|
||||
@@ -169,14 +181,14 @@ class Field:
|
||||
for validator in validators:
|
||||
if not callable(validator):
|
||||
raise TypeError(
|
||||
f"{validator} is not a valid validator because it is not "
|
||||
"callable"
|
||||
"{} is not a valid validator because it is not "
|
||||
"callable".format(validator)
|
||||
)
|
||||
|
||||
if inspect.isclass(validator):
|
||||
raise TypeError(
|
||||
f"{validator} is not a valid validator because it is a class, "
|
||||
"it should be an instance"
|
||||
"{} is not a valid validator because it is a class, "
|
||||
"it should be an instance".format(validator)
|
||||
)
|
||||
|
||||
def gettext(self, string):
|
||||
@@ -387,10 +399,8 @@ class UnboundField:
|
||||
return self.field_class(*self.args, **kw)
|
||||
|
||||
def __repr__(self):
|
||||
return (
|
||||
"<UnboundField("
|
||||
f"{self.field_class.__name__}, {self.args!r}, {self.kwargs!r}"
|
||||
")>"
|
||||
return "<UnboundField({}, {!r}, {!r})>".format(
|
||||
self.field_class.__name__, self.args, self.kwargs
|
||||
)
|
||||
|
||||
|
||||
@@ -415,8 +425,7 @@ class Flags:
|
||||
for name in dir(self)
|
||||
if not name.startswith("_")
|
||||
)
|
||||
flags = ", ".join(flags)
|
||||
return f"<wtforms.fields.Flags: {{{flags}}}>"
|
||||
return "<wtforms.fields.Flags: {%s}>" % ", ".join(flags)
|
||||
|
||||
|
||||
class Label:
|
||||
|
||||
@@ -34,8 +34,7 @@ class DateTimeField(Field):
|
||||
def _value(self):
|
||||
if self.raw_data:
|
||||
return " ".join(self.raw_data)
|
||||
format = self.format[0]
|
||||
return self.data and self.data.strftime(format) or ""
|
||||
return self.data and self.data.strftime(self.format[0]) or ""
|
||||
|
||||
def process_formdata(self, valuelist):
|
||||
if not valuelist:
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
from wtforms.utils import unset_value
|
||||
|
||||
from .. import widgets
|
||||
from .core import Field
|
||||
from wtforms.utils import unset_value
|
||||
|
||||
__all__ = ("FormField",)
|
||||
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
import itertools
|
||||
|
||||
from wtforms.utils import unset_value
|
||||
|
||||
from .. import widgets
|
||||
from .core import Field
|
||||
from .core import UnboundField
|
||||
from wtforms.utils import unset_value
|
||||
|
||||
__all__ = ("FieldList",)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user