61 lines
2.0 KiB
Python
61 lines
2.0 KiB
Python
# Bryan Schumaker (11/17/2010)
|
|
|
|
from libsaria.sources import library
|
|
from libsaria import path
|
|
splitext = path.splitext
|
|
|
|
def header(wfile):
|
|
wfile.write("<html><head><script type=\"text/javascript\">")
|
|
wfile.write("function playSong(id, ext){")
|
|
wfile.write("var src=id+ext;")
|
|
wfile.write("var audio = document.getElementById(\"audio\");")
|
|
wfile.write("audio.innerHTML=\"<audio src=\\\"\" + src + \"\\\" controls autoplay></audio>\";")
|
|
wfile.write("return false;")
|
|
wfile.write("}")
|
|
wfile.write("</script><body>")
|
|
|
|
def footer(wfile):
|
|
wfile.write("</body></html>")
|
|
|
|
def body(wfile, args):
|
|
artist = library.tag_tree[args["artist"]].value
|
|
album = library.tag_tree[args["artist"]][args["album"]].value
|
|
wfile.write("<table align=center width=75%>")
|
|
|
|
wfile.write("<tr><td><table align=center>")
|
|
wfile.write("<tr><td><font size=7>%s</font></td></tr>" % album)
|
|
wfile.write("<tr><td><font size=4>by %s</font></td></tr>" % artist)
|
|
wfile.write("</table></td></tr>")
|
|
|
|
img_ar = artist.replace("/", "%2F")
|
|
img_al = album.replace("/", "%2F")
|
|
wfile.write("<tr><td><table align=center width=100%><tr>")
|
|
wfile.write("<td align=center><img src=\"artwork/%s/%s.jpg\" height=192/></td>" % (img_ar, img_al))
|
|
wfile.write("<td align><table align=left>\n")
|
|
|
|
titles = []
|
|
for title, key in library.titles(args["artist"], args["album"]):
|
|
sid = library.song_id(args["artist"], args["album"], key)
|
|
track, filepath = library.get_attrs(sid, "track", "filepath")
|
|
ext = splitext(filepath)[1]
|
|
titles += [(track, sid, ext, title)]
|
|
titles.sort()
|
|
tags = "<tr><td align=right>%s.</td><td><font onclick=\"playSong('%s', '%s');\">%s</font></td></tr>\n"
|
|
for id, sid, ext, title in titles:
|
|
wfile.write(tags % (id, sid, ext, title))
|
|
wfile.write("</table></td>")
|
|
wfile.write("</tr></table></td></tr>")
|
|
|
|
wfile.write("<tr><td id=\"audio\">")
|
|
#wfile.write("<audio src=\"140401.ogg\" autoplay controls/>")
|
|
#wfile.write("Text when no audio")
|
|
wfile.write("</td></tr>")
|
|
|
|
wfile.write("</table>")
|
|
|
|
|
|
def to_html(wfile, args):
|
|
header(wfile)
|
|
body(wfile, args)
|
|
footer(wfile)
|