Trying to construct modelspace

This commit is contained in:
2025-09-15 02:33:57 +07:00
parent 2c44ab963d
commit fb1d7c295a

View File

@@ -41,8 +41,8 @@ class ModelSpace:
type_subdir = self.layout.get(package.package_type, None)
if not type_subdir: raise RuntimeError(f"This type ({package.package_type}) of packages not supported by current modelspace")
lineage_subdir = package.lineage
if no_lineage: return str(self.path / type_subdir)
return str(self.path / type_subdir / lineage_subdir)
if no_lineage: return str(type_subdir)
return str(Path(type_subdir) / lineage_subdir)
def _register_package_in_temp(self, package: ModelPackage):
for resource in package.provides: self.temp_installed_resources.add(resource, package.uuid)
@@ -71,22 +71,17 @@ class ModelSpace:
for resource in resources:
selected_packages = selected_packages | self._deptree(resource, answer)
files = SetsDict()
for package in selected_packages:
for file in package.files:
files.add(package.uuid, Path(self.get_dest_dir(package, self.layout.no_lineage)) / file)
for pkg_id in files.keys:
for file in files.by_key(pkg_id):
self.check_for_file_conflicts(pkg_id, file)
self.check_for_file_conflicts(package.uuid, Path(self.path) / self.get_dest_dir(package, self.layout.no_lineage) / file)
if len(self.temp_file_conflicts.index) != 0: raise RuntimeError("File conflicts detected")
# TODO run copier
pass
for package in selected_packages:
self.db.create_manual(package.uuid) # TODO add deps separation from manual packages
for file in package.files:
self.db.create_file(package.uuid, Path(self.get_dest_dir(package, self.layout.no_lineage)) / file)
self._copier(package.path / "files" / file, str(self.get_dest_dir(package, self.layout.no_lineage)),[file])