appier 1.34.11__py2.py3-none-any.whl → 1.34.12__py2.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.
appier/__init__.py CHANGED
@@ -406,6 +406,7 @@ from .validation import (
406
406
  validate_b,
407
407
  validate_e,
408
408
  safe,
409
+ custom,
409
410
  eq,
410
411
  gt,
411
412
  gte,
appier/validation.py CHANGED
@@ -151,6 +151,19 @@ def safe(comparison):
151
151
  return False
152
152
 
153
153
 
154
+ def custom(name, callable, message="value is not valid", locale=True):
155
+ def validation(object, ctx):
156
+ value = object.get(name, None)
157
+ if value == None:
158
+ return True
159
+ if callable(value):
160
+ return True
161
+ message_l = _to_locale(message) if locale else message
162
+ raise exceptions.ValidationInternalError(name, message_l)
163
+
164
+ return validation
165
+
166
+
154
167
  def eq(name, value_c, message="must be equal to %s", locale=True):
155
168
  def validation(object, ctx):
156
169
  value = object.get(name, None)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: appier
3
- Version: 1.34.11
3
+ Version: 1.34.12
4
4
  Summary: Appier Framework
5
5
  Home-page: http://appier.hive.pt
6
6
  Author: Hive Solutions Lda.
@@ -1,4 +1,4 @@
1
- appier/__init__.py,sha256=AjX-Sh9-Xh9ojQoEH3Tuabt4I0V9tAhKoHiC9i3x9bQ,9436
1
+ appier/__init__.py,sha256=YsoKeAEMyD5OWJWGe0x6fufIypPkKj4W5B0I31jqfjE,9449
2
2
  appier/amqp.py,sha256=etYxUlfaK27Og_9FJ6qCgNLSYhnz9XgVhIhSmD2ITW4,3852
3
3
  appier/api.py,sha256=ZWRdjrEEUvCDcW_pp2BDgGCdNnS7tjdaZSzUfzSRzmQ,14778
4
4
  appier/asgi.py,sha256=Gubv7W8aLeLhaBxInE2Gc7Y2rxacbSlglAaKj25T6NY,12622
@@ -59,7 +59,7 @@ appier/storage.py,sha256=Qp_CMCDg85q35n9lggNVBZRWwlGrQ-nLYNj0W7Mnbec,7470
59
59
  appier/structures.py,sha256=lwAEiz4k1O4bywGcfHvOvZJusN-lUwcviihR9aZLMtY,8883
60
60
  appier/typesf.py,sha256=XIYRQ2M7ErjvjB0SAu4Rkv3aYUOmWhqfZy3sUYyHtpM,37451
61
61
  appier/util.py,sha256=ogWRbNbyWcfVCU_pPzADXsMTwLi3Hd2wPOWzDw3K-IQ,84705
62
- appier/validation.py,sha256=vxb289skd7RfGEQVmpkQxYb71JdAfLu17QaKOuAAEEQ,22388
62
+ appier/validation.py,sha256=dMxAELEKGo93ta2UpY88UQAbiKq61b9pHd5L5pAkECk,22800
63
63
  appier/res/static/css/base.css,sha256=J9zLozd57KoslAsrsj2a42glGTObxbkrrckR-W-_f2A,6127
64
64
  appier/res/static/images/favicon.ico,sha256=fAL8DLx_0Yl6jwpRG_K6S7g3yXxr9Hyjn3JmqyU8t7U,1150
65
65
  appier/res/static/js/base.js,sha256=8o0rvcqF3O2gfPTQgna2ni56IBbr50xCYU8Eq-LSRQI,4953
@@ -95,8 +95,8 @@ appier/test/tags.py,sha256=uf52pCsZL4-yp7i3Tk7F9T6aN4uYvYxbwcUUo-b7-0E,3861
95
95
  appier/test/typesf.py,sha256=KHumQFzx7wPZSCb8_mpIwobhIy2Fh_0XYviwPjXMbKI,9680
96
96
  appier/test/util.py,sha256=vfnleU3BUaqMs1mrpXjKom3V_zFOzrsjhmQ8sYp1GaQ,46668
97
97
  appier/test/validation.py,sha256=riOCsGKob1P5jnbcB5qGZ45ApimNAVS0byg9v_uUdrk,4952
98
- appier-1.34.11.dist-info/LICENSE,sha256=Pd-b5cKP4n2tFDpdx27qJSIq0d1ok0oEcGTlbtL6QMU,11560
99
- appier-1.34.11.dist-info/METADATA,sha256=mE64HYNTvG6fHN3htuMukQqQeDNaRpBGG9yXgOQ997Y,1921
100
- appier-1.34.11.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110
101
- appier-1.34.11.dist-info/top_level.txt,sha256=Z2e_Y1ya06a554WwQZkfNRiaaQxqsdaPtBzrck384Lo,7
102
- appier-1.34.11.dist-info/RECORD,,
98
+ appier-1.34.12.dist-info/LICENSE,sha256=Pd-b5cKP4n2tFDpdx27qJSIq0d1ok0oEcGTlbtL6QMU,11560
99
+ appier-1.34.12.dist-info/METADATA,sha256=rT3CvFXm-wQtf8GOQ3ePG0I-Jmuo0v9ngNkvlUfkfn8,1921
100
+ appier-1.34.12.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110
101
+ appier-1.34.12.dist-info/top_level.txt,sha256=Z2e_Y1ya06a554WwQZkfNRiaaQxqsdaPtBzrck384Lo,7
102
+ appier-1.34.12.dist-info/RECORD,,