clear-skies 1.22.5__py3-none-any.whl → 1.22.7__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.

Potentially problematic release.


This version of clear-skies might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: clear-skies
3
- Version: 1.22.5
3
+ Version: 1.22.7
4
4
  Summary: A framework for building backends in the cloud
5
5
  Home-page: https://github.com/cmancone/clearskies
6
6
  License: MIT
@@ -58,7 +58,7 @@ clearskies/backends/restful_api_advanced_search_backend.py,sha256=kBHO7wO_b24pkD
58
58
  clearskies/backends/secrets_backend.py,sha256=4lzrgdL_O_pgCT5HknV2gotFgp9GzjQ5_2n0-4H4kvs,2204
59
59
  clearskies/binding_config.py,sha256=bF8LBNEgJacwKCqToAtDqN9hv5omzU7zt_4qB9KPtE0,457
60
60
  clearskies/column_types/__init__.py,sha256=wofhLfyW00I6tb6o9DMsMx7j9hlbbqefhDzWfw0Row0,4731
61
- clearskies/column_types/audit.py,sha256=2YcrZVVElpOUdmxYTQ_6CshL1HVou6fz65dOOs_b8Gw,9659
61
+ clearskies/column_types/audit.py,sha256=K908Gv2GBt8LOsAqz7RLCpyByeLoq1gFT7EOcMAnkQ8,9676
62
62
  clearskies/column_types/belongs_to.py,sha256=E7Wi84vr2PnNw7TBCoZa8jkpwiJhO-iQmZ_ekq26kTs,12206
63
63
  clearskies/column_types/boolean.py,sha256=1yyM1CUfgD84pPE65c1OP1Qjf_J0Z45hjPrDR51AUkQ,1878
64
64
  clearskies/column_types/category_tree.py,sha256=kPx0fNTJxHaaEI_-0JxQ7NBcV2bYgUDGmtf1wmTqoEg,13172
@@ -74,7 +74,7 @@ clearskies/column_types/datetime.py,sha256=xtuZpUC9fA16i1oO80kPIx--8RDPuei9RdsDD
74
74
  clearskies/column_types/datetime_micro.py,sha256=ewQSniCc2MmNIyX2XNuNcCIwh5Fpf1HcvpLfzB8lz8g,382
75
75
  clearskies/column_types/email.py,sha256=qq0Yo_C3KxUqT68q2HWXocBBR4xwMqjxcIdgZRv218U,584
76
76
  clearskies/column_types/float.py,sha256=j8jJeBueSOusPtAFCWgLHYBncfLnqT1U7bh1zcAkYiA,1332
77
- clearskies/column_types/has_many.py,sha256=z1tco_KWLr8WqKk5X8HJwdfjxpT2WwWNb5hgwDHM2fU,7432
77
+ clearskies/column_types/has_many.py,sha256=hQYV5I-mmC8-u_O225AP_2ylNQONQZ8dAr1P-XjdAO0,7521
78
78
  clearskies/column_types/has_one.py,sha256=uphIPUuHLwwmhljLMaKKPujR6TYTT7onn-hHUF6S_IY,2230
79
79
  clearskies/column_types/integer.py,sha256=dGIluusPmhLRNg7PplOJLbQI2AXojqRBUHt8ekYWNVI,1386
80
80
  clearskies/column_types/json.py,sha256=TbZkdwCoZYhbALUxof2jENGfaq2i5TlcyBcmo7XzDGQ,652
@@ -119,9 +119,9 @@ clearskies/decorators/schema.py,sha256=X7TEqIA_bzq0MYeEQ84xbcFSbZnKO6tG22466xUE0
119
119
  clearskies/decorators/secret_bearer.py,sha256=iytP9fsTbxzLl-KtgG9-23iwNImusJlfCHuUY__pJ-U,772
120
120
  clearskies/decorators/security_headers.py,sha256=Spk53FL4epHDSLQeGNTWO9R6QC63psqAThHM-xGGuj0,269
121
121
  clearskies/di/__init__.py,sha256=T7SgQNny2XAZQPeFkdmp1XxxmEVxtnpcRiGK8YflkwU,304
122
- clearskies/di/additional_config.py,sha256=jdoS_HWC0MAabori3WwLRAG1i5YKZmQfQ1o0hCoxsPs,526
122
+ clearskies/di/additional_config.py,sha256=PGWV-diJyqlx7WtYr4xV2Uo5W0-f4rmwdPWJRXq6V_8,592
123
123
  clearskies/di/additional_config_auto_import.py,sha256=m57IODPbnCAus9iDu3mDp42u4H87oPZvjAlBGoS8uRQ,111
