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.
- {dissect.cim-3.8.dev1/dissect.cim.egg-info → dissect_cim-3.9}/PKG-INFO +1 -1
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/dissect/cim/index.py +4 -2
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/dissect/cim/mappings.py +2 -1
- {dissect.cim-3.8.dev1 → dissect_cim-3.9/dissect.cim.egg-info}/PKG-INFO +1 -1
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/pyproject.toml +0 -1
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/tox.ini +1 -1
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/COPYRIGHT +0 -0
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/LICENSE +0 -0
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/MANIFEST.in +0 -0
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/README.md +0 -0
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/dissect/cim/__init__.py +0 -0
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/dissect/cim/c_cim.py +0 -0
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/dissect/cim/cim.py +0 -0
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/dissect/cim/classes.py +0 -0
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/dissect/cim/exceptions.py +0 -0
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/dissect/cim/objects.py +0 -0
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/dissect/cim/utils.py +0 -0
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/dissect.cim.egg-info/SOURCES.txt +0 -0
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/dissect.cim.egg-info/dependency_links.txt +0 -0
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/dissect.cim.egg-info/requires.txt +0 -0
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/dissect.cim.egg-info/top_level.txt +0 -0
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/setup.cfg +0 -0
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/tests/__init__.py +0 -0
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/tests/conftest.py +0 -0
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/tests/data/INDEX.BTR.gz +0 -0
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/tests/data/MAPPING1.MAP.gz +0 -0
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/tests/data/MAPPING2.MAP.gz +0 -0
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/tests/data/MAPPING3.MAP.gz +0 -0
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/tests/data/OBJECTS.DATA.gz +0 -0
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/tests/docs/Makefile +0 -0
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/tests/docs/conf.py +0 -0
- {dissect.cim-3.8.dev1 → dissect_cim-3.9}/tests/docs/index.rst +0 -0
- {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.
|
|
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.
|
|
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
|
|
@@ -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.
|
|
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
|
|
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
|