Exemplo n.º 1
0
	def P_channelinfo(self, request):
		channelinfo = {}
		channelepg = {}
		if "sref" in request.args.keys():
			channelepg = getChannelEpg(request.args["sref"][0])
			
		return { "channelinfo": channelepg["events"][0], "channelepg": channelepg["events"] }
Exemplo n.º 2
0
 def P_epgpop(self, request):
     events = []
     timers = []
     if "sref" in request.args.keys():
         ev = getChannelEpg(request.args["sref"][0])
         events = ev["events"]
     elif "sstr" in request.args.keys():
         ev = getSearchEpg(request.args["sstr"][0])
         events = ev["events"]
     at = False
     if len(events) > 0:
         t = getTimers(self.session)
         timers = t["timers"]
         try:
             from Plugins.Extensions.AutoTimer.AutoTimer import AutoTimer
             at = True
         except ImportError:
             pass
     if config.OpenWebif.webcache.theme.value:
         theme = config.OpenWebif.webcache.theme.value
     else:
         theme = 'original'
     return {
         "theme": theme,
         "events": events,
         "timers": timers,
         "at": at,
         "kinopoisk": getLanguage()
     }
	def P_epgpop(self, request):
		if "sref" in request.args.keys():
			return getChannelEpg(request.args["sref"][0])
		elif  "sstr" in request.args.keys():
			return getSearchEpg(request.args["sstr"][0])
		else: 
			return []
Exemplo n.º 4
0
	def P_epgpop(self, request):
		events=[]
		timers=[]
		if "sref" in request.args.keys():
			ev = getChannelEpg(request.args["sref"][0])
			events = ev["events"]
		elif "sstr" in request.args.keys():
			fulldesc = False
			if "full" in request.args.keys():
				fulldesc=True
			bouquetsonly = False
			if "bouquetsonly" in request.args.keys():
				bouquetsonly = True
			ev = getSearchEpg(request.args["sstr"][0],None,fulldesc,bouquetsonly)
			events = sorted(ev["events"], key=lambda ev: ev['begin_timestamp'])
		at = False
		if len(events) > 0: 
			t = getTimers(self.session)
			timers = t["timers"]
			try:
				from Plugins.Extensions.AutoTimer.AutoTimer import AutoTimer
				at = True
			except ImportError:
				pass
		if config.OpenWebif.webcache.theme.value:
			theme = config.OpenWebif.webcache.theme.value
		else:
			theme = 'original'
		return { "theme":theme, "events": events , "timers" : timers , "at" : at, "kinopoisk": getLanguage()}
Exemplo n.º 5
0
	def P_epgpop(self, request):
		events=[]
		timers=[]
		if "sref" in request.args.keys():
			ev = getChannelEpg(request.args["sref"][0])
			events = ev["events"]
		elif "sstr" in request.args.keys():
			fulldesc = False
			if "full" in request.args.keys():
				fulldesc=True
			bouquetsonly = False
			if "bouquetsonly" in request.args.keys():
				bouquetsonly = True
			ev = getSearchEpg(request.args["sstr"][0],None,fulldesc,bouquetsonly)
			events = sorted(ev["events"], key=lambda ev: ev['begin_timestamp'])
		at = False
		if len(events) > 0: 
			t = getTimers(self.session)
			timers = t["timers"]
			try:
				from Plugins.Extensions.AutoTimer.AutoTimer import AutoTimer
				at = True
			except ImportError:
				pass
		if config.OpenWebif.webcache.theme.value:
			theme = config.OpenWebif.webcache.theme.value
		else:
			theme = 'original'
		return { "theme":theme, "events": events , "timers" : timers , "at" : at, "kinopoisk": getLanguage()}
