from turbogears import controllers, expose, flash, redirect from model import * import cherrypy # import logging # log = logging.getLogger("oxdbarchive.controllers") ''' /md5/frame/position.jpg /md5/clip/position.jpg /md5/metadata ''' def httpExpires(sec): exp_date = cherrypy.lib.httptools.HTTPDate(time.gmtime(time.mktime(time.gmtime()) + sec)) return exp_date class Root(controllers.RootController): @expose() def default(self, md5Hash, action, position = None): f = ArchiveFile.byMd5sum(md5Hash) if action == 'metadata': return dict(meta = f) elif position or action == 'timeline': #clip / frame / timeline cherrypy.response.headerMap['Content-Type'] = "image/jpeg" cherrypy.response.headerMap["Expires"] = httpExpires(60*60*24*15) position = position.replace('.png', '').replace('.jpg', '') position = position.replace('-', ':').replace('.',':') if action == 'timeline': return f.timeline() if action == 'clip': return f.clip(position) elif action == 'frame': return f.frame(position) redirect('http://0xdb.oil21.org/') @expose() def index(self): redirect('http://0xdb.oil21.org/')