appier 1.34.9__py2.py3-none-any.whl → 1.34.11__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
@@ -235,6 +235,7 @@ from .model import (
235
235
  Model,
236
236
  LocalModel,
237
237
  Field,
238
+ ValidationRules,
238
239
  link,
239
240
  operation,
240
241
  view,
appier/base.py CHANGED
@@ -1264,6 +1264,7 @@ class App(
1264
1264
  self.add_filter(self.strip, "strip")
1265
1265
  self.add_filter(self.sentence, "sentence")
1266
1266
  self.add_filter(self.absolute_url, "absolute_url")
1267
+ self.add_filter(self.callable, "callable")
1267
1268
 
1268
1269
  self.add_filter(self.script_tag_jinja, "script_tag", type="eval")
1269
1270
  self.add_filter(self.css_tag_jinja, "css_tag", type="eval")
@@ -3735,6 +3736,9 @@ class App(
3735
3736
  value = base_url + prefix + value
3736
3737
  return value
3737
3738
 
3739
+ def callable(self, value):
3740
+ return callable(value)
3741
+
3738
3742
  def url_for(
3739
3743
  self,
3740
3744
  type,
appier/model.py CHANGED
@@ -3265,3 +3265,5 @@ def is_unset(value):
3265
3265
 
3266
3266
 
3267
3267
  field = Field
3268
+
3269
+ ValidationRules = None
appier/model.pyi CHANGED
@@ -1,6 +1,8 @@
1
1
  from typing import Any, Callable, Self, Sequence
2
2
  from .base import App
3
3
 
4
+ ValidationRules = Sequence[Callable[[dict, Any], bool]]
5
+
4
6
  class Model:
5
7
  owner: App
6
8
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: appier
3
- Version: 1.34.9
3
+ Version: 1.34.11
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=08H8QW5pI-hvrdOAjeNem3Z2MgVxMbsTr0lbi7UCSt0,9414
1
+ appier/__init__.py,sha256=AjX-Sh9-Xh9ojQoEH3Tuabt4I0V9tAhKoHiC9i3x9bQ,9436
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
@@ -6,7 +6,7 @@ appier/async_neo.py,sha256=CqeVtKczXt3SZPvi0BYLujVTeN4i-sT8P1_0JPR5aiI,5448
6
6
  appier/async_old.py,sha256=83YuTmoZkLIeyNHLZusCXqxB_6onRmYdKJ-Sqd1Yi1E,9195
7
7
  appier/asynchronous.py,sha256=a1LQa3wbGMaXELhF7W71dRr1klPOj6x-ST9EInvPhtU,1757
8
8
  appier/asynchronous.pyi,sha256=5CpLkpKcUq09woMOVYwpl24Pli0A8Xu6nXoT20xDQ-o,104
9
- appier/base.py,sha256=0VWXqX3mqps7Kz7HC01_Raq_1aPGtvV9b3oljz_TrUA,272075
9
+ appier/base.py,sha256=6OhCkyM8MNa-eOIXXaYOCui0xUbSPq07ZJGqcXiwVJ0,272193
10
10
  appier/base.pyi,sha256=CwhdTt6lVGiXsXQewN1kkISD1YRNPCUf9U8fxYUVI3E,2924
11
11
  appier/bus.py,sha256=GyzP_qkTRDNi-NA9XV0U3YnibUn2TWH0w2fGG_a0IWo,8086
12
12
  appier/bus.pyi,sha256=W6_MIBpvDq468wfT5XM2WpPuR3O49QiZMOSCdMsJWos,182
@@ -36,8 +36,8 @@ appier/legacy.py,sha256=o_oJ_2lqZELZKwkvfGt0aDam6ZSZiZiL7FYygNjrDbY,15881
36
36
  appier/log.py,sha256=jhV7ub5nZwrLzY7x-tZDJfb8tcsXu-ndWxxrCspBUdU,12825
37
37
  appier/meta.py,sha256=rgBLOjD6QU9CGYsbCQS3Fy4iY14uk1-Kd8ljkfmxxzc,7168
38
38
  appier/mock.py,sha256=WoWa67rb8qV_ogToQJCdT0R-rCw9RUY24EkA4bYR1G4,5800
39
- appier/model.py,sha256=_VcMBzVBRmqeS5fdQ96RpFDuD_1xY5gXWED-7wNPWJY,122995
40
- appier/model.pyi,sha256=Tib26mqYnNAOgsjRaov9T2CmV2pw6IJhdzMYUeN9HM4,1838
39
+ appier/model.py,sha256=0V_91vft3fMAFm5KzFILb-gdpoDqX6g66UGXxMYf_Jo,123021
40
+ appier/model.pyi,sha256=prhI4tdSILryvLbDC65s4LwAt-LbkBtaTN5ltsotlOw,1897
41
41
  appier/model_a.py,sha256=c6XpG4oIelXNDK0uicsZ69-f6isUgmh5-29F61PZt9c,16176
42
42
  appier/mongo.py,sha256=rU3lRroXij6x17aKFBAbuiu8Cu2xOIP-DbDtI59Ln44,11535
43
43
  appier/observer.py,sha256=T0QpkxdkcNuEOZJdmJT5nFSJ2e-0VPbGveX5YKtt7mA,4519
@@ -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.9.dist-info/LICENSE,sha256=Pd-b5cKP4n2tFDpdx27qJSIq0d1ok0oEcGTlbtL6QMU,11560
99
- appier-1.34.9.dist-info/METADATA,sha256=xOsRSV190CXAC9AV0UIa-79qMEtWDqa6593pyTKnD3A,1920
100
- appier-1.34.9.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110
101
- appier-1.34.9.dist-info/top_level.txt,sha256=Z2e_Y1ya06a554WwQZkfNRiaaQxqsdaPtBzrck384Lo,7
102
- appier-1.34.9.dist-info/RECORD,,
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,,