refactoring, cleanup
[mp3tohtml.git] / mp3tohtml / mp3tohtml.py
index eefe8ce..49052bb 100755 (executable)
@@ -4,7 +4,6 @@
 # Released under the terms of the GPLv2 license.
 # (c) 2016 Jean-Philippe Orsini <jeanfi@gmail.com>
 
-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<tr>")
+
+        print("\t\t<td>" + tag.getArtist().encode("UTF8") + "</td>\n")
+        print("\t\t<td>" + tag.getAlbum().encode("UTF-8") + "</td>")
+        print("\t\t<td>" + tag.getTitle().encode("UTF-8") + "</td>")
+
+        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 = "<a href=\"" + m.group(1) + "\">FMA</a>"
+            else:
+                strComments =  m.group(2)
+                url = "<a href=\"" + m.group(1) + "\">source</a>"
+
+            curator = m.group(3)
+
+            copyright = fma_copyright_to_html(f, m.group(4))
+
+        print("\t\t<td>" + url + "</td>")
+        print("\t\t<td>" + curator + "</td>")
+        print("\t\t<td>" + copyright + "</td>")
+        print("\t\t<td>" + strComments + "</td>")
+
+        print("\t</tr>")
+
+    copy_footer(cfg_dir)