#! /sw/local/bin/python
import os
import sys
import cgi
import time
import string
import traceback
sys.path.insert(0, '/home/bellman/lib/share/python')
import filmlistor
kompislistor = [
( "/home/bellman/.public/filmer.txt",
"http://www.lysator.liu.se/~bellman/filmer.txt", "Bellman" ),
( "/home/bellman/.public/anime.txt",
"http://www.lysator.liu.se/~bellman/anime.txt", "Bellman" ),
]
kompishtml = """\
Mina kompisars filmer
Mina vänners filmer
Titel | Media | Ägare |
%(table)s
Tabellen sammanställdes %(date)s utifrån följande information:
"""
kompisfil = "/home/bellman/.public/kompisfilmer.html"
animelistor = [
( "/home/bellman/.public/anime.txt",
"http://www.lysator.liu.se/~bellman/anime.txt", "Bellman" ),
]
animehtml = """\
Animetittande kompisars filmer
Animetittande vänners filmer
Titel | Media | Ägare |
%(table)s
Tabellen sammanställdes %(date)s utifrån följande information:
"""
animefil = "/home/bellman/.public/kompisanime.html"
listor = [
( kompislistor, kompishtml, kompisfil ),
( animelistor, animehtml, animefil ),
]
def lists_as_html(lists):
rows = []
for fname, url, owner in lists:
r = (' %s | %s |
'
% (owner, cgi.escape(url, 1), url))
rows.append(r)
return string.join(rows, "\n")
def main(argv):
today = time.strftime("%Y-%m-%d %H:%M", time.localtime(time.time()))
for lst, mall, fnamn in listor:
try:
tc = filmlistor.TitleCompilation(lst, filmlistor.standard_mangler)
tc.sort_by_title()
tbl = tc.htmltable_list()
lsttbl = lists_as_html(lst)
html = mall % { 'date': today, 'table': tbl, 'lists': lsttbl }
tmpnamn = fnamn + ".new"
open(tmpnamn, 'w').write(html)
os.rename(tmpnamn, fnamn)
except KeyboardInterrupt:
raise
except:
sys.stderr.write(fnamn + " failed.\n")
traceback.print_exc()
if __name__ == "__main__":
main(sys.argv)