""" Produce a blogroll of non-private feeds in reverse-chronological order. """ # $Header: /cvsroot/dbagg2/lib/dbagg2/blogroll.py,v 1.3 2004/03/25 20:41:24 deusx Exp $ import sys, time, traceback from mx.DateTime import * from dbagg2.config import * from dbagg2.model import * from simpletal import simpleTAL, simpleTALES global log log = logging.getLogger("%s"%__name__) def produceBlogroll(file_out): context = simpleTALES.Context(allowPythonPath=1) source_ids_by_update = Source.select( (Source.q.lastUpdate > (now() - oneDay) ), orderBy='-last_update' ) new_data = [] for source in source_ids_by_update: new_data.append({'source':source, 'update_date':source.lastUpdate}) context.addGlobal("new_data", new_data) # Render the template template = simpleTAL.compileHTMLTemplate(open('templates/blogroll.tal', 'r')) template.expand(context, file_out, outputEncoding='UTF-8') if __name__ == '__main__': if len(sys.argv) > 1: file_out = open(sys.argv[1], 'w') else: file_out = sys.stdout produceBlogroll(file_out)