124
- clearskies/di/di.py,sha256=g0U0PI73eNp0mkGH3KUN1fmqNic5eEUK-_IB8hQh-Kg,15511
124
+ clearskies/di/di.py,sha256=4ZbOKpchVdl7-MOoKPsU_-AlZivwYCqcY0yaOZ96D0Q,15591
125
125
  clearskies/di/standard_dependencies.py,sha256=Qk1bBowoyptJRMYE6yjQR5Ix-DO7FXxIJk4ZdLj0Y6k,4616
126
126
  clearskies/di/test_module/__init__.py,sha256=7YHQF7JHP0FdI7GdEGANSZ_t1EISQYhUNm1wqOg0NKw,88
127
127
  clearskies/di/test_module/another_module/__init__.py,sha256=8SRmHPDepLKGWTUSc1ucDF6U8mJPsNDsBDmBQCpzPWo,35
@@ -207,7 +207,7 @@ clearskies/tests/simple_api/models/__init__.py,sha256=nUA0W6fgXw_Bxa9CudkaDkC80t
207
207
  clearskies/tests/simple_api/models/status.py,sha256=PEhPbaQh5qdUNHp8O0gz91LOLENAEBtqSaHxUPXchaM,699
208
208
  clearskies/tests/simple_api/models/user.py,sha256=5_P4Tp1tTdX7PkMJ__epPM5MA7JAeVYGas69vcWloLc,819
209
209
  clearskies/tests/simple_api/users_api.py,sha256=KYXCgEofDxHeRdQK67txN5oYUPvxxmB8JTku7L-apk4,2344
210
- clear_skies-1.22.5.dist-info/LICENSE,sha256=3Ehd0g3YOpCj8sqj0Xjq5qbOtjjgk9qzhhD9YjRQgOA,1053
211
- clear_skies-1.22.5.dist-info/METADATA,sha256=m0sHB05V1f3Ycu36lkX0mO-ATFw65r19aStxwb74Mls,1817
212
- clear_skies-1.22.5.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
213
- clear_skies-1.22.5.dist-info/RECORD,,
210
+ clear_skies-1.22.7.dist-info/LICENSE,sha256=3Ehd0g3YOpCj8sqj0Xjq5qbOtjjgk9qzhhD9YjRQgOA,1053
211
+ clear_skies-1.22.7.dist-info/METADATA,sha256=pQoYwMvXFjfJ0UXI3x7VVvT3qwZrxBNq71TOc0OJYjs,1817
212
+ clear_skies-1.22.7.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
213
+ clear_skies-1.22.7.dist-info/RECORD,,
@@ -49,6 +49,7 @@ class Audit(has_many.HasMany):
49
49
  "readable_child_columns",
50
50
  "parent_class_name",
51
51
  "parent_id_column_name",
52
+ "where",
52
53
  ]
53
54
 
54
55
  def __init__(self, di):
@@ -143,7 +143,11 @@ class HasMany(Column):
143
143
  @property
144
144
  def child_models(self):
145
145
  children = self.di.build(self.config("child_models_class"), cache=True)
146
- for index, where in enumerate(self.config("where")):
146
+ wheres = self.config("where", silent=True)
147
+ if not wheres:
148
+ return children
149
+
150
+ for index, where in enumerate(wheres):
147
151
  if callable(where):
148
152
  children = self.di.call_function(where, model=children)
149
153
  if not children:
@@ -4,6 +4,9 @@ class AdditionalConfig:
4
4
  def __init__(self, config=None):
5
5
  self.config = config if config else {}
6
6
 
7
+ def can_cache(self, name, context=None):
8
+ return True
9
+
7
10
  def can_build(self, name):
8
11
  return hasattr(self, f"provide_{name}")
9
12
 
clearskies/di/di.py CHANGED
@@ -180,7 +180,7 @@ class DI:
180
180
  if not additional_config.can_build(name):
181
181
  continue
182
182
  built_value = additional_config.build(name, self, context=context)
183
- if cache:
183
+ if cache and self.call_function(additional_config.can_cache, name=name, context=context):
184
184
  self._prepared[name] = built_value
185
185
  return built_value
186
186