add possibility to use ValueRange as ValueEqual Converter
[enigma2.git] / lib / python / Components / Converter / ClockToText.py
index 5cc709f..109f912 100644 (file)
@@ -7,6 +7,8 @@ class ClockToText(Converter, object):
        WITH_SECONDS = 1
        IN_MINUTES = 2
        DATE = 3
+       FORMAT = 4
+       AS_LENGTH = 5
        
        # add: date, date as string, weekday, ... 
        # (whatever you need!)
@@ -19,6 +21,11 @@ class ClockToText(Converter, object):
                        self.type = self.IN_MINUTES
                elif type == "Date":
                        self.type = self.DATE
+               elif type == "AsLength":
+                       self.type = self.AS_LENGTH
+               elif str(type).find("Format") != -1:
+                       self.type = self.FORMAT
+                       self.fmt_string = type[7:]
                else:
                        self.type = self.DEFAULT
 
@@ -31,6 +38,8 @@ class ClockToText(Converter, object):
                # handle durations
                if self.type == self.IN_MINUTES:
                        return "%d min" % (time / 60)
+               elif self.type == self.AS_LENGTH:
+                       return "%d:%02d" % (time / 60, time % 60)
                
                t = localtime(time)
                
@@ -40,6 +49,14 @@ class ClockToText(Converter, object):
                        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 "???"