ensure table is always correctly displayed
[radio.git] / mp3tohtml.py
index d2e4529..0dcfaf7 100755 (executable)
@@ -1,5 +1,7 @@
 #!/usr/bin/python
 
+# mp3tohtml.py <mp3_dir>
+
 import glob
 import sys
 import eyeD3
@@ -9,10 +11,22 @@ if len(sys.argv) != 2:
 
 files = glob.glob(sys.argv[1] + "/**/*mp3")
 
-print "<html><head><title>List of songs</title></head>"
+print "<html>"
+print "<head>"
+print "<title>List of songs</title>"
+
+print "        <link rel=\"stylesheet\" type=\"text/css\" href=\"https://cdn.datatables.net/1.10.10/css/jquery.dataTables.min.css\">"
+print "<script type=\"text/javascript\" language=\"javascript\" src=\"https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js\">"
+print "        </script>"
+print "        <script type=\"text/javascript\" language=\"javascript\" src=\"https://cdn.datatables.net/1.10.10/js/jquery.dataTables.min.js\">"
+print " </script>"
+print "<script>$(document).ready(function() { $('#songs').DataTable(); } );</script>"
+print "</head>"
+
 print "<body><h1>List of songs</h1>"
-print "<table>"
 
+print "<table id='songs' class='display compact' width='100%'>"
+print "<thead><tr><th>Artist</th><th>Album</th><th>Title</th><th>Comments</th></tr></thead>"
 for f in files:
     tag = eyeD3.Tag()
 
@@ -21,7 +35,7 @@ for f in files:
     print "\t<tr>"
 
     try: 
-        artist = tag.getArtist().decode('utf-8')
+        artist = tag.getArtist()
         print "\t\t<td>" + artist + "</td>"       
     except UnicodeEncodeError:
         print "\t\t<td></td>"