From 791485b52c814c37a452ebf26ddc1976af268b5a Mon Sep 17 00:00:00 2001 From: Christian Hofstaedtler Date: Thu, 1 Jul 2010 20:58:04 +0200 Subject: [PATCH 1/1] 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. --- grml2usb | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) 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 -- 2.1.4