aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Components/Converter/ServiceTime.py
blob: 89965067803779d6e95953b23698ae4d9ceb2349 (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
from Converter import Converter
from Components.Element import cached, ElementError
from enigma import iServiceInformation

class ServiceTime(Converter, object):
	STARTTIME = 0
	ENDTIME = 1
	DURATION = 2

	def __init__(self, type):
		Converter.__init__(self, type)
		if type == "EndTime":
			self.type = self.ENDTIME
		elif type == "StartTime":
			self.type = self.STARTTIME
		elif type == "Duration":
			self.type = self.DURATION
		else:
			raise ElementError("'%s' is not <StartTime|EndTime|Duration> for eEventTime converter" % type)

	@cached
	def getTime(self):
		service = self.source.service
		info = self.source.info
		
		if not info or not service:
			return None

		if self.type == self.STARTTIME:
			return info.getInfo(service, iServiceInformation.sTimeCreate)
		elif self.type == self.ENDTIME:
			begin = info.getInfo(service, iServiceInformation.sTimeCreate)
			len = info.getLength(service)
			return begin + len
		elif self.type == self.DURATION:
			return info.getLength(service)

	time = property(getTime)