From 55cb2851d9fa3c1d7bf10c302af3060df621e6e2 Mon Sep 17 00:00:00 2001 From: Jean Philip Orsini Date: Tue, 2 Feb 2016 12:43:35 +0100 Subject: [PATCH] refactoring, cleanup --- mp3tohtml/mp3tohtml.py | 53 +++++++++++++++++++++++++++++++++++++++++++++++- scripts/mp3tohtml | 55 ++++---------------------------------------------- 2 files changed, 56 insertions(+), 52 deletions(-) diff --git a/mp3tohtml/mp3tohtml.py b/mp3tohtml/mp3tohtml.py index eefe8ce..49052bb 100755 --- a/mp3tohtml/mp3tohtml.py +++ b/mp3tohtml/mp3tohtml.py @@ -4,7 +4,6 @@ # Released under the terms of the GPLv2 license. # (c) 2016 Jean-Philippe Orsini -import argparse import eyeD3 import fnmatch import glob @@ -60,3 +59,55 @@ def copy_footer(path): + footer_path + ": " + e.strerror + "\n") raise + +def generate(mp3_dir, cfg_dir): + copy_header(cfg_dir) + + files = [] + for root, dirnames, filenames in os.walk(mp3_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) diff --git a/scripts/mp3tohtml b/scripts/mp3tohtml index 0a5719f..156c252 100755 --- a/scripts/mp3tohtml +++ b/scripts/mp3tohtml @@ -18,8 +18,10 @@ # Released under the terms of the GPLv2 license. # (c) 2016 Jean-Philippe Orsini +import argparse import mp3tohtml - +import os +import sys parser = argparse.ArgumentParser(description='Generate an HTML containing information about the MP3 files.') parser.add_argument('dir', help='The directory containing the MP3 files') @@ -32,53 +34,4 @@ if (args.config is None): 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) +mp3tohtml.generate(args.dir, cfg_dir) -- 2.7.4