Exemplo n.º 6
0
	def P_channelinfo(self, request):
		channelinfo = {}
		channelepg = {}
		if "sref" in request.args.keys():
			sref=request.args["sref"][0]
			channelepg = getChannelEpg(sref)
			# Detect if sRef contains a stream
			if ("://" in sref):
				# Repair sRef (URL part gets unquoted somewhere in between but MUST NOT)
				sref = ":".join(sref.split(':')[:10]) + ":" + quote(":".join(sref.split(':')[10:-1])) + ":" + sref.split(':')[-1]
				# Get service name from last part of the sRef
				channelinfo['sname'] = sref.split(':')[-1]
				# Use quoted sref when stream has EPG
				if len(channelepg['events']) > 1:
					channelepg['events'][0]['sref'] = sref
			else:
				# todo: Get service name
				channelinfo['sname'] = ""
			# Assume some sane blank defaults
			channelinfo['sref'] = sref
			channelinfo['title'] = ""
			channelinfo['picon'] = ""
			channelinfo['shortdesc'] = ""
			channelinfo['longdesc'] = ""
			channelinfo['begin'] = 0
			channelinfo['end'] = 0

		# Got EPG information?
		if len(channelepg['events']) > 1:
			# Return the EPG
			return { "channelinfo": channelepg["events"][0], "channelepg": channelepg["events"] }
		else:
			# Make sure at least some basic channel info gets returned when there is no EPG
			return { "channelinfo": channelinfo, "channelepg": None }
Exemplo n.º 7
0
 def P_epgpop(self, request):
     if "sref" in request.args.keys():
         return getChannelEpg(request.args["sref"][0])
     elif "sstr" in request.args.keys():
         return getSearchEpg(request.args["sstr"][0])
     else:
         return []
    def P_epgpop(self, request):
        events = []
        timers = []

        if "sref" in request.args.keys():
            ev = getChannelEpg(request.args["sref"][0])
            events = ev["events"]
        elif "sstr" in request.args.keys():
            fulldesc = False
            if "full" in request.args.keys():
                fulldesc = True
            bouquetsonly = False
            if "bouquetsonly" in request.args.keys():
                bouquetsonly = True
            ev = getSearchEpg(
                request.args["sstr"][0],
                None,
                fulldesc,
                bouquetsonly)
            events = sorted(ev["events"], key=lambda ev: ev['begin_timestamp'])

        if len(events) > 0:
            t = getTimers(self.session)
            timers = t["timers"]

        return {
            "theme": THEMES[0],
            "events": events,
            "timers": timers,
            "at": False,
            "kinopoisk": getLanguage()
        }
Exemplo n.º 9
0
	def P_channelinfo(self, request):
		channelinfo = {}
		channelepg = {}
		if "sref" in request.args.keys():
			sref=request.args["sref"][0]
			channelepg = getChannelEpg(sref)
			# Detect if sRef contains a stream
			if ("://" in sref):
				# Repair sRef (URL part gets unquoted somewhere in between but MUST NOT)
				sref = ":".join(sref.split(':')[:10]) + ":" + quote(":".join(sref.split(':')[10:-1])) + ":" + sref.split(':')[-1]
				# Get service name from last part of the sRef
				channelinfo['sname'] = sref.split(':')[-1]
				# Use quoted sref when stream has EPG
				if len(channelepg['events']) > 1:
					channelepg['events'][0]['sref'] = sref
			else:
				# todo: Get service name
				channelinfo['sname'] = ""
			# Assume some sane blank defaults
			channelinfo['sref'] = sref
			channelinfo['title'] = ""
			channelinfo['picon'] = ""
			channelinfo['shortdesc'] = ""
			channelinfo['longdesc'] = ""
			channelinfo['begin'] = 0
			channelinfo['end'] = 0

		# Got EPG information?
		if len(channelepg['events']) > 1:
			# Return the EPG
			return { "channelinfo": channelepg["events"][0], "channelepg": channelepg["events"] }
		else:
			# Make sure at least some basic channel info gets returned when there is no EPG
			return { "channelinfo": channelinfo, "channelepg": None }
Exemplo n.º 10
0
    def P_channelinfo(self, request):
        channelinfo = {}
        channelepg = {}
        if "sref" in request.args.keys():
            channelepg = getChannelEpg(request.args["sref"][0])

        return {
            "channelinfo": channelepg["events"][0],
            "channelepg": channelepg["events"]
        }
