1
0
mirror of https://github.com/fHDHR/fHDHR_NextPVR.git synced 2025-12-06 09:56:57 -05:00
fHDHR_NextPVR/fHDHR/originwrapper/__init__.py
2021-01-08 15:35:55 -05:00

57 lines
1.8 KiB
Python

from .origin_channels_standin import OriginChannels_StandIN
from .origin_epg_standin import OriginEPG_StandIN
import fHDHR.exceptions
class OriginServiceWrapper():
def __init__(self, fhdhr, origin):
self.fhdhr = fhdhr
self.origin = origin
self.servicename = fhdhr.config.dict["main"]["servicename"]
self.setup_success = None
self.setup()
def setup(self):
try:
self.originservice = self.origin.OriginService(self.fhdhr)
self.setup_success = True
self.fhdhr.logger.info("%s Setup Success" % self.servicename)
except fHDHR.exceptions.OriginSetupError as e:
self.originservice = None
self.fhdhr.logger.error(e)
self.setup_success = False
if self.setup_success:
self.channels = self.origin.OriginChannels(self.fhdhr, self.originservice)
self.epg = self.origin.OriginEPG(self.fhdhr)
else:
self.channels = OriginChannels_StandIN()
self.epg = OriginEPG_StandIN()
def get_channels(self):
return self.channels.get_channels()
def get_channel_stream(self, chandict, stream_args):
return self.channels.get_channel_stream(chandict, stream_args)
def update_epg(self, channels):
return self.epg.update_epg(channels)
def __getattr__(self, name):
''' will only get called for undefined attributes '''
if hasattr(self.fhdhr, name):
return eval("self.fhdhr.%s" % name)
if hasattr(self.originservice, name):
return eval("self.originservice.%s" % name)
elif hasattr(self.channels, name):
return eval("self.channels.%s" % name)
elif hasattr(self.epg, name):
return eval("self.epg.%s" % name)
else:
raise AttributeError(name)