Merge branch 'master' of wpitchoune.net:/srv/git/mp3tohtml master
authorJean-Philippe Orsini <jeanfi@gmail.com>
Fri, 1 Apr 2016 14:07:15 +0000 (16:07 +0200)
committerJean-Philippe Orsini <jeanfi@gmail.com>
Fri, 1 Apr 2016 14:07:15 +0000 (16:07 +0200)
mp3tohtml/mp3tohtml.py
scripts/mp3tohtml

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)
index 0a5719f..156c252 100755 (executable)
 # Released under the terms of the GPLv2 license.
 # (c) 2016 Jean-Philippe Orsini <jeanfi@gmail.com>
 
+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<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)
+mp3tohtml.generate(args.dir, cfg_dir)