plain 0.30.0__py3-none-any.whl → 0.32.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
plain/forms/fields.py CHANGED
@@ -43,7 +43,6 @@ __all__ = (
43
43
  "FloatField",
44
44
  "DecimalField",
45
45
  "JSONField",
46
- "SlugField",
47
46
  "TypedChoiceField",
48
47
  "UUIDField",
49
48
  )
@@ -900,16 +899,6 @@ class MultipleChoiceField(ChoiceField):
900
899
  return data.getlist(html_name)
901
900
 
902
901
 
903
- class SlugField(CharField):
904
- default_validators = [validators.validate_slug]
905
-
906
- def __init__(self, *, allow_unicode=False, **kwargs):
907
- self.allow_unicode = allow_unicode
908
- if self.allow_unicode:
909
- self.default_validators = [validators.validate_unicode_slug]
910
- super().__init__(**kwargs)
911
-
912
-
913
902
  class UUIDField(CharField):
914
903
  default_error_messages = {
915
904
  "invalid": "Enter a valid UUID.",
plain/urls/patterns.py CHANGED
@@ -48,7 +48,6 @@ class CheckURLMixin:
48
48
  class RegexPattern(CheckURLMixin):
49
49
  def __init__(self, regex, name=None, is_endpoint=False):
50
50
  self._regex = regex
51
- self._regex_dict = {}
52
51
  self._is_endpoint = is_endpoint
53
52
  self.name = name
54
53
  self.converters = {}
@@ -157,7 +156,6 @@ def _route_to_regex(route, is_endpoint=False):
157
156
  class RoutePattern(CheckURLMixin):
158
157
  def __init__(self, route, name=None, is_endpoint=False):
159
158
  self._route = route
160
- self._regex_dict = {}
161
159
  self._is_endpoint = is_endpoint
162
160
  self.name = name
163
161
  self.converters = _route_to_regex(str(route), is_endpoint)[1]
plain/validators.py CHANGED
@@ -237,21 +237,6 @@ class EmailValidator:
237
237
 
238
238
  validate_email = EmailValidator()
239
239
 
240
- slug_re = _lazy_re_compile(r"^[-a-zA-Z0-9_]+\Z")
241
- validate_slug = RegexValidator(
242
- slug_re,
243
- # Translators: "letters" means latin letters: a-z and A-Z.
244
- "Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.",
245
- "invalid",
246
- )
247
-
248
- slug_unicode_re = _lazy_re_compile(r"^[-\w]+\Z")
249
- validate_unicode_slug = RegexValidator(
250
- slug_unicode_re,
251
- "Enter a valid “slug” consisting of Unicode letters, numbers, underscores, or hyphens."
252
- "invalid",
253
- )
254
-
255
240
 
256
241
  def validate_ipv4_address(value):
257
242
  try:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: plain
3
- Version: 0.30.0
3
+ Version: 0.32.0
4
4
  Summary: A web framework for building products with Python.
5
5
  Author-email: Dave Gaeddert <dave.gaeddert@dropseed.dev>
6
6
  License-File: LICENSE
@@ -5,7 +5,7 @@ plain/exceptions.py,sha256=Z9cbPE5im_Y-bjVq8cqC85gBoqOr80rLFG5wTKixrwE,5894
5
5
  plain/json.py,sha256=McJdsbMT1sYwkGRG--f2NSZz0hVXPMix9x3nKaaak2o,1262
6
6
  plain/paginator.py,sha256=-fpLJd6c-V8bLCaNCHfTqPtm-Lm2Y1TuKqFDfy7n3ZE,5857
7
7
  plain/signing.py,sha256=sf7g1Mp-FzdjFAEoLxHyu2YvbUl5w4FOtTVDAfq6TO0,8733
8
- plain/validators.py,sha256=byAdFophb3Mfs09IwqzpIgumQHIil76ZDj2suYNaUNQ,19723
8
+ plain/validators.py,sha256=TePzFHzwR4JXUAZ_Y2vC6mkKgVxHX3QBXI6Oex0rV8c,19236
9
9
  plain/wsgi.py,sha256=R6k5FiAElvGDApEbMPTT0MPqSD7n2e2Az5chQqJZU0I,236
10
10
  plain/assets/README.md,sha256=Ukm_gU7Xj-itAmEjsWUXXDtU5d8BSRpy7ZgGB2LbSo0,2847
11
11
  plain/assets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -28,7 +28,7 @@ plain/forms/README.md,sha256=fglB9MmHiEgfGGdZmcRstNl6eYaFljrElu2mzapK52M,377
28
28
  plain/forms/__init__.py,sha256=UxqPwB8CiYPCQdHmUc59jadqaXqDmXBH8y4bt9vTPms,226
29
29
  plain/forms/boundfield.py,sha256=LhydhCVR0okrli0-QBMjGjAJ8-06gTCXVEaBZhBouQk,1741
30
30
  plain/forms/exceptions.py,sha256=XCLDRl5snIEDu5-8mLB0NnU_tegcBfyIHMiJxqvbxnc,164
31
- plain/forms/fields.py,sha256=rsKPsb9cSbvSKhu-eg4yGV1gI-Lv_LaFK_6U22D7oJI,35327
31
+ plain/forms/fields.py,sha256=Fw77LP06aO5h6ZdJmS2S_2On4YSrsl4gu142Y6nGF50,34987
32
32
  plain/forms/forms.py,sha256=fEKBee1b8I_DJ-FufzWJGtSQoUoyieYfqUaGEre9B4Q,10418
33
33
  plain/http/README.md,sha256=HjEtoAhn14OoMdgb-wK-uc8No7C4d4gZUhzseOp7Fg4,236
34
34
  plain/http/__init__.py,sha256=DIsDRbBsCGa4qZgq-fUuQS0kkxfbTU_3KpIM9VvH04w,1067
@@ -95,7 +95,7 @@ plain/urls/README.md,sha256=pWnCvgYkWN7rG7hSyBOtX4ZUP3iO7FhqM6lvwwYll6c,33
95
95
  plain/urls/__init__.py,sha256=DFO2OL1IllHW5USPIb5uYvvzf_G-Bl0Qu1zrRLHmWyM,542
96
96
  plain/urls/converters.py,sha256=s2JZVOdzZC16lgobsI93hygcdH5L0Kj4742WEkXsVcs,1193
97
97
  plain/urls/exceptions.py,sha256=q4iPh3Aa-zHbA-tw8v6WyX1J1n5WdAady2xvxFuyXB0,114
98
- plain/urls/patterns.py,sha256=bU_xfhZbKMSgRG9OJ8w_NSuYRm_9zGnqoz_WY44fhUk,9358
98
+ plain/urls/patterns.py,sha256=Vswc5OVVQLvvlhVQpHbAsUZ1apy8pucHfTH_h0MDg5g,9298
99
99
  plain/urls/resolvers.py,sha256=PyqbO1JIoJq2ayCSmONW_6O8a3vM7cTVbqQJdCJHIK0,15218
100
100
  plain/urls/routers.py,sha256=iEsQtTpPNDDVn7r_BQX84FESGSjOeD5qgyO_ep5rzaU,2819
101
101
  plain/urls/utils.py,sha256=WiGq6hHI-5DLFOxCQTAZ2qm0J-UdGosLcjuxlfK6_Tg,2137
@@ -134,8 +134,8 @@ plain/views/forms.py,sha256=RhlaUcZCkeqokY_fvv-NOS-kgZAG4XhDLOPbf9K_Zlc,2691
134
134
  plain/views/objects.py,sha256=g5Lzno0Zsv0K449UpcCtxwCoO7WMRAWqKlxxV2V0_qg,8263
135
135
  plain/views/redirect.py,sha256=9zHZgKvtSkdrMX9KmsRM8hJTPmBktxhc4d8OitbuniI,1724
136
136
  plain/views/templates.py,sha256=cBkFNCSXgVi8cMqQbhsqJ4M_rIQYVl8cUvq9qu4YIes,1951
137
- plain-0.30.0.dist-info/METADATA,sha256=9jwyLull3SgsxtScELF6OmST3HcsJIvCyuy5OLA0Bmc,319
138
- plain-0.30.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
139
- plain-0.30.0.dist-info/entry_points.txt,sha256=1Ys2lsSeMepD1vz8RSrJopna0RQfUd951vYvCRsvl6A,45
140
- plain-0.30.0.dist-info/licenses/LICENSE,sha256=m0D5O7QoH9l5Vz_rrX_9r-C8d9UNr_ciK6Qwac7o6yo,3175
141
- plain-0.30.0.dist-info/RECORD,,
137
+ plain-0.32.0.dist-info/METADATA,sha256=9YfBNr9kP9WnSKivP92PO5FKpgnoSWDeU5jPHXXilYc,319
138
+ plain-0.32.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
139
+ plain-0.32.0.dist-info/entry_points.txt,sha256=1Ys2lsSeMepD1vz8RSrJopna0RQfUd951vYvCRsvl6A,45
140
+ plain-0.32.0.dist-info/licenses/LICENSE,sha256=m0D5O7QoH9l5Vz_rrX_9r-C8d9UNr_ciK6Qwac7o6yo,3175
141
+ plain-0.32.0.dist-info/RECORD,,
File without changes