#!/usr/bin/python2 # usage: mp3tohtml.py [-h] [--config CONFIG] dir # # Generate an HTML containing information about the MP3 files. # # positional arguments: # dir The directory containing the MP3 files # # optional arguments: # -h, --help show this help message and exit # --config CONFIG The directory containing the configuration # # Last version of this tool can be get from the GIT repository: # http://wpitchoune.net/mp3tohtml # # http://wpitchoune.net/mp3tohtml # Released under the terms of the GPLv2 license. # (c) 2016 Jean-Philippe Orsini import mp3tohtml parser = argparse.ArgumentParser(description='Generate an HTML containing information about the MP3 files.') parser.add_argument('dir', help='The directory containing the MP3 files') parser.add_argument("--config", help="The directory containing the configuration") args = parser.parse_args() if (args.config is None): cfg_dir = os.path.dirname(sys.argv[0]) else: cfg_dir = args.config copy_header(cfg_dir) files = [] for root, dirnames, filenames in os.walk(args.dir): for filename in fnmatch.filter(filenames, '*.mp3'): files.append(os.path.join(root, filename)) for f in files: tag = eyeD3.Tag() tag.link(f) print("\t") print("\t\t" + tag.getArtist().encode("UTF8") + "\n") print("\t\t" + tag.getAlbum().encode("UTF-8") + "") print("\t\t" + tag.getTitle().encode("UTF-8") + "") comments = tag.getComments() strComments = "" for c in comments: strComments += c.comment p = re.compile("URL: (.*)\r\nComments: (.*)\r\nCurators?: (.*)\r\nCopyright: (.*)") m = p.match(strComments) if m is None: url = "" curator = "" copyright = "" else: if m.group(2) == "http://freemusicarchive.org/": strComments = "" url = "FMA" else: strComments = m.group(2) url = "source" curator = m.group(3) copyright = fma_copyright_to_html(f, m.group(4)) print("\t\t" + url + "") print("\t\t" + curator + "") print("\t\t" + copyright + "") print("\t\t" + strComments + "") print("\t") copy_footer(cfg_dir)