X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/254ae3154f5a26b9b58407fe9ff66aa6eb1131b7..5e0d91a196bfe872d04d676e5f6c2d5940786be0:/lib/python/Components/Converter/MovieInfo.py diff --git a/lib/python/Components/Converter/MovieInfo.py b/lib/python/Components/Converter/MovieInfo.py new file mode 100644 index 00000000..068d24d3 --- /dev/null +++ b/lib/python/Components/Converter/MovieInfo.py @@ -0,0 +1,42 @@ +from Components.Converter.Converter import Converter +from Components.Element import cached +from enigma import iServiceInformation +from ServiceReference import ServiceReference + +class MovieInfo(Converter, object): + MOVIE_SHORT_DESCRIPTION = 0 # meta description when available.. when not .eit short description + MOVIE_META_DESCRIPTION = 1 # just meta description when available + MOVIE_REC_SERVICE_NAME = 2 # name of recording service + + def __init__(self, type): + if type == "ShortDescription": + self.type = self.MOVIE_SHORT_DESCRIPTION + elif type == "MetaDescription": + self.type = self.MOVIE_META_DESCRIPTION + elif type == "RecordServiceName": + self.type = self.MOVIE_REC_SERVICE_NAME + else: + raise str("'%s' is not for MovieInfo converter" % type) + Converter.__init__(self, type) + + @cached + def getText(self): + service = self.source.service + info = self.source.info + if info and service: + if self.type == self.MOVIE_SHORT_DESCRIPTION: + event = self.source.event + if event: + descr = info.getInfoString(service, iServiceInformation.sDescription) + if descr == "": + return event.getShortDescription() + else: + return descr + elif self.type == self.MOVIE_META_DESCRIPTION: + return info.getInfoString(service, iServiceInformation.sDescription) + elif self.type == self.MOVIE_REC_SERVICE_NAME: + rec_ref_str = info.getInfoString(service, iServiceInformation.sServiceref) + return ServiceReference(rec_ref_str).getServiceName() + return "" + + text = property(getText)