From: Ulrich Dangel Date: Sun, 18 Oct 2009 20:47:56 +0000 (+0200) Subject: Do not add multiple times in the generated menu the same entry X-Git-Tag: v0.9.13~30^2 X-Git-Url: https://git.grml.org/?p=grml2usb.git;a=commitdiff_plain;h=428b5102a56be55e3d980103a4f0207c0f650ac8;ds=sidebyside Do not add multiple times in the generated menu the same entry --- diff --git a/grml2usb b/grml2usb index dc63b1b..fc3a905 100755 --- a/grml2usb +++ b/grml2usb @@ -525,7 +525,7 @@ def generate_flavour_specific_syslinux_config(grml_flavour): return("""\ menu begin grml %(grml_flavour)s - menu title Grml %(grml_flavour)s + menu title %(grml_flavour)s label mainmenu menu label ^Back to main menu... menu exit @@ -1341,7 +1341,18 @@ def adjust_syslinux_bootoptions(src_name, dst_name, flavour): def add_syslinux_entry(filename, grml_flavour): - data = open(filename, "a") + data = open(filename, "a+") + entry_filename = "option-%s.cfg" % grml_flavour + entry = "include %s\n" % entry_filename + path = os.path.dirname(filename) + for line in data: + if line == entry: + break + else: + data.write(entry) + + data.close() + data = open(path + "/" + entry_filename, "w") data.write(generate_flavour_specific_syslinux_config(grml_flavour)) data.close() @@ -1383,8 +1394,14 @@ def handle_syslinux_config(grml_flavour, target): new_hidden = "%s-hidden.cfg" % (grml_flavour) new_default = "%s-default.cfg" % (grml_flavour) - default_file = open("%s/defaults.cfg" % syslinux_target, "a") - default_file.write("include %s\n" % new_default) + default_file = open("%s/defaults.cfg" % syslinux_target, "a+") + entry = "include %s\n" % new_default + for line in default_file: + if line == entry: + break + else: + default_file.write("include %s\n" % new_default) + default_file.close() add_syslinux_entry("%s/additional.cfg" % syslinux_target, grml_flavour)