dissect.cim 3.8.dev1__tar.gz → 3.9__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.
Files changed (33) hide show
  1. {dissect.cim-3.8.dev1/dissect.cim.egg-info → dissect_cim-3.9}/PKG-INFO +1 -1
  2. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/dissect/cim/index.py +4 -2
  3. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/dissect/cim/mappings.py +2 -1
  4. {dissect.cim-3.8.dev1 → dissect_cim-3.9/dissect.cim.egg-info}/PKG-INFO +1 -1
  5. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/pyproject.toml +0 -1
  6. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/tox.ini +1 -1
  7. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/COPYRIGHT +0 -0
  8. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/LICENSE +0 -0
  9. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/MANIFEST.in +0 -0
  10. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/README.md +0 -0
  11. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/dissect/cim/__init__.py +0 -0
  12. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/dissect/cim/c_cim.py +0 -0
  13. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/dissect/cim/cim.py +0 -0
  14. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/dissect/cim/classes.py +0 -0
  15. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/dissect/cim/exceptions.py +0 -0
  16. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/dissect/cim/objects.py +0 -0
  17. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/dissect/cim/utils.py +0 -0
  18. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/dissect.cim.egg-info/SOURCES.txt +0 -0
  19. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/dissect.cim.egg-info/dependency_links.txt +0 -0
  20. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/dissect.cim.egg-info/requires.txt +0 -0
  21. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/dissect.cim.egg-info/top_level.txt +0 -0
  22. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/setup.cfg +0 -0
  23. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/tests/__init__.py +0 -0
  24. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/tests/conftest.py +0 -0
  25. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/tests/data/INDEX.BTR.gz +0 -0
  26. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/tests/data/MAPPING1.MAP.gz +0 -0
  27. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/tests/data/MAPPING2.MAP.gz +0 -0
  28. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/tests/data/MAPPING3.MAP.gz +0 -0
  29. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/tests/data/OBJECTS.DATA.gz +0 -0
  30. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/tests/docs/Makefile +0 -0
  31. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/tests/docs/conf.py +0 -0
  32. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/tests/docs/index.rst +0 -0
  33. {dissect.cim-3.8.dev1 → dissect_cim-3.9}/tests/test_cim.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dissect.cim
3
- Version: 3.8.dev1
3
+ Version: 3.9
4
4
  Summary: A Dissect module implementing a parser for the Windows Common Information Model (CIM) database, used in the Windows operating system
5
5
  Author-email: Dissect Team <dissect@fox-it.com>
6
6
  License: Affero General Public License v3
@@ -16,10 +16,11 @@ class Index:
16
16
  def __init__(self, cim, fh, mapping):
17
17
  self.store = Store(cim, fh, mapping)
18
18
 
19
+ self._lookup = lru_cache(1024)(self._lookup)
20
+
19
21
  def lookup(self, key):
20
22
  return self._lookup(str(key), self.store.root_page)
21
23
 
22
- @lru_cache(1024)
23
24
  def _lookup(self, key, page):
24
25
  matches = []
25
26
 
@@ -94,6 +95,8 @@ class IndexPage:
94
95
 
95
96
  self.count = self.page.record_count
96
97
 
98
+ self.key = lru_cache(256)(self.key)
99
+
97
100
  def _string_part(self, idx):
98
101
  offset = self.page.string_table[idx]
99
102
  return self.data[offset : self.data.find(b"\x00", offset)].decode("utf8")
@@ -108,7 +111,6 @@ class IndexPage:
108
111
 
109
112
  return "/".join(parts)
110
113
 
111
- @lru_cache(256)
112
114
  def key(self, idx):
113
115
  str_idx = self.page.keys[idx]
114
116
  key_idx = self.string(str_idx)
@@ -16,6 +16,8 @@ class Mapping:
16
16
 
17
17
  self._reverse_map = {}
18
18
 
19
+ self.get_entry = lru_cache(256)(self.get_entry)
20
+
19
21
  def __getitem__(self, k):
20
22
  if not isinstance(k, int):
21
23
  raise ValueError("Invalid type")
@@ -31,7 +33,6 @@ class Mapping:
31
33
 
32
34
  self._reverse_map[pnum] = i
33
35
 
34
- @lru_cache(256)
35
36
  def get_entry(self, logical_num):
36
37
  if logical_num > self.mapping.mapping_entry_count:
37
38
  raise IndexError(logical_num)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dissect.cim
3
- Version: 3.8.dev1
3
+ Version: 3.9
4
4
  Summary: A Dissect module implementing a parser for the Windows Common Information Model (CIM) database, used in the Windows operating system
5
5
  Author-email: Dissect Team <dissect@fox-it.com>
6
6
  License: Affero General Public License v3
@@ -50,4 +50,3 @@ license-files = ["LICENSE", "COPYRIGHT"]
50
50
  include = ["dissect.*"]
51
51
 
52
52
  [tool.setuptools_scm]
53
- local_scheme = "no-local-version"
@@ -4,7 +4,7 @@ envlist = lint, py3, pypy3
4
4
  # requires if they are not available on the host system. This requires the
5
5
  # locally installed tox to have a minimum version 3.3.0. This means the names
6
6
  # of the configuration options are still according to the tox 3.x syntax.
7
- minversion = 4.2.4
7
+ minversion = 4.4.3
8
8
  # This version of virtualenv will install setuptools version 65.5.0 and pip
9
9
  # 22.3. These versions fully support python projects defined only through a
10
10
  # pyproject.toml file (PEP-517/PEP-518/PEP-621)
File without changes
File without changes
File without changes
File without changes
File without changes