[entropy.tools] update API of generate_entropy_delta() and generate_entropy_delta_file_name(), improve reliability of fetching the right file.

This commit is contained in:
Fabio Erculiani
2010-12-11 23:01:00 +01:00
parent 95d0d9139d
commit a4122850c4
2 changed files with 29 additions and 26 deletions

View File

@@ -67,8 +67,10 @@ def generate_package_deltas(directory, quiet):
for from_pkg_name, to_pkg_name in sorted_pkgs_couples:
pkg_path_a = os.path.join(directory, from_pkg_name)
next_pkg_path = os.path.join(directory, to_pkg_name)
hash_tag = entropy.tools.md5sum(pkg_path_a) + \
entropy.tools.md5sum(next_pkg_path)
delta_fn = entropy.tools.generate_entropy_delta_file_name(
pkg_path_a, next_pkg_path)
from_pkg_name, to_pkg_name, hash_tag)
delta_path = os.path.join(directory,
etpConst['packagesdeltasubdir'], delta_fn)
delta_path_md5 = delta_path + etpConst['packagesmd5fileext']
@@ -77,7 +79,7 @@ def generate_package_deltas(directory, quiet):
sys.stderr.write(delta_path + " already exists\n")
continue
delta_file = entropy.tools.generate_entropy_delta(pkg_path_a,
next_pkg_path)
next_pkg_path, hash_tag)
entropy.tools.create_md5_file(delta_file)
if delta_file is not None:
sys.stdout.write(delta_file + "\n")
@@ -99,8 +101,10 @@ def cleanup_package_deltas(directory, quiet):
for from_pkg_name, to_pkg_name in sorted_pkgs_couples:
pkg_path_a = os.path.join(directory, from_pkg_name)
next_pkg_path = os.path.join(directory, to_pkg_name)
hash_tag = entropy.tools.md5sum(pkg_path_a) + \
entropy.tools.md5sum(next_pkg_path)
delta_fn = entropy.tools.generate_entropy_delta_file_name(
pkg_path_a, next_pkg_path)
from_pkg_name, to_pkg_name, hash_tag)
delta_path = os.path.join(directory,
etpConst['packagesdeltasubdir'], delta_fn)
if os.path.lexists(delta_path):
@@ -111,6 +115,10 @@ def cleanup_package_deltas(directory, quiet):
if not to_remove_deltas:
sys.stdout.write("nothing to remove for %s\n" % (directory,))
for old_pkg_delta in to_remove_deltas:
try:
os.remove(old_pkg_delta + etpConst['packagesmd5fileext'])
except OSError:
pass
try:
os.remove(old_pkg_delta)
sys.stdout.write(old_pkg_delta + " removed\n")
@@ -119,10 +127,6 @@ def cleanup_package_deltas(directory, quiet):
sys.stderr.write("cannot remove %s: %s\n" % (old_pkg_delta,
err))
rc = 1
try:
os.remove(old_pkg_delta + etpConst['packagesmd5fileext'])
except OSError:
pass
return rc
def _generator_argv(argv, quiet):