oxdbarchive/oxdbarchive/controllers.py

40 lines
1.2 KiB
Python

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/')