add new skin stuff
[enigma2.git] / lib / python / Components / Converter / ClockToText.py
diff --git a/lib/python/Components/Converter/ClockToText.py b/lib/python/Components/Converter/ClockToText.py
new file mode 100644 (file)
index 0000000..085ebc1
--- /dev/null
@@ -0,0 +1,39 @@
+from Components.Converter.Converter import Converter
+from time import localtime
+
+class ClockToText(Converter, object):
+       DEFAULT = 0
+       WITH_SECONDS = 1
+       IN_MINUTES = 2
+       
+       # add: date, date as string, weekday, ... 
+       # (whatever you need!)
+       
+       def __init__(self, type, *args, **kwargs):
+               Converter.__init__(self)
+               if type == "WithSeconds":
+                       self.type = self.WITH_SECONDS
+               elif type == "InMinutes":
+                       self.type = self.IN_MINUTES
+               else:
+                       self.type = self.DEFAULT
+
+       def getText(self):
+               time = self.source.time
+               if time is None:
+                       return ""
+
+               # handle durations
+               if self.type == self.IN_MINUTES:
+                       return "%d min" % (time / 60)
+               
+               t = localtime(time)
+               
+               if self.type == self.WITH_SECONDS:
+                       return "%2d:%02d:%02d" % (t.tm_hour, t.tm_min, t.tm_sec)
+               elif self.type == self.DEFAULT:
+                       return "%02d:%02d" % (t.tm_hour, t.tm_min)
+               else:
+                       return "???"
+
+       text = property(getText)