add 'progress' source, 'progress to text' converter
[enigma2.git] / lib / python / Components / Converter / ProgressToText.py
diff --git a/lib/python/Components/Converter/ProgressToText.py b/lib/python/Components/Converter/ProgressToText.py
new file mode 100644 (file)
index 0000000..0ad3a88
--- /dev/null
@@ -0,0 +1,22 @@
+from Components.Converter.Converter import Converter
+from Components.Element import cached
+
+class ProgressToText(Converter, object):
+       def __init__(self, type):
+               Converter.__init__(self, type)
+               self.in_percent = "InPercent" in type.split(',')
+
+       @cached
+       def getText(self):
+               r = self.source.range
+               v = self.source.value
+
+               if self.in_percent:
+                       if r:
+                               return "%d %%" % (v * 100 / r)
+                       else:
+                               return None
+               else:
+                       return "%d / %d" % (v, r)
+
+       text = property(getText)