print "ERROR: can't find id3v2_wrapper.sh: " + str(e)
sys.exit(1)
+# Verifies that a given program is installed.
+def verify_program_installed(prog):
+ try:
+ proc = subprocess.Popen(prog, stdout=subprocess.PIPE)
+ line = proc.stdout.readline()
+ return True
+ except Exception, e:
+ print "failed to execute " + str(prog)
+ return False
+
# Regular expressions for parsing file names--
# which is, after all, what this program is all about
music_file_re = re.compile(".*\.mp3$")
music_file_name_re = re.compile(".*/" +
"(?P<dir_name>[^/]*)/" +
- "(?P<track_number>[0123456789][0123456789]) - " +
+ "(?P<track_number>[0123456789][0123456789]*) - " +
"(?P<track_name>[^/]*)" +
"\.[a-zA-Z0123456789]*$")
break
# CODE
+## Make sure that id3v2 is installed
+if not verify_program_installed(["id3v2", "--version"]):
+ print "You must install the id3v2 program to run this script."
+ sys.exit(1)
+
## Find id3v2_wrapper.sh
id3v2_wrapper = find_companion_script('id3v2_wrapper.sh')