Trying to construct modelspace
This commit is contained in:
@@ -41,8 +41,8 @@ class ModelSpace:
|
|||||||
type_subdir = self.layout.get(package.package_type, None)
|
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")
|
if not type_subdir: raise RuntimeError(f"This type ({package.package_type}) of packages not supported by current modelspace")
|
||||||
lineage_subdir = package.lineage
|
lineage_subdir = package.lineage
|
||||||
if no_lineage: return str(self.path / type_subdir)
|
if no_lineage: return str(type_subdir)
|
||||||
return str(self.path / type_subdir / lineage_subdir)
|
return str(Path(type_subdir) / lineage_subdir)
|
||||||
|
|
||||||
def _register_package_in_temp(self, package: ModelPackage):
|
def _register_package_in_temp(self, package: ModelPackage):
|
||||||
for resource in package.provides: self.temp_installed_resources.add(resource, package.uuid)
|
for resource in package.provides: self.temp_installed_resources.add(resource, package.uuid)
|
||||||
@@ -71,22 +71,17 @@ class ModelSpace:
|
|||||||
for resource in resources:
|
for resource in resources:
|
||||||
selected_packages = selected_packages | self._deptree(resource, answer)
|
selected_packages = selected_packages | self._deptree(resource, answer)
|
||||||
|
|
||||||
files = SetsDict()
|
|
||||||
for package in selected_packages:
|
for package in selected_packages:
|
||||||
for file in package.files:
|
for file in package.files:
|
||||||
files.add(package.uuid, Path(self.get_dest_dir(package, self.layout.no_lineage)) / file)
|
self.check_for_file_conflicts(package.uuid, Path(self.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)
|
|
||||||
|
|
||||||
if len(self.temp_file_conflicts.index) != 0: raise RuntimeError("File conflicts detected")
|
if len(self.temp_file_conflicts.index) != 0: raise RuntimeError("File conflicts detected")
|
||||||
|
|
||||||
# TODO run copier
|
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)
|
||||||
pass
|
self._copier(package.path / "files" / file, str(self.get_dest_dir(package, self.layout.no_lineage)),[file])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user