[entropy.server] migrate to pkg_dependencies metadata

This commit is contained in:
Fabio Erculiani
2013-11-29 19:56:20 +01:00
parent 5c120efb61
commit c9809f0775
+16 -5
View File
@@ -7455,8 +7455,10 @@ class Server(Client):
# pkg_meta['conflicts'] is a frozenset
conflicts = set(pkg_meta['conflicts'])
new_dependencies = []
remove_dependencies = set()
for dep_string, dep_value in pkg_meta['dependencies'].items():
for dep_string, dep_value in pkg_meta['pkg_dependencies']:
dep_string_matched = False
matched_pattern = False
@@ -7472,8 +7474,8 @@ class Server(Client):
if conflict:
conflicts.add(dep_pattern_string)
else:
pkg_meta['dependencies'][dep_pattern_string] = \
dep_pattern_type
new_dependencies.append(
(dep_pattern_string, dep_pattern_type))
continue
if not compiled_pattern.match(dep_string):
@@ -7491,7 +7493,7 @@ class Server(Client):
if number_of_subs_made:
dep_string_matched = True
if new_dep_string and (new_dep_string != "-"):
pkg_meta['dependencies'][new_dep_string] = dep_value
new_dependencies.append((new_dep_string, dep_value))
self.output(
"%s: %s => %s" % (
teal(_("replaced")),
@@ -7526,7 +7528,7 @@ class Server(Client):
)
if dep_string_matched:
del pkg_meta['dependencies'][dep_string]
remove_dependencies.add(dep_string)
elif (not dep_string_matched) and matched_pattern:
self.output(
"%s: %s :: %s" % (
@@ -7539,6 +7541,15 @@ class Server(Client):
header = darkred(" !x!x!x! ")
)
pkg_dependencies = []
for dep_string, dep_value in pkg_meta['pkg_dependencies']:
if dep_string in remove_dependencies:
continue
pkg_dependencies.append((dep_string, dep_value))
pkg_dependencies.extend(new_dependencies)
pkg_meta['pkg_dependencies'] = tuple(pkg_dependencies)
# save conflicts metadata back in place
pkg_meta['conflicts'] = frozenset(conflicts)