fixed encoding issue
authorJean-Philippe Orsini <jeanfi@gmail.com>
Fri, 22 Jan 2016 22:38:49 +0000 (23:38 +0100)
committerJean-Philippe Orsini <jeanfi@gmail.com>
Fri, 22 Jan 2016 22:38:49 +0000 (23:38 +0100)
mp3tohtml.py

index 370cb1f..221269a 100755 (executable)
@@ -16,7 +16,11 @@ import os.path
 import re
 import sys
 
-def fma_copyright_to_html(copyright):
+def fma_copyright_to_html(path, copyright):
+    if copyright == "":
+        sys.stderr.write(path + ": no FMA copyright.\n")
+        return ""
+
     p = re.compile("(.*): (.*)")
     m = p.match(copyright)
     if m is not None:
@@ -24,10 +28,15 @@ def fma_copyright_to_html(copyright):
         name = name.replace("Creative Commons", "CC")
         name = name.replace("Attribution", "BY")
         name = name.replace("NonCommercial", "NC")
+        name = name.replace("Noncommercial", "NC")
         name = name.replace("NoDerivatives", "ND")
         name = name.replace("ShareAlike", "SA")
+        name = name.replace("Share Alike", "SA")
+        name = name.replace("United States", "US")
         return "<a href=\"" + m.group(2) + "\">" + name + "</a>"
     else:
+        sys.stderr.write(path + ": invalid FMA copyright: "
+                         + copyright + ".\n");
         return copyright
 
 if len(sys.argv) != 2:
@@ -48,22 +57,9 @@ for f in files:
 
     print "\t<tr>"
 
-    try:
-        artist = tag.getArtist()
-        print "\t\t<td>" + artist + "</td>"
-    except UnicodeEncodeError:
-        print "\t\t<td></td>"
-
-    try:
-        print "\t\t<td>" + tag.getAlbum() + "</td>"
-    except UnicodeEncodeError:
-        print "\t\t<td></td>"
-
-    try:
-        print "\t\t<td>" + tag.getTitle() + "</td>"
-    except UnicodeEncodeError:
-        print "\t\t<td></td>"
-
+    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 = ""
@@ -87,7 +83,7 @@ for f in files:
 
         curator = m.group(3)
 
-        copyright = fma_copyright_to_html(m.group(4))
+        copyright = fma_copyright_to_html(f, m.group(4))
 
     print "\t\t<td>" + url + "</td>"
     print "\t\t<td>" + curator + "</td>"