acstore
Advanced tools
| Metadata-Version: 2.1 | ||
| Name: acstore | ||
| Version: 20221230 | ||
| Version: 20221231 | ||
| Summary: Attribute Container Storage (ACStore). | ||
@@ -5,0 +5,0 @@ Home-page: https://github.com/log2timeline/acstore |
@@ -41,4 +41,2 @@ .pylintrc | ||
| config/dpkg/copyright | ||
| config/dpkg/python-acstore.install | ||
| config/dpkg/python3-acstore.install | ||
| config/dpkg/rules | ||
@@ -45,0 +43,0 @@ config/dpkg/source/format |
@@ -8,2 +8,2 @@ # -*- coding: utf-8 -*- | ||
| __version__ = '20221230' | ||
| __version__ = '20221231' |
@@ -63,2 +63,3 @@ # -*- coding: utf-8 -*- | ||
| """ | ||
| CONTAINER_TYPE = None | ||
@@ -151,3 +152,5 @@ | ||
| attributes.append(f'{attribute_name:s}: {attribute_value!s}') | ||
| attribute_string = '{0:s}: {1!s}'.format( | ||
| attribute_name, attribute_value) | ||
| attributes.append(attribute_string) | ||
@@ -178,3 +181,13 @@ return ', '.join(attributes) | ||
| if expression: | ||
| namespace = dict(self.GetAttributes()) | ||
| namespace = {} | ||
| for attribute_name, attribute_value in self.__dict__.items(): | ||
| # Not using startswith to improve performance. | ||
| if attribute_value is not None and ( | ||
| attribute_name[0] != '_' or | ||
| attribute_name in self._SERIALIZABLE_PROTECTED_ATTRIBUTES): | ||
| if isinstance(attribute_value, AttributeContainerIdentifier): | ||
| attribute_value = attribute_value.CopyToString() | ||
| namespace[attribute_name] = attribute_value | ||
| # Make sure __builtins__ contains an empty dictionary. | ||
@@ -181,0 +194,0 @@ namespace['__builtins__'] = {} |
@@ -7,3 +7,2 @@ # -*- coding: utf-8 -*- | ||
| import copy | ||
| import itertools | ||
@@ -20,2 +19,3 @@ from acstore import interface | ||
| super(FakeAttributeContainerStore, self).__init__() | ||
| self._attribute_container_indexes = {} | ||
| self._attribute_containers = {} | ||
@@ -78,2 +78,9 @@ self._is_open = False | ||
| container_indexes = self._attribute_container_indexes.get( | ||
| container.CONTAINER_TYPE, None) | ||
| if container_indexes is None: | ||
| container_indexes = [] | ||
| self._attribute_container_indexes[container.CONTAINER_TYPE] = ( | ||
| container_indexes) | ||
| next_sequence_number = self._GetAttributeContainerNextSequenceNumber( | ||
@@ -89,4 +96,4 @@ container.CONTAINER_TYPE) | ||
| # Make sure the fake storage preserves the state of the attribute container. | ||
| container = copy.deepcopy(container) | ||
| containers[lookup_key] = container | ||
| containers[lookup_key] = copy.deepcopy(container) | ||
| container_indexes.append(lookup_key) | ||
@@ -135,5 +142,8 @@ def Close(self): | ||
| return next(itertools.islice( | ||
| containers.values(), index, number_of_containers)) | ||
| container_indexes = self._attribute_container_indexes.get( | ||
| container_type, None) | ||
| lookup_key = container_indexes[index] | ||
| return containers[lookup_key] | ||
| def GetAttributeContainers(self, container_type, filter_expression=None): | ||
@@ -140,0 +150,0 @@ """Retrieves a specific type of attribute containers. |
+1
-1
| Metadata-Version: 2.1 | ||
| Name: acstore | ||
| Version: 20221230 | ||
| Version: 20221231 | ||
| Summary: Attribute Container Storage (ACStore). | ||
@@ -5,0 +5,0 @@ Home-page: https://github.com/log2timeline/acstore |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Alert delta unavailable
Currently unable to show alert delta for PyPI packages.
173523
0.37%2735
0.66%63
-3.08%