[PATCH 1/2] Rename variables in update_grml_versions to be less confusing
New names should be very clear in what they refer to. --- grml2usb | 30 +++++++++++++++--------------- 1 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/grml2usb b/grml2usb index 13c8249..dbf1ba9 100755 --- a/grml2usb +++ b/grml2usb @@ -1116,26 +1116,26 @@ def update_grml_versions(iso_mount, target): @target: path of the target mount point """ grml_target = target + '/grml/' - new_grml_version = search_file('grml-version', grml_target) - if new_grml_version: - orig_grml_version = search_file('grml-version', iso_mount) - if not orig_grml_version: - logging.warn("Warning: %s could not be found - can not install it", orig_grml_version) + target_grml_version_file = search_file('grml-version', grml_target) + if target_grml_version_file: + iso_grml_version_file = search_file('grml-version', iso_mount) + if not iso_grml_version_file: + logging.warn("Warning: %s could not be found - can not install it", iso_grml_version_file) return False try: - new_file = open(new_grml_version, 'a+') - new_flavours = [ get_flavour(l) for l in new_file.readlines() ] - - old_file = open(orig_grml_version, 'r') - old_lines = old_file.readlines() - for line in old_lines: - if not get_flavour(line) in new_flavours: - new_file.write(line) + target_file = open(target_grml_version_file, 'a+') + target_flavours = [ get_flavour(l) for l in target_file.readlines() ] + + 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) except IOError: logging.warn("Warning: Could not write file") finally: - new_file.close() - old_file.close() + target_file.close() + iso_file.close() return True else: return False
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 | 18 ++++++++++-------- 1 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/grml2usb b/grml2usb index dbf1ba9..c1552a9 100755 --- a/grml2usb +++ b/grml2usb @@ -1123,18 +1123,20 @@ 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() return True else:
* Christian Hofstaedtler wrote [01.07.10 20:58]:
Both patches are already applied (slightly) applied and pushed.
Thanks! Ulrich
Teilnehmer (2)
-
Christian Hofstaedtler -
Ulrich Dangel