From: Christian Hofstaedtler Date: Thu, 1 Jul 2010 18:58:04 +0000 (+0200) Subject: properly update grml-versions when updating a grml flavour X-Git-Tag: v0.9.28~5 X-Git-Url: https://git.grml.org/?p=grml2usb.git;a=commitdiff_plain;h=791485b52c814c37a452ebf26ddc1976af268b5a properly update grml-versions when updating a grml flavour Previously, grml-versions would have been only updated when adding a new grml flavour to the existing target media. This change ensures that it will also be updated when an existing grml flavour is being updated. --- diff --git a/grml2usb b/grml2usb index 9ac6988..6c74a52 100755 --- a/grml2usb +++ b/grml2usb @@ -1123,19 +1123,22 @@ def update_grml_versions(iso_mount, target): logging.warn("Warning: %s could not be found - can not install it", iso_grml_version_file) return False try: - target_file = open(target_grml_version_file, 'a+') - target_flavours = [ get_flavour(l) for l in target_file.readlines() ] - + iso_versions = {} iso_file = open(iso_grml_version_file, 'r') - iso_lines = iso_file.readlines() - for line in iso_lines: - if not get_flavour(line) in target_flavours: - target_file.write(line) + for line in iso_file: + iso_versions[get_flavour(line)] = line.strip() + + for line in fileinput.input([target_grml_version_file], inplace=1): + flavour = get_flavour(line) + if flavour in iso_versions.keys(): + print iso_versions[flavour] + else: + print line.strip() except IOError: logging.warn("Warning: Could not write file") finally: - target_file.close() iso_file.close() + fileinput.close() return True else: return False