clear-skies 1.18.27__py3-none-any.whl → 1.18.28__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.18.27
3
+ Version: 1.18.28
4
4
  Summary: A framework for building backends in the cloud
5
5
  Home-page: https://github.com/cmancone/clearskies
6
6
  License: MIT
@@ -59,11 +59,12 @@ clearskies/column_types/audit.py,sha256=meDFV0s4u9i6UojN5f6EQk_kh-nGP8xPscCRa2Nd
59
59
  clearskies/column_types/belongs_to.py,sha256=a64yQ1kWRiljOfHToGsyKbAqdgNLvbRKBYEzrp1IWXo,10714
60
60
  clearskies/column_types/boolean.py,sha256=1yyM1CUfgD84pPE65c1OP1Qjf_J0Z45hjPrDR51AUkQ,1878
61
61
  clearskies/column_types/category_tree.py,sha256=PgNmzZPyqYS5NADH_QTCxLvDXZFxzv5ESKTkvPrrLXo,9140
62
- clearskies/column_types/column.py,sha256=TCGqtsCEYJr6BHs-PS1yFoUHGIwcx5oTujytNkTAcrk,13243
62
+ clearskies/column_types/column.py,sha256=PUrFyA2KmSyAZTAiJPfHy5Dlc1YPEb62c7r0BOTkF1s,13541
63
63
  clearskies/column_types/created.py,sha256=R8P3egUb7JEHoU_NtbmN9OIwBUHQ0XFi1GoAb5RpSkI,339
64
64
  clearskies/column_types/created_by_authorization_data.py,sha256=--1w1TOSo2CMwrpn6Y_iorl2RTqLgG8MbR8k27qreew,1108
65
65
  clearskies/column_types/created_by_header.py,sha256=5sY6vjtra-BrAgUE4zkuLhBtzCVWHNtJPwMozPw_7_s,520
66
66
  clearskies/column_types/created_by_ip.py,sha256=wwCUoEwHEVGN89x4xP7NJ6QR85Aum6v3JmxofoQrqtg,395
67
+ clearskies/column_types/created_by_routing_data.py,sha256=hIJytOLpNk0MO1Vnl_1lmAF_9uI5xG9MMvzWncm5rIY,537
67
68
  clearskies/column_types/created_by_user_agent.py,sha256=sSYDRrqSjsCwcYlhF_s9NO-iDww3PaH6aO2ATp_SKGQ,419
68
69
  clearskies/column_types/datetime.py,sha256=MuVaeI6FMgevTdgv6djZjlHogs72TC1HTuYdw_6MF2M,3824
69
70
  clearskies/column_types/email.py,sha256=rCaCFCxGhVzJcYVeGm98S6e7myJ6eQX9YznqAZIgwQI,606
@@ -188,7 +189,7 @@ clearskies/tests/simple_api/models/__init__.py,sha256=nUA0W6fgXw_Bxa9CudkaDkC80t
188
189
  clearskies/tests/simple_api/models/status.py,sha256=PEhPbaQh5qdUNHp8O0gz91LOLENAEBtqSaHxUPXchaM,699
189
190
  clearskies/tests/simple_api/models/user.py,sha256=5_P4Tp1tTdX7PkMJ__epPM5MA7JAeVYGas69vcWloLc,819
190
191
  clearskies/tests/simple_api/users_api.py,sha256=KYXCgEofDxHeRdQK67txN5oYUPvxxmB8JTku7L-apk4,2344
191
- clear_skies-1.18.27.dist-info/LICENSE,sha256=3Ehd0g3YOpCj8sqj0Xjq5qbOtjjgk9qzhhD9YjRQgOA,1053
192
- clear_skies-1.18.27.dist-info/METADATA,sha256=S5sqNtCAQu1aCXGzPrBQRbAd0jUZPmchIz_VuOYvAK0,1367
193
- clear_skies-1.18.27.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
194
- clear_skies-1.18.27.dist-info/RECORD,,
192
+ clear_skies-1.18.28.dist-info/LICENSE,sha256=3Ehd0g3YOpCj8sqj0Xjq5qbOtjjgk9qzhhD9YjRQgOA,1053
193
+ clear_skies-1.18.28.dist-info/METADATA,sha256=VVxXpgRfawmK_G5zsOiPIhfxGwnook8Hwy1ECLIzhgs,1367
194
+ clear_skies-1.18.28.dist-info/WHEEL,sha256=d2fvjOD7sXsVzChCqf0Ty0JbHKBaLYwDbGQDwQTnJ50,88
195
+ clear_skies-1.18.28.dist-info/RECORD,,
@@ -18,6 +18,7 @@ class Column(ABC):
18
18
  "is_temporary",
19
19
  "on_change",
20
20
  "default",
21
+ "setable",
21
22
  ]
22
23
 
23
24
  def __init__(self, di):
@@ -190,6 +191,12 @@ class Column(ABC):
190
191
  """
191
192
  if not model.exists and "default" in self.configuration and self.name not in data:
192
193
  data[self.name] = self.configuration["default"]
194
+ if "setable" in self.configuration:
195
+ setable = self.configuration["setable"]
196
+ if callable(setable):
197
+ data[self.name] = self.di.call_function(setable, data=data, model=model)
198
+ else:
199
+ data[self.name] = setable
193
200
  return data
194
201
 
195
202
  def post_save(self, data, model, id):
@@ -0,0 +1,24 @@
1
+ from .string import String
2
+
3
+
4
+ class CreatedByRoutingData(String):
5
+ required_configs = [
6
+ "routing_data_name",
7
+ ]
8
+
9
+ def __init__(self, di):
10
+ super().__init__(di)
11
+
12
+ @property
13
+ def is_writeable(self):
14
+ return False
15
+
16
+ def pre_save(self, data, model):
17
+ if model.exists:
18
+ return data
19
+
20
+ input_output = self.di.build("input_output", cache=True)
21
+ return {
22
+ **data,
23
+ self.name: input_output.get_request_header(self.config("routing_data_name")),
24
+ }