statikk 0.1.0__py3-none-any.whl → 0.1.1__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
@@ -548,7 +548,7 @@ class Table:
548
548
  sort_key_values.append(model.type())
549
549
  for sort_key_field in sort_key_fields:
550
550
  if sort_key_field in model.model_fields.keys():
551
- sort_key_values.append(getattr(model, sort_key_field))
551
+ sort_key_values.append(self._serialize_value(getattr(model, sort_key_field)))
552
552
 
553
553
  return self.delimiter.join(sort_key_values)
554
554
 
statikk/models.py CHANGED
@@ -99,7 +99,9 @@ class TrackingMixin:
99
99
  if contains_model:
100
100
  continue
101
101
 
102
- values.append(self._make_hashable(value))
102
+ hashed_value = self._make_hashable(value)
103
+ if hashed_value is not None:
104
+ values.append(hashed_value)
103
105
 
104
106
  return hash(tuple(values))
105
107
 
@@ -110,15 +112,16 @@ class TrackingMixin:
110
112
  return tuple(self._make_hashable(item) for item in value)
111
113
  elif isinstance(value, dict):
112
114
  return tuple((self._make_hashable(k), self._make_hashable(v)) for k, v in sorted(value.items()))
113
- elif isinstance(value, BaseModel):
114
- return value._recursive_hash() if hasattr(value, "_recursive_hash") else hash(value)
115
+ elif isinstance(value, BaseModel) and hasattr(value, "_recursive_hash"):
116
+ return value._recursive_hash()
115
117
  else:
116
118
  try:
117
119
  return hash(value)
118
- except Exception:
120
+ except TypeError:
119
121
  logger.warning(
120
122
  f"{type(value)} is unhashable, tracking will not work. Consider implementing the TrackingMixin for this type."
121
123
  )
124
+ return None
122
125
  return value
123
126
 
124
127
  @property
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: statikk
3
- Version: 0.1.0
3
+ Version: 0.1.1
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,11 @@
1
+ statikk/__init__.py,sha256=pH5i4Fj1tbXLqLtTVIdoojiplZssQn0nnud8-HXodRE,577
2
+ statikk/conditions.py,sha256=63FYMR-UUaE-ZJEb_8CU721CQTwhajq39-BbokmKeMA,2166
3
+ statikk/engine.py,sha256=ny15q1yLEJYTszxCaHxqdm7GRC3xsCZBtjPfNGHn0Dk,30878
4
+ statikk/expressions.py,sha256=mF6Hmj3Kmj6KKXTymeTHSepVA7rhiSINpFgSAPeBTRY,12210
5
+ statikk/fields.py,sha256=LkMP5NnX7WS0HSLxI3Q-dMOrfaJ0SD7SayZxJU5Acgg,86
6
+ statikk/models.py,sha256=6ssCECKFCHZwN_-LA-epHhqtVNJK0pt6PlIVj9UxKUI,12928
7
+ statikk-0.1.1.dist-info/LICENSE.txt,sha256=uSH_2Hpb2Bigy5_HhBliN2fZbBU64G3ERM5zzhKPUEE,1078
8
+ statikk-0.1.1.dist-info/METADATA,sha256=bfSuQ9QD8mDp_9CdmlgApWp0h-rlAhCsgO-ChPETOkQ,3160
9
+ statikk-0.1.1.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
10
+ statikk-0.1.1.dist-info/top_level.txt,sha256=etKmBbjzIlLpSefXoiOfhWGEgvqUEALaFwCjFDBD9YI,8
11
+ statikk-0.1.1.dist-info/RECORD,,
@@ -1,11 +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=GCcqowgJa041Oo22sarSqDUQRWS4GbwHSNz_WGmcpNM,30855
4
- statikk/expressions.py,sha256=mF6Hmj3Kmj6KKXTymeTHSepVA7rhiSINpFgSAPeBTRY,12210
5
- statikk/fields.py,sha256=LkMP5NnX7WS0HSLxI3Q-dMOrfaJ0SD7SayZxJU5Acgg,86
6
- statikk/models.py,sha256=S5KdjNH0ufGn7iW4ZTVMXv1e177U95C28mbUlwDax_k,12831
7
- statikk-0.1.0.dist-info/LICENSE.txt,sha256=uSH_2Hpb2Bigy5_HhBliN2fZbBU64G3ERM5zzhKPUEE,1078
8
- statikk-0.1.0.dist-info/METADATA,sha256=Aqf0Od-2YmGbkQRqX36IhwPPzx-r5Wjr2ipe5dBcj7o,3160
9
- statikk-0.1.0.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
10
- statikk-0.1.0.dist-info/top_level.txt,sha256=etKmBbjzIlLpSefXoiOfhWGEgvqUEALaFwCjFDBD9YI,8
11
- statikk-0.1.0.dist-info/RECORD,,