blob: 4249e30afefb8e8dd867281dc0079cb7e9917353 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
from Components.Converter.Converter import Converter
from Components.Element import cached
class RemainingToText(Converter, object):
DEFAULT = 0
WITH_SECONDS = 1
NO_SECONDS = 2
def __init__(self, type):
Converter.__init__(self, type)
if type == "WithSeconds":
self.type = self.WITH_SECONDS
elif type == "NoSeconds":
self.type = self.NO_SECONDS
else:
self.type = self.DEFAULT
@cached
def getText(self):
time = self.source.time
if time is None:
return ""
(duration, remaining) = self.source.time
if self.type == self.WITH_SECONDS:
if remaining is not None:
return "%d:%02d:%02d" % (remaining / 3600, (remaining / 60) - ((remaining / 3600) * 60), remaining % 60)
else:
return "%02d:%02d:%02d" % (duration / 3600, (duration / 60) - ((duration / 3600) * 60), duration % 60)
elif self.type == self.NO_SECONDS:
if remaining is not None:
return "+%d:%02d" % (remaining / 3600, (remaining / 60) - ((remaining / 3600) * 60))
else:
return "%02d:%02d" % (duration / 3600, (duration / 60) - ((duration / 3600) * 60))
elif self.type == self.DEFAULT:
if remaining is not None:
return "+%d min" % (remaining / 60)
else:
return "%d min" % (duration / 60)
else:
return "???"
text = property(getText)
|