# -*- coding: utf8 -*- import os, datetime, config class Link: def __init__(self, filename=""): if os.path.exists(os.path.realpath(config.datadir)): self.datadir=config.datadir self.src_datadir=config.datadir self.exists="" else: print ("Error: directory "+os.path.realpath(config.datadir)+" does not exist. Check config.py") exit() if not filename or filename == "latest": self.img=os.path.split(os.path.realpath(self.datadir+"latest.jpeg"))[1] self.img=self.img[:12] else: self.img=filename def src(self, target, size=""): if self.detect(target): src=os.path.split(target) return os.path.relpath(self.src_datadir + src[1]+"-"+size+".jpeg") else: return os.path.relpath(self.src_datadir + "notfound.jpeg") def imglink(self, target, size, order=""): if order: cssclass="class=\""+order+"\"" else: cssclass="" first=datetime.datetime.strptime(str(self.first()),"%Y%m%d%H%M") cur=datetime.datetime.strptime(target, "%Y%m%d%H%M") if cur >= first: return "" else: return "" def timestamp(self, date): if self.detect(date): date=datetime.datetime.strftime(datetime.datetime.strptime(date[:12], "%Y%m%d%H%M"), "%Y-%m-%d %H:%M") return date else: return "" def href(self, target): ##print os.path.realpath(root+target) #if target == self.img: #target = os.path.split(target)[1] #return "?f="+target[:12] #else: return "?f=" + target[:12] def detect(self, filename): if os.path.exists(os.path.realpath(self.datadir+filename+"-full.jpeg")): #print os.path.realpath(self.datadir+filename+"-full.jpeg") return True else: #print os.path.realpath(self.datadir+filename+"-full.jpeg") return False def first(self): index=os.listdir(os.path.realpath(self.datadir)) remove=('latest.jpeg', 'notfound.jpeg') for r in remove: index.remove(r) index.sort() first=index[0] return first[:12] def link(self, target, link): #print target if self.detect(target): return ""+link+"" else: return ""+link+"" def delta(self, delta): date=os.path.split(self.img) date=os.path.splitext(date[1]) date=date[0] curdate=datetime.datetime.strptime(date, "%Y%m%d%H%M") if delta.endswith('m'): num = config.delay else: num = 1 if delta.startswith('-'): num = num * -1 if delta.endswith('w'): targetdate=curdate-datetime.timedelta(weeks=num) if delta.endswith('d'): targetdate=curdate-datetime.timedelta(days=num) if delta.endswith('h'): targetdate=curdate-datetime.timedelta(hours=num) if delta.endswith('m'): targetdate=curdate-datetime.timedelta(minutes=num) return datetime.datetime.strftime(targetdate, "%Y%m%d%H%M")