statikk 0.1.23__tar.gz → 0.1.24__tar.gz
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-0.1.23 → statikk-0.1.24}/PKG-INFO +1 -1
- {statikk-0.1.23 → statikk-0.1.24}/src/statikk/models.py +8 -1
- {statikk-0.1.23 → statikk-0.1.24}/src/statikk.egg-info/PKG-INFO +1 -1
- {statikk-0.1.23 → statikk-0.1.24}/.coveragerc +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/.gitignore +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/.readthedocs.yml +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/AUTHORS.rst +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/CHANGELOG.rst +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/CONTRIBUTING.rst +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/LICENSE.txt +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/README.rst +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/assets/favicon.png +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/assets/logo.png +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/docs/Makefile +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/docs/_static/.gitignore +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/docs/authors.rst +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/docs/changelog.rst +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/docs/conf.py +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/docs/contributing.rst +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/docs/index.rst +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/docs/license.rst +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/docs/readme.rst +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/docs/requirements.txt +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/docs/usage.rst +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/pyproject.toml +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/setup.cfg +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/setup.py +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/src/statikk/__init__.py +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/src/statikk/conditions.py +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/src/statikk/engine.py +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/src/statikk/expressions.py +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/src/statikk/fields.py +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/src/statikk/typing.py +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/src/statikk.egg-info/SOURCES.txt +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/src/statikk.egg-info/dependency_links.txt +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/src/statikk.egg-info/not-zip-safe +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/src/statikk.egg-info/requires.txt +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/src/statikk.egg-info/top_level.txt +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/tests/conftest.py +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/tests/test_engine.py +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/tests/test_expressions.py +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/tests/test_models.py +0 -0
- {statikk-0.1.23 → statikk-0.1.24}/tox.ini +0 -0
@@ -61,6 +61,11 @@ class TreeStructureChange(BaseModel):
|
|
61
61
|
timestamp: datetime = Field(default_factory=datetime.now)
|
62
62
|
|
63
63
|
|
64
|
+
class ChangeTrackerMixin:
|
65
|
+
def custom_hash(self) -> int:
|
66
|
+
return 0
|
67
|
+
|
68
|
+
|
64
69
|
class TrackingMixin:
|
65
70
|
_original_hash: int = Field(exclude=True)
|
66
71
|
|
@@ -137,12 +142,14 @@ class TrackingMixin:
|
|
137
142
|
return tuple((self._make_hashable(k), self._make_hashable(v)) for k, v in sorted(value.items()))
|
138
143
|
elif isinstance(value, BaseModel) and hasattr(value, "_recursive_hash"):
|
139
144
|
return value._recursive_hash()
|
145
|
+
elif isinstance(value, ChangeTrackerMixin):
|
146
|
+
return value.custom_hash()
|
140
147
|
else:
|
141
148
|
try:
|
142
149
|
return hash(value)
|
143
150
|
except TypeError:
|
144
151
|
logger.warning(
|
145
|
-
f"{type(value)} is unhashable, tracking will
|
152
|
+
f"{type(value)} is unhashable, tracking will be ignored for this item. Consider implementing the ChangeTrackerMixin for this type."
|
146
153
|
)
|
147
154
|
return None
|
148
155
|
return value
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|