diff options
author | Wojtek Kosior <koszko@koszko.org> | 2022-08-22 16:02:10 +0200 |
---|---|---|
committer | Wojtek Kosior <koszko@koszko.org> | 2022-09-28 12:54:52 +0200 |
commit | c100476b0a34f5098efc96bf2487f09b66b4a6c4 (patch) | |
tree | ce2ce57f5af0ec2f0e5596da5e0eb19a373979d6 /src/hydrilla/proxy/state_impl/_operations/load_packages.py | |
parent | 8238435825d01ad2ec1a11b6bcaf6d9a9aad5ab5 (diff) | |
download | haketilo-hydrilla-c100476b0a34f5098efc96bf2487f09b66b4a6c4.tar.gz haketilo-hydrilla-c100476b0a34f5098efc96bf2487f09b66b4a6c4.zip |
re-enable the functionality to load packages from ZIP file
Diffstat (limited to 'src/hydrilla/proxy/state_impl/_operations/load_packages.py')
-rw-r--r-- | src/hydrilla/proxy/state_impl/_operations/load_packages.py | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/hydrilla/proxy/state_impl/_operations/load_packages.py b/src/hydrilla/proxy/state_impl/_operations/load_packages.py index c294ef0..78e8024 100644 --- a/src/hydrilla/proxy/state_impl/_operations/load_packages.py +++ b/src/hydrilla/proxy/state_impl/_operations/load_packages.py @@ -125,7 +125,7 @@ def get_or_make_item(cursor: sqlite3.Cursor, type: str, identifier: str) -> int: return item_id -def get_or_make_item_version( +def make_item_version( cursor: sqlite3.Cursor, item_id: int, repo_iteration_id: int, @@ -136,13 +136,14 @@ def get_or_make_item_version( cursor.execute( ''' - INSERT OR IGNORE INTO item_versions( + INSERT INTO item_versions( item_id, version, + installed, repo_iteration_id, definition ) - VALUES(?, ?, ?, ?); + VALUES(?, ?, 'I', ?, ?); ''', (item_id, ver_str, repo_iteration_id, definition) ) @@ -241,7 +242,10 @@ def _add_item( ) -> None: item_id = get_or_make_item(cursor, info.type_name, info.identifier) - item_version_id = get_or_make_item_version( + if isinstance(info, item_infos.MappingInfo): + make_mapping_status(cursor, item_id) + + item_version_id = make_item_version( cursor, item_id, repo_iteration_id, @@ -249,9 +253,6 @@ def _add_item( definition ) - if isinstance(info, item_infos.MappingInfo): - make_mapping_status(cursor, item_id) - file_infos = {} file_specifiers = [*info.source_copyright] @@ -352,6 +353,8 @@ def load_packages( repo_id: int, package_file_resolver: t.Optional[FileResolver] = None ) -> int: + assert cursor.connection.in_transaction + if package_file_resolver is None: package_file_resolver = MalcontentFileResolver(malcontent_path) |