#! /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

%(table)s
Titel Media Ägare

Tabellen sammanställdes %(date)s utifrån följande information:

%(lists)s
Ägare URL
""" 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

%(table)s
Titel Media Ägare

Tabellen sammanställdes %(date)s utifrån följande information:

%(lists)s
Ägare URL
""" 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)