from Converter import Converter
from time import localtime, strftime
+from Components.Element import cached
class ClockToText(Converter, object):
DEFAULT = 0
WITH_SECONDS = 1
IN_MINUTES = 2
DATE = 3
+ FORMAT = 4
# add: date, date as string, weekday, ...
# (whatever you need!)
self.type = self.IN_MINUTES
elif type == "Date":
self.type = self.DATE
+ elif str(type).find("Format") != -1:
+ self.type = self.FORMAT
+ self.fmt_string = type[7:]
else:
self.type = self.DEFAULT
+ @cached
def getText(self):
time = self.source.time
if time is None:
return "%02d:%02d" % (t.tm_hour, t.tm_min)
elif self.type == self.DATE:
return strftime("%A %B %d, %Y", t)
+ elif self.type == self.FORMAT:
+ spos = self.fmt_string.find('%')
+ if spos > 0:
+ s1 = self.fmt_string[:spos]
+ s2 = strftime(self.fmt_string[spos:], t)
+ return str(s1+s2)
+ else:
+ return strftime(self.fmt_string, t)
else:
return "???"