summaryrefslogtreecommitdiff
path: root/debian/patches/74_multi_replace_cleanup.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/74_multi_replace_cleanup.patch')
-rw-r--r--debian/patches/74_multi_replace_cleanup.patch94
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)
+