Exemplo n.º 11
0
	def P_epgpop(self, request):
		if "sref" in request.args.keys():
			event = getChannelEpg(request.args["sref"][0])
			event['kinopoisk'] = getLanguage()
			return event
		elif  "sstr" in request.args.keys():
			event = getSearchEpg(request.args["sstr"][0])
			event['kinopoisk'] = getLanguage()
			return event
		else: 
			return []
Exemplo n.º 12
0
	def P_epgservice(self, request):
		res = self.testMandatoryArguments(request, ["sRef"])
		if res:
			return res

		begintime = -1
		if "time" in request.args.keys():
			try:
				begintime = int(request.args["time"][0])
			except ValueError:
				pass

		endtime = -1
		if "endTime" in request.args.keys():
			try:
				endtime = int(request.args["endTime"][0])
			except ValueError:
				pass
		return getChannelEpg(request.args["sRef"][0], begintime, endtime, self.isJson)
Exemplo n.º 13
0
	def P_epgservice(self, request):
		res = self.testMandatoryArguments(request, ["sRef"])
		if res:
			return res

		begintime = -1
		if "time" in request.args.keys():
			try:
				begintime = int(request.args["time"][0])
			except ValueError:
				pass

		endtime = -1
		if "endTime" in request.args.keys():
			try:
				endtime = int(request.args["endTime"][0])
			except ValueError:
				pass
		self.isGZ=True
		return getChannelEpg(request.args["sRef"][0], begintime, endtime)
Exemplo n.º 14
0
    def P_epgpop(self, request):
        events = []
        timers = []
        if "sref" in request.args.keys():
            ev = getChannelEpg(request.args["sref"][0])
            events = ev["events"]
        elif "sstr" in request.args.keys():
            ev = getSearchEpg(request.args["sstr"][0])
            events = ev["events"]
        at = False
        if len(events) > 0:
            t = getTimers(self.session)
            timers = t["timers"]
            try:
                from Plugins.Extensions.AutoTimer.AutoTimer import AutoTimer

                at = True
            except ImportError:
                pass
        if config.OpenWebif.webcache.theme.value:
            theme = config.OpenWebif.webcache.theme.value
        else:
            theme = "original"
        return {"theme": theme, "events": events, "timers": timers, "at": at, "kinopoisk": getLanguage()}
Exemplo n.º 15
0
			
		begintime = -1
		if "time" in request.args.keys():
			try:
				begintime = int(request.args["time"][0])
			except Exception, e:
				pass
		
		endtime = -1
		if "endTime" in request.args.keys():
			try:
				endtime = int(request.args["endTime"][0])
			except Exception, e:
				pass
				
		return getChannelEpg(request.args["sRef"][0], begintime, endtime)
		
	def P_epgservicenow(self, request):
		res = self.testMandatoryArguments(request, ["sRef"])
		if res:
			return res
			
		return getNowNextEpg(request.args["sRef"][0], 0)
		
	def P_epgservicenext(self, request):
		res = self.testMandatoryArguments(request, ["sRef"])
		if res:
			return res
			
		return getNowNextEpg(request.args["sRef"][0], 1)
		
Exemplo n.º 16
0
        begintime = -1
        if "time" in request.args.keys():
            try:
                begintime = int(request.args["time"][0])
            except Exception, e:
                pass

        endtime = -1
        if "endTime" in request.args.keys():
            try:
                endtime = int(request.args["endTime"][0])
            except Exception, e:
                pass
        self.isGZ = True
        return getChannelEpg(request.args["sRef"][0], begintime, endtime)

    def P_epgservicenow(self, request):
        res = self.testMandatoryArguments(request, ["sRef"])
        if res:
            return res
        return getNowNextEpg(request.args["sRef"][0], 0)

    def P_epgservicenext(self, request):
        res = self.testMandatoryArguments(request, ["sRef"])
        if res:
            return res
        return getNowNextEpg(request.args["sRef"][0], 1)

    def P_epgsimilar(self, request):
        res = self.testMandatoryArguments(request, ["sRef", "eventid"])
