From c100476b0a34f5098efc96bf2487f09b66b4a6c4 Mon Sep 17 00:00:00 2001 From: Wojtek Kosior Date: Mon, 22 Aug 2022 16:02:10 +0200 Subject: re-enable the functionality to load packages from ZIP file --- .../proxy/state_impl/_operations/load_packages.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'src/hydrilla/proxy/state_impl/_operations/load_packages.py') 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) -- cgit v1.2.3