statikk 0.1.9__py3-none-any.whl → 0.1.10__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.
statikk/engine.py CHANGED
@@ -307,15 +307,20 @@ class Table:
307
307
  subtree_copy._parent = new_parent
308
308
  for node in subtree_copy.dfs_traverse_hierarchy():
309
309
  for idx in self.indexes:
310
- new_index_values = self._compose_index_values(node, idx)
311
- new_sort_key_value = new_index_values[idx.sort_key.name]
312
- setattr(node, idx.sort_key.name, new_sort_key_value)
313
- new_hash_key_value = new_index_values[idx.hash_key.name]
314
- setattr(node, idx.hash_key.name, new_hash_key_value)
310
+ self.build_model_indexes(node)
315
311
  setattr(node, FIELD_STATIKK_PARENT_ID, new_parent.id)
316
312
 
317
313
  return subtree_copy
318
314
 
315
+ def build_model_indexes(self, model: T) -> T:
316
+ for idx in self.indexes:
317
+ new_index_values = self._compose_index_values(model, idx)
318
+ new_sort_key_value = new_index_values[idx.sort_key.name]
319
+ setattr(model, idx.sort_key.name, new_sort_key_value)
320
+ new_hash_key_value = new_index_values[idx.hash_key.name]
321
+ setattr(model, idx.hash_key.name, new_hash_key_value)
322
+ return model
323
+
319
324
  def batch_write(self):
320
325
  """
321
326
  Returns a context manager for batch writing items to the database. This method handles all the buffering of the
statikk/models.py CHANGED
@@ -217,6 +217,9 @@ class DatabaseModel(BaseModel, TrackingMixin, extra=Extra.allow):
217
217
  current = current._parent
218
218
  return False
219
219
 
220
+ def build_model_indexes(self) -> T:
221
+ return self._table.build_model_indexes(self)
222
+
220
223
  @classmethod
221
224
  def query(
222
225
  cls: Type[T],
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: statikk
3
- Version: 0.1.9
3
+ Version: 0.1.10
4
4
  Summary: statikk is a single table application (STA) library for DynamoDb.
5
5
  Home-page: https://github.com/terinia/statikk
6
6
  Author: Balint Biro
@@ -0,0 +1,12 @@
1
+ statikk/__init__.py,sha256=pH5i4Fj1tbXLqLtTVIdoojiplZssQn0nnud8-HXodRE,577
2
+ statikk/conditions.py,sha256=63FYMR-UUaE-ZJEb_8CU721CQTwhajq39-BbokmKeMA,2166
3
+ statikk/engine.py,sha256=zJ7PsHOUTVh4nbDghMYknLJb7pwByrNfUJIsAh6LFUk,33387
4
+ statikk/expressions.py,sha256=boAeGxZj2cDsXxoiX3IIEzfX9voSMQngi4-rE_jYeuE,12233
5
+ statikk/fields.py,sha256=LkMP5NnX7WS0HSLxI3Q-dMOrfaJ0SD7SayZxJU5Acgg,86
6
+ statikk/models.py,sha256=98TUhCqembdjJj7r5-IUJ-TxEcVjcOB5DY38GenG6bQ,16209
7
+ statikk/typing.py,sha256=qfpegORcdODuILK3gvuD4SdcZA1a7Myn0yvscOLPHOM,68
8
+ statikk-0.1.10.dist-info/LICENSE.txt,sha256=uSH_2Hpb2Bigy5_HhBliN2fZbBU64G3ERM5zzhKPUEE,1078
9
+ statikk-0.1.10.dist-info/METADATA,sha256=ziqy9pX9Rmz27ea1jcMbl2pBo9_MYDMHky-JrvqniQc,3161
10
+ statikk-0.1.10.dist-info/WHEEL,sha256=beeZ86-EfXScwlR_HKu4SllMC9wUEj_8Z_4FJ3egI2w,91
11
+ statikk-0.1.10.dist-info/top_level.txt,sha256=etKmBbjzIlLpSefXoiOfhWGEgvqUEALaFwCjFDBD9YI,8
12
+ statikk-0.1.10.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (76.0.0)
2
+ Generator: setuptools (76.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,12 +0,0 @@
1
- statikk/__init__.py,sha256=pH5i4Fj1tbXLqLtTVIdoojiplZssQn0nnud8-HXodRE,577
2
- statikk/conditions.py,sha256=63FYMR-UUaE-ZJEb_8CU721CQTwhajq39-BbokmKeMA,2166
3
- statikk/engine.py,sha256=0jF5pUZJtr_lBZMEZXd7PGDerr26CLZUh91gy15Leac,33252
4
- statikk/expressions.py,sha256=boAeGxZj2cDsXxoiX3IIEzfX9voSMQngi4-rE_jYeuE,12233
5
- statikk/fields.py,sha256=LkMP5NnX7WS0HSLxI3Q-dMOrfaJ0SD7SayZxJU5Acgg,86
6
- statikk/models.py,sha256=gzy_MV3LVsVlorqHencXyS7HCVV2QQ698aWK5bQIdFk,16115
7
- statikk/typing.py,sha256=qfpegORcdODuILK3gvuD4SdcZA1a7Myn0yvscOLPHOM,68
8
- statikk-0.1.9.dist-info/LICENSE.txt,sha256=uSH_2Hpb2Bigy5_HhBliN2fZbBU64G3ERM5zzhKPUEE,1078
9
- statikk-0.1.9.dist-info/METADATA,sha256=ZvTT-xMgID_v5WgHYz13E_JLHtqflVz9naDu9Qh-9rA,3160
10
- statikk-0.1.9.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
11
- statikk-0.1.9.dist-info/top_level.txt,sha256=etKmBbjzIlLpSefXoiOfhWGEgvqUEALaFwCjFDBD9YI,8
12
- statikk-0.1.9.dist-info/RECORD,,