Exemplo n.º 17
0
def getCurrentFullInfo(session):
    now = next = {}
    inf = getCurrentService(session)
    inf['tuners'] = list(map(chr, range(65, 65 + nimmanager.getSlotCount())))

    try:
        info = session.nav.getCurrentService().info()
    except BaseException:
        info = None

    try:
        subservices = session.nav.getCurrentService().subServices()
    except BaseException:
        subservices = None

    try:
        audio = session.nav.getCurrentService().audioTracks()
    except BaseException:
        audio = None

    try:
        ref = session.nav.getCurrentlyPlayingServiceReference().toString()
    except BaseException:
        ref = None

    if ref is not None:
        inf['sref'] = '_'.join(ref.split(':', 10)[:10])
        inf['srefv2'] = ref
        inf['picon'] = getPicon(ref)
        inf['wide'] = inf['aspect'] in (3, 4, 7, 8, 0xB, 0xC, 0xF, 0x10)
        inf['ttext'] = getServiceInfoString(info, iServiceInformation.sTXTPID)
        inf['crypt'] = getServiceInfoString(
            info, iServiceInformation.sIsCrypted)
        inf['subs'] = str(
            subservices and subservices.getNumberOfSubservices() > 0)
    else:
        inf['sref'] = None
        inf['picon'] = None
        inf['wide'] = None
        inf['ttext'] = None
        inf['crypt'] = None
        inf['subs'] = None

    inf['date'] = strftime("%d.%m.%Y", (localtime()))
    inf['dolby'] = False

    if audio:
        n = audio.getNumberOfTracks()
        idx = 0
        while idx < n:
            i = audio.getTrackInfo(idx)
            description = i.getDescription()
            if "AC3" in description \
                    or "DTS" in description \
                    or "Dolby Digital" in description:
                inf['dolby'] = True
            idx += 1
    try:
        feinfo = session.nav.getCurrentService().frontendInfo()
    except BaseException:
        feinfo = None

    frontendData = feinfo and feinfo.getAll(True)

    if frontendData is not None:
        cur_info = feinfo.getTransponderData(True)
        inf['tunertype'] = frontendData.get("tuner_type", "UNKNOWN")
        if frontendData.get("system", -1) == 1:
            inf['tunertype'] = "DVB-S2"
        inf['tunernumber'] = frontendData.get("tuner_number")
        orb = getOrbitalText(cur_info)
        inf['orbital_position'] = orb
        if cur_info:
            if cur_info.get('tuner_type') == "DVB-S":
                inf['orbital_position'] = _("Orbital Position") + ': ' + orb
    else:
        inf['tunernumber'] = "N/A"
        inf['tunertype'] = "N/A"

    try:
        frontendStatus = feinfo and feinfo.getFrontendStatus()
    except BaseException:
        frontendStatus = None

    if frontendStatus is not None:
        percent = frontendStatus.get("tuner_signal_quality")
        if percent is not None:
            inf['snr'] = int(percent * 100 / 65535)
            inf['snr_db'] = inf['snr']
        percent = frontendStatus.get("tuner_signal_quality_db")
        if percent is not None:
            inf['snr_db'] = "%3.02f dB" % (percent / 100.0)
        percent = frontendStatus.get("tuner_signal_power")
        if percent is not None:
            inf['agc'] = int(percent * 100 / 65535)
        percent = frontendStatus.get("tuner_bit_error_rate")
        if percent is not None:
            inf['ber'] = int(percent * 100 / 65535)
    else:
        inf['snr'] = 0
        inf['snr_db'] = inf['snr']
        inf['agc'] = 0
        inf['ber'] = 0

    try:
        recordings = session.nav.getRecordings()
    except BaseException:
        recordings = None

    inf['rec_state'] = False
    if recordings:
        inf['rec_state'] = True

    ev = getChannelEpg(ref)
    if len(ev['events']) > 1:
        now = ev['events'][0]
        next = ev['events'][1]
        if len(now['title']) > 50:
            now['title'] = now['title'][0:48] + "..."
        if len(next['title']) > 50:
            next['title'] = next['title'][0:48] + "..."

    return {"info": inf, "now": now, "next": next}