X-Git-Url: http://git.grml.org/?p=grml2usb.git;a=blobdiff_plain;f=grml2usb;h=e7dc38f1906e7ef79c05aeca414622bc5279187f;hp=b84165e899879ef640353b7f27295b71deb192e9;hb=3cec649160990efff10042a0f22c8e39c757443b;hpb=eb1a910784ceae1d11c08871cabd9d4c8a2a8cd0 diff --git a/grml2usb b/grml2usb index b84165e..e7dc38f 100755 --- a/grml2usb +++ b/grml2usb @@ -1159,22 +1159,30 @@ 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: + # read the flavours from the iso image iso_versions = {} iso_file = open(iso_grml_version_file, 'r') for line in iso_file: iso_versions[get_flavour(line)] = line.strip() + # update the existing flavours on the target 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] + print iso_versions.pop(flavour) else: print line.strip() + fileinput.close() + + target_file = open(target_grml_version_file, 'a') + # add the new flavours from the current iso + for flavour in iso_versions: + target_file.write("%s\n" % iso_versions[flavour]) except IOError: logging.warn("Warning: Could not write file") finally: iso_file.close() - fileinput.close() + target_file.close() return True else: return False