diff options
Diffstat (limited to 'debian/patches/74_multi_replace_cleanup.patch')
-rw-r--r-- | debian/patches/74_multi_replace_cleanup.patch | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/debian/patches/74_multi_replace_cleanup.patch b/debian/patches/74_multi_replace_cleanup.patch new file mode 100644 index 0000000..d4a6c46 --- /dev/null +++ b/debian/patches/74_multi_replace_cleanup.patch @@ -0,0 +1,94 @@ +Code clean-up: make jack_misc.multi_replace() readable. + +Depends on 73_err_unknown_sub.patch + +diff -urN e/jack_freedb.py jack-3.1.1+cvs20050801/jack_freedb.py +--- e/jack_freedb.py 2006-02-06 22:55:33.000000000 +0000 ++++ jack-3.1.1+cvs20050801/jack_freedb.py 2006-02-06 22:55:45.000000000 +0000 +@@ -100,13 +100,13 @@ + # case remove this since people access filenames with i[NUM] which starts at 1 + num = 1 + for i in track_names[1:]: +- replacelist = [("%n", cf['_rename_num'] % num), ("%l", cd[1]), ("%t", i[1]), +- ("%y", year), ("%g", genretxt)] ++ replacelist = {"n": cf['_rename_num'] % num, "l": cd[1], "t": i[1], ++ "y": year, "g": genretxt} + if cf['_various']: +- replacelist.append(("%a", i[0])) ++ replacelist["a"] = i[0] + newname = jack_misc.multi_replace(cf['_rename_fmt_va'], replacelist, "rename_fmt_va", warn = (num == 1)) + else: +- replacelist.append(("%a", cd[0])) ++ replacelist["a"] = cd[0] + newname = jack_misc.multi_replace(cf['_rename_fmt'], replacelist, "rename_fmt", warn = (num == 1)) + exec("newname = newname" + cf['_char_filter']) + for char_i in range(len(cf['_unusable_chars'])): +diff -urN e/jack_misc.py jack-3.1.1+cvs20050801/jack_misc.py +--- e/jack_misc.py 2006-02-06 22:55:33.000000000 +0000 ++++ jack-3.1.1+cvs20050801/jack_misc.py 2006-02-06 22:55:45.000000000 +0000 +@@ -33,28 +33,18 @@ + else: + do_warn = jack_globals.warning + +- # currently all from must be like %x (a percent sign follow by single char. +- res = "" +- maybe = 0 +- for i in s: +- if maybe: +- maybe = 0 +- found = 0 +- for j in rules: +- if ("%" + i) == j[0]: +- if not j[1] and warn: +- do_warn("%%%c is not set but used in %s." % (i, where)) +- res = res[:-1] + filter(j[1]) +- found = 1 +- if found: +- continue +- elif warn: +- do_warn("Unknown pattern %%%c is used in %s." % (i, where)) +- maybe = 0 +- if i == "%": +- maybe = 1 +- res = res + i +- return res ++ # get a list of characters we need to replace (i.e. the x from %x) ++ # currently all from must be like %x (a percent sign follow by single char). ++ pattern = [x[0] for x in s[s.find("%"):].split("%") if x] ++ for p in pattern: ++ if not rules.has_key(p): ++ warn and do_warn("Unknown pattern %%%c is used in %s." % (p, where)) ++ else: ++ if not rules[p]: ++ warn and do_warn("%%%c is not set but used in %s." % (p, where)) ++ else: ++ s = s.replace("%%%c" % p, filter(rules[p])) ++ return s + + def safe_int(number, message): + try: +diff -urN e/jack_utils.py jack-3.1.1+cvs20050801/jack_utils.py +--- e/jack_utils.py 2006-02-06 22:55:34.000000000 +0000 ++++ jack-3.1.1+cvs20050801/jack_utils.py 2006-02-06 22:56:48.000000000 +0000 +@@ -175,15 +175,15 @@ + year = `cf['_id3_year']` + else: + year = None +- replace_list = (("%a", names[0][0].encode(cf['_charset'], "replace")), +- ("%l", names[0][1].encode(cf['_charset'], "replace")), +- ("%y", year), ("%g", cf['_id3_genre_txt'])) ++ replacelist = {"a": names[0][0].encode(cf['_charset'], "replace"), ++ "l": names[0][1].encode(cf['_charset'], "replace"), ++ "y": year, "g": cf['_id3_genre_txt']} + for i in dirs: +- x = jack_misc.multi_replace(i, replace_list, "dir_template", unusable_charmap, warn = 2) ++ x = jack_misc.multi_replace(i, replacelist, "dir_template", unusable_charmap, warn = 2) + exec("x = x" + cf['_char_filter']) + dirs2.append(x) + if cf['_append_year'] and year: +- dirs2[-1] = dirs2[-1] + jack_misc.multi_replace(cf['_append_year'], replace_list, "append-year", warn = 1) ++ dirs2[-1] = dirs2[-1] + jack_misc.multi_replace(cf['_append_year'], replacelist, "append-year", warn = 1) + name = "" + for i in dirs2: + name = os.path.join(name, i) + |