Example #1
0
	def __init__(self, session, title="", text=""):
		Screen.__init__(self, session)
		self.keys_list = []
		self.shiftkeys_list = []
		self.lang = language.getLanguage()
		self.nextLang = None
		self.shiftMode = False
		self.text = text
		self.selectedKey = 0
		
		self["country"] = StaticText("")
		self["countryFlag"] = Pixmap()
		self["header"] = Label(title)
		self["text"] = Label(self.text)
		self["list"] = VirtualKeyBoardList([])
		
		self["actions"] = ActionMap(["OkCancelActions", "WizardActions", "ColorActions", "KeyboardInputActions", "InputBoxActions", "InputAsciiActions"],
			{
				"gotAsciiCode": self.keyGotAscii,
				"ok": self.okClicked,
				"cancel": self.exit,
				"left": self.left,
				"right": self.right,
				"up": self.up,
				"down": self.down,
				"red": self.backClicked,
				"green": self.ok,
				"yellow": self.switchLang,
				"deleteBackward": self.backClicked,
				"back": self.exit				
			}, -2)
		self.setLang()
		try: self.onExecBegin.append(self.setKeyboardModeAscii)
		except: pass
		self.onLayoutFinish.append(self.buildVirtualKeyBoard)
Example #2
0
 def __runEmu(self):
     print "[GnuBoy] - __runEmu", self.__rom
     eRCInput.getInstance().lock()
     fbClass.getInstance().lock()
     com = "export LANG=" + language.getLanguage() + ".UTF-8;"
     com += "/usr/bin/sdlgnuboy-start '%s';" % self.__rom
     self.__container.execute(com)
Example #3
0
def localeInit():
    # getLanguage returns e.g. "fi_FI" for "language_country"
    lang = language.getLanguage()[:2]
    # Enigma doesn't set this (or LC_ALL, LC_MESSAGES, LANG). gettext needs it!
    os_environ["LANGUAGE"] = lang
    print "[FlashBackup] found LANGUAGE=", lang
    gettext.bindtextdomain("FlashBackup", resolveFilename(SCOPE_PLUGINS, "Extensions/FlashBackup/locale"))
Example #4
0
	def __runEmu(self):
		print "[DosBox] - __runEmu"
		eRCInput.getInstance().lock()
		fbClass.getInstance().lock()
		com = "export LANG=" + language.getLanguage() + ".UTF-8;"
		com += "/usr/bin/dosbox-start;"
		self.__container.execute(com)
	def __readEitFile(self):
		data = ""
		path = self.eit_file
		lang = language.getLanguage()[:2]

		if path and os.path.exists(path):
			mtime = os.path.getmtime(path)
			if self.eit_mtime == mtime:
				# File has not changed
				pass

			else:
				#print "EMC TEST count Eit " + str(path)

				# New path or file has changed
				self.eit_mtime = mtime

				# Read data from file
				# OE1.6 with Pyton 2.6
				#with open(self.eit_file, 'r') as file: lines = file.readlines()
				f = None
				try:
					f = open(path, 'rb')
					#lines = f.readlines()
					data = f.read()
				except Exception, e:
					emcDebugOut("[META] Exception in readEitFile: " + str(e))
				finally:
					if f is not None:
	def __init__(self, nextFunc=None, handleTimeout = True, search = False):
		self.mapping = []
		self.lang = language.getLanguage()
		self.useableChars=None
		self.nextFunction=nextFunc

		if handleTimeout:
			self.timer = eTimer()
			self.timer.callback.append(self.timeout)
		else:
			self.timer = None
		self.lastKey = -1
		self.pos = -1

		if search:
			self.mapping.append (u"%_0") # 0
			self.mapping.append (u" 1") # 1
			self.mapping.append (u"abc2") # 2
			self.mapping.append (u"def3") # 3
			self.mapping.append (u"ghi4") # 4
			self.mapping.append (u"jkl5") # 5
			self.mapping.append (u"mno6") # 6
			self.mapping.append (u"pqrs7") # 7
			self.mapping.append (u"tuv8") # 8
			self.mapping.append (u"wxyz9") # 9
			return

		if self.lang == 'de_DE':
			self.mapping.append (u".,?'+\"0-()@/:_$!") # 0
			self.mapping.append (u" 1") # 1
			self.mapping.append (u"aشbc2AشBC") # 2
			self.mapping.append (u"def3DEF") # 3
			self.mapping.append (u"ghi4GHI") # 4
			self.mapping.append (u"jkl5JKL") # 5
			self.mapping.append (u"mnoö6MNOÖ") # 6
			self.mapping.append (u"pqrsß7PQRSß") # 7
			self.mapping.append (u"tuüv8TUÜV") # 8
			self.mapping.append (u"wxyz9WXYZ") # 9
		elif self.lang == 'ar_AE':
			self.mapping.append (u".,?'+\"0-()@/:_$!") # 0
			self.mapping.append (u" 1") # 1
			self.mapping.append (u"ب ت ة ث 2") # 2
			self.mapping.append (u"ا ء 3") # 3
			self.mapping.append (u"س ش ص ض 4") # 4
			self.mapping.append (u"د ذ ر ز 5") # 5
			self.mapping.append (u"ج ح خ 6") # 6
			self.mapping.append (u"ن ه و ي 7") # 7
			self.mapping.append (u"ف ق ك ل م 8") # 8
			self.mapping.append (u"ط ظ ع غ 9") # 9
		else:
			self.mapping.append (u".,?'+\"0-()@/:_$!") # 0
			self.mapping.append (u" 1") # 1
			self.mapping.append (u"abc2ABC") # 2
			self.mapping.append (u"def3DEF") # 3
			self.mapping.append (u"ghi4GHI") # 4
			self.mapping.append (u"jkl5JKL") # 5
			self.mapping.append (u"mno6MNO") # 6
			self.mapping.append (u"pqrs7PQRS") # 7
			self.mapping.append (u"tuv8TUV") # 8
			self.mapping.append (u"wxyz9WXYZ") # 9
Example #7
0
def localeInit():
	global lang
	lang = language.getLanguage()[:2]
	os.environ["LANGUAGE"] = lang
	gettext.bindtextdomain("enigma2", resolveFilename(SCOPE_LANGUAGE))
	gettext.textdomain("enigma2")
	gettext.bindtextdomain(lang, '/usr/lib/enigma2/python/Plugins/Extensions/HbbTV/locale')
def localeInit():
	lang = language.getLanguage() #													getLanguage returns e.g. "fi_FI" for "language_country"
	# os.environ["LANGUAGE"] = lang[:2]
	# gettext.bindtextdomain("enigma2", resolveFilename(SCOPE_LANGUAGE))
	# gettext.textdomain("enigma2")
	# gettext.bindtextdomain("VWeather2", "%s%s" % (resolveFilename(SCOPE_PLUGINS), "Extensions/VWeather2/locale/")) #			po/mo files?
	return str(lang)
	def __init__(self, nextFunc=None, handleTimeout=True, search=False, mapping=None, mode=None):
		self.nextFunction = nextFunc
		if handleTimeout:
			self.timer = eTimer()
			self.timer.callback.append(self.timeout)
		else:
			self.timer = None
		if mapping and isinstance(mapping, (list, tuple)):
			self.mapping = mapping
		else:
			if mode is None:
				if search:  # NOTE: This will be removed when deprecated "search" is removed and "mode" is widely adopted.
					mode = "Search"
				if isinstance(mapping, str):  # NOTE: Legacy interface for previous and deprecated versions of NumericalTextInput.
					mode = mapping
			self.mapping = []
			index = MODES.get(str(mode).upper(), 0)
			self.mapping = []
			for num in range(0, 10):
				self.mapping.append((MAPPINGS[num][index]))
			locale = LOCALES.get(language.getLanguage(), None)
			if locale is not None and index in range(0, 6):
				index = index % 3
				for num in range(0, 10):
					if locale[num][index] is not None:
						self.mapping[num] = locale[num][index]
			self.mapping = tuple(self.mapping)
		# The key mapping lists naturally restricts character input to
		# the listed characters, this restriction is not enforced for
		# external keyboard input!
		self.useableChars = "".join(self.mapping)  # This limits data entry to only characters in the mapping lists.
		# print "[NumericalTextInput] DEBUG: Mode='%s', Index=%d, Character set: '%s'" % (mode, index, "".join(sorted(self.useableChars)))
		self.lastKey = -1
		self.pos = -1
Example #10
0
	def setAudioTrack(self):
		printl("", self, "S")
		if not self.switchedLanguage:
			try:
				service = self.session.nav.getCurrentService()
		
		
				tracks = service and self.getServiceInterface("audioTracks")
				nTracks = tracks and tracks.getNumberOfTracks() or 0
				
				if not nTracks:
					printl("no tracks found yet ... retrying later", self, "D")
					return
				
				self.nTracks = True
				trackList = []
				
				for i in xrange(nTracks):
					audioInfo = tracks.getTrackInfo(i)
					lang = audioInfo.getLanguage()
					printl("lang: " + str(lang), self, "D")
					trackList += [str(lang)]
				
				systemLanguage = language.getLanguage()[:2] # getLanguage returns e.g. "fi_FI" for "language_country"
				printl("found systemLanguage: " +  systemLanguage, self, "I")
				#systemLanguage = "en"
				
				self.tryAudioEnable(trackList, systemLanguage, tracks)
			
			except Exception, e:
				printl("audioTrack exception: " + str(e), self, "W") 
Example #11
0
def localeInit():
	log("",None,"__init__::localeInit()")
	lang = language.getLanguage()
	os.environ["LANGUAGE"] = lang[:2]
	gettext.bindtextdomain("enigma2", resolveFilename(SCOPE_LANGUAGE))
	gettext.textdomain("enigma2")
	gettext.bindtextdomain("EnigmaLight", "%s%s" % (resolveFilename(SCOPE_PLUGINS), "Extensions/EnigmaLight/locale/"))
Example #12
0
 def getUptime(self):
     try:
         with open("/proc/uptime", 'r') as file:
             uptime_info = file.read().split()
     except:
         return " "
         uptime_info = None
     if uptime_info is not None:            
         total_seconds = float(uptime_info[0])
         MINUTE  = 60
         HOUR    = MINUTE * 60
         DAY     = HOUR * 24
         days    = int( total_seconds / DAY )
         hours   = int( ( total_seconds % DAY ) / HOUR )
         minutes = int( ( total_seconds % HOUR ) / MINUTE )
         seconds = int( total_seconds % MINUTE )
         uptime = ""
         if  language.getLanguage()[:2] == 'pl':
             if days > 0:
                 uptime += str(days) + " " + (days == 1 and "dzień" or "dni" ) + ", "
             if len(uptime) > 0 or hours > 0:
                 uptime += str(hours) + " " + (hours == 1 and "godzina" or "godzin" ) + ", "
             if len(uptime) > 0 or minutes > 0:
                 uptime += str(minutes) + " " + (minutes == 1 and "minuta" or "minut" )
             return "Czas pracy: %s" % uptime
         else:
             if days > 0:
                 uptime += str(days) + " " + (days == 1 and "day" or "days" ) + ", "
             if len(uptime) > 0 or hours > 0:
                 uptime += str(hours) + " " + (hours == 1 and "hour" or "hours" ) + ", "
             if len(uptime) > 0 or minutes > 0:
                 uptime += str(minutes) + " " + (minutes == 1 and "minute" or "minutes" )
             return "Uptime: %s" % uptime
Example #13
0
	def __onFirstExecBegin(self):
		self["cursor"].instance.setPixmapFromFile(resolveFilename(SCOPE_PLUGINS, "Extensions/Browser/cursor.png"))
		self.__setCursor()
		self.__setMouseMode(self.__mouseMode)

		#enable/disable transparent background
		self.setHbbtv(self.__isHbbtv)
		if not self.__isHbbtv and self.__isTransparent:
			self.setBackgroundTransparent(self.__isTransparent)
		#set Accept-Language header to current language
		lang = '-'.join(language.getLanguage().split('_'))
		self.webnavigation.setAcceptLanguage(lang)
		self.__registerCallbacks()
		self.__urlList.hide()
		self.__restoreCookies()
		if self.__fullscreen:
			self.__showHideBars(False)
			self.__showHideButtonBar(False)
		if self.__startUrl is None:
			if config.plugins.WebBrowser.startPage.value == "home":
				self.__actionHome()
			else:
				self.setUrl(config.plugins.WebBrowser.lastvisited.value)
		else:
			self.setUrl(self.__startUrl)
Example #14
0
def localeInit():
    lang = language.getLanguage()
    environ["LANGUAGE"] = lang[:2]
    gettext.bindtextdomain("enigma2", resolveFilename(SCOPE_LANGUAGE))
    gettext.textdomain("enigma2")
    gettext.bindtextdomain(
        "PermanentClock", "%s%s" % (resolveFilename(SCOPE_PLUGINS), "Extensions/PermanentClock/locale/")
    )
    def __init__(self, session, title="", text=""):
        Screen.__init__(self, session)
        self.setTitle(_(title))
        self.keys_list = []
        self.shiftkeys_list = []
        self.lang = language.getLanguage()
        self.nextLang = None
        self.shiftMode = False
        self.text = text
        self.selectedKey = 0
        self.smsChar = None
        self.sms = NumericalTextInput(self.smsOK)

        self["country"] = StaticText("")
        self["header"] = Label(title)
        self["text"] = Label(self.text)
        self["list"] = VirtualKeyBoardList([])

        self["actions"] = NumberActionMap(
            [
                "OkCancelActions",
                "WizardActions",
                "ColorActions",
                "KeyboardInputActions",
                "InputBoxActions",
                "InputAsciiActions",
            ],
            {
                "gotAsciiCode": self.keyGotAscii,
                "ok": self.okClicked,
                "cancel": self.exit,
                "left": self.left,
                "right": self.right,
                "up": self.up,
                "down": self.down,
                "red": self.backClicked,
                "green": self.ok,
                "yellow": self.switchLang,
                "blue": self.shiftClicked,
                "deleteBackward": self.backClicked,
                "back": self.exit,
                "1": self.keyNumberGlobal,
                "2": self.keyNumberGlobal,
                "3": self.keyNumberGlobal,
                "4": self.keyNumberGlobal,
                "5": self.keyNumberGlobal,
                "6": self.keyNumberGlobal,
                "7": self.keyNumberGlobal,
                "8": self.keyNumberGlobal,
                "9": self.keyNumberGlobal,
                "0": self.keyNumberGlobal,
            },
            -2,
        )
        self.setLang()
        self.onExecBegin.append(self.setKeyboardModeAscii)
        self.onLayoutFinish.append(self.buildVirtualKeyBoard)
def getKinopoisk():
	kinopoisk = False
	lang = ['ru', 'uk', 'lv', 'lt', 'et']
	current_language = language.getLanguage()
	for l in lang:
		if l in current_language:
			kinopoisk = True
			break
	return kinopoisk
Example #17
0
	def __runEmu(self,rom):
		print "[Snes] - __runEmu", rom
		eDBoxLCD.getInstance().lock()
		eRCInput.getInstance().lock()
		fbClass.getInstance().lock()
		
		com = "export LANG=" + language.getLanguage() + ".UTF-8;"
		com += "/usr/bin/snes9x-sdl-start '%s';" %rom
		self.__container.execute(com)
Example #18
0
	def __runEmu(self):
		print "[Vice] - __runEmu", self.__emu
		eRCInput.getInstance().lock()
		fbClass.getInstance().lock()
		com = "export LANG=" + language.getLanguage() + ".UTF-8;"
		com += "/usr/bin/vice-start '%s'" %self.__emu
		if self.__rom != "":
			com += " '%s'" %self.__rom
		self.__container.execute(com)
def localeInit():
	if lang is not None:
		lang = language.getLanguage()
	else
		lang = "de"
	
	os.environ["LANGUAGE"] = lang[:2]
	gettext.bindtextdomain("enigma2", resolveFilename(SCOPE_LANGUAGE))
	gettext.textdomain("enigma2")
	gettext.bindtextdomain("ProjectValerie", "%s%s" % (resolveFilename(SCOPE_PLUGINS), "Extensions/ProjectValerie/locale/"))
Example #20
0
def localeInit():
    lang = language.getLanguage()[:2]
    environ["LANGUAGE"] = lang
    PluginLanguagePath = resolveFilename(SCOPE_LANGUAGE, '') #%s/LC_MESSAGES/' % lang)
    #print '%s%s/LC_MESSAGES/%s.mo' % (PluginLanguagePath,lang,PluginLanguageDomain)
    if not path.exists( '%s%s/LC_MESSAGES/%s.mo' % (PluginLanguagePath,lang,PluginLanguageDomain)):
        PluginLanguagePath = resolveFilename(SCOPE_PLUGINS, "SystemPlugins/AutoBouquetsMaker/locale")

    print "[AutoBouquetsMaker] PluginLanguagePath:" + PluginLanguagePath
    gettext.bindtextdomain(PluginLanguageDomain, PluginLanguagePath)
Example #21
0
def localeInit():
	printl("", "__init__::localeInit", "S")

	lang = language.getLanguage()
	os.environ["LANGUAGE"] = lang[:2]
	gettext.bindtextdomain("enigma2", resolveFilename(SCOPE_LANGUAGE))
	gettext.textdomain("enigma2")
	gettext.bindtextdomain("DreamPlex", "%s%s" % (resolveFilename(SCOPE_PLUGINS), "Extensions/DreamPlex/locale/"))

	printl("", "__init__::localeInit", "C")
Example #22
0
def showManual(self):
    if not os.path.exists(vbcfg.MANUALROOT):
        return

    url = "file://" + vbcfg.MANUALROOT + "/main.html"
    lang = language.getLanguage()
    if os.path.exists(vbcfg.MANUALROOT + "/" + lang):
        url = "file://" + vbcfg.MANUALROOT + "/" + lang + "/main.html"

    vbcfg.g_browser = self.session.open(Browser, url)
Example #23
0
def localeInit():
    global LanguageDomains
    lang = language.getLanguage()[:2]
    os.environ["LANGUAGE"] = lang
    for file in os.listdir(resolveFilename(SCOPE_GOSLANGUAGE, "%s/LC_MESSAGES/") % str(lang)):
        myDomain = file[:-3]
        if file.startswith("plugin-") and file.endswith(".mo"):
            if pathExists(resolveFilename(SCOPE_PLUGINS, "Extensions/%s" % myDomain[7:])) or pathExists(resolveFilename(SCOPE_PLUGINS, "SystemPlugins/%s" % myDomain[7:])):
                print "[GOSlocale] binding %s as '%s' domain" % (file , myDomain)
                gettext.bindtextdomain(myDomain, resolveFilename(SCOPE_GOSLANGUAGE))
                LanguageDomains.append(myDomain)
Example #24
0
	def getChoices(self):
		from Components.Language import language as syslanguage
		syslang = syslanguage.getLanguage()[:2]
		choices = []
		for lang, id_list in self.idlist_by_name.iteritems():
			if syslang not in id_list and 'en' not in id_list:
				choices.append((lang, lang))
		choices.sort()
		choices.insert(0,(self.name_by_shortid[syslang], self.name_by_shortid[syslang]))
		if syslang != "en":
			choices.insert(1,(self.name_by_shortid["en"], self.name_by_shortid["en"]))
		return choices
Example #25
0
def localeInit():
    lang = language.getLanguage()
    environ["LANGUAGE"] = lang[:2]
    gettext.bindtextdomain("enigma2", resolveFilename(SCOPE_LANGUAGE))
    gettext.textdomain("enigma2")
    gettext.bindtextdomain("AdvancedMovieSelection", "%s%s" % (resolveFilename(SCOPE_PLUGINS), "Extensions/AdvancedMovieSelection/locale/"))

    ln = language.lang[language.activeLanguage][1]
    from AboutParser import AboutParser
    AboutParser.setLocale(ln)
    from MovieDB import tmdb, tvdb
    tmdb.setLocale(ln)
    tvdb.setLocale(ln)
Example #26
0
 def __init__(self, type):
     Converter.__init__(self, type)
     lang = language.getLanguage()
     self.idioma = str(lang[:2])
     self.ini = ''
     self.fin = ''
     if self.idioma == 'ca' or self.idioma == 'eu' or self.idioma == 'ga' or self.idioma == 'va':
         self.idioma = 'es'
     if type == 'SmallRating':
         pass
     elif type == 'Rating':
         self.ini = '('
         self.fin = ')'
	def __init__(self, type):
		Converter.__init__(self, type)
		lang = language.getLanguage()
		self.idioma=str(lang[:2])
		self.ini=""
		self.fin=""
		if self.idioma == "ca" or self.idioma == "eu" or self.idioma == "ga" or self.idioma == "va":
			self.idioma="es"
		if type == "SmallRating":
			pass
		elif type == "Rating":
			self.ini="("
			self.fin=")"
Example #28
0
 def __init__(self, username=None, password=None, filter=None):
     try:
         ContentProvider.__init__(self, name='czsklib', base_url='/', username=username, password=password, filter=filter)
         util.init_urllib()
         self.wsuser = username
         self.wspass = password
         self.language = language.getLanguage()
         self.init_trans()
         orangelog.logDebug("init orangetv...");
         self.session = None
     except:
         orangelog.logError("init orangetv failed.\n%s"%traceback.format_exc())
         pass
	def __init__(self, session, title="", **kwargs):
		Screen.__init__(self, session)
		self.setTitle(_("Virtual keyboard"))
		self.keys_list = []
		self.shiftkeys_list = []
		self.lang = language.getLanguage()
		self.nextLang = None
		self.shiftMode = False
		self.selectedKey = 0
		self.smsChar = None
		self.sms = NumericalTextInput(self.smsOK)		
		self["key_red"] = StaticText(_("Exit"))
		self["key_green"] = StaticText(_("Save"))
		self["key_yellow"] = self["country"] = StaticText("")
		self["header"] = Label(title)
		self["text"] = Input(currPos=len(kwargs.get("text", "").decode("utf-8",'ignore')), allMarked=False, **kwargs)
		self["list"] = VirtualKeyBoardList([])
		
		self["actions"] = NumberActionMap(["OkCancelActions", "WizardActions", "ColorActions", "KeyboardInputActions", "InputBoxActions", "InputAsciiActions"],
			{
				"gotAsciiCode": self.keyGotAscii,
				"ok": self.okClicked,
				"cancel": self.exit,
				"left": self.left,
				"right": self.right,
				"up": self.up,
				"down": self.down,
				"red": self.exit,
				"green": self.ok,
				"yellow": self.switchLang,
				"blue": self.shiftClicked,
				"deleteBackward": self.backClicked,
				"deleteForward": self.forwardClicked,
				"back": self.exit,
				"pageUp": self.cursorRight,
				"pageDown": self.cursorLeft,
				"1": self.keyNumberGlobal,
				"2": self.keyNumberGlobal,
				"3": self.keyNumberGlobal,
				"4": self.keyNumberGlobal,
				"5": self.keyNumberGlobal,
				"6": self.keyNumberGlobal,
				"7": self.keyNumberGlobal,
				"8": self.keyNumberGlobal,
				"9": self.keyNumberGlobal,
				"0": self.keyNumberGlobal,
			}, -2)
		self.setLang()
		self.onExecBegin.append(self.setKeyboardModeAscii)
		self.onLayoutFinish.append(self.buildVirtualKeyBoard)
		self.onClose.append(self.__onClose)
Example #30
0
def setAudioTrack(service):
    try:
        from Tools.ISO639 import LanguageCodes as langC
        tracks = service and service.audioTracks()
        nTracks = tracks and tracks.getNumberOfTracks() or 0
        if not nTracks:
            return
        idx = 0
        trackList = []
        for i in xrange(nTracks):
            audioInfo = tracks.getTrackInfo(i)
            lang = audioInfo.getLanguage()
            if langC.has_key(lang):
                lang = langC[lang][0]
            desc = audioInfo.getDescription()
            track = (idx, lang, desc)
            idx += 1
            trackList += [track]

        seltrack = tracks.getCurrentTrack()
        from Components.Language import language
        syslang = language.getLanguage()[:2]
        syslang = langC[syslang][0]
        if (config.autolanguage.audio_autoselect1.value or config.autolanguage.audio_autoselect2.value or config.autolanguage.audio_autoselect3.value or config.autolanguage.audio_autoselect4.value) != '---':
            audiolang = [config.autolanguage.audio_autoselect1.value,
             config.autolanguage.audio_autoselect2.value,
             config.autolanguage.audio_autoselect3.value,
             config.autolanguage.audio_autoselect4.value]
            caudiolang = True
        else:
            audiolang = syslang
            caudiolang = False
        useAc3 = config.autolanguage.audio_defaultac3.value
        if useAc3:
            matchedAc3 = tryAudioTrack(tracks, audiolang, caudiolang, trackList, seltrack, useAc3)
            if matchedAc3:
                return
            matchedMpeg = tryAudioTrack(tracks, audiolang, caudiolang, trackList, seltrack, False)
            if matchedMpeg:
                return
            tracks.selectTrack(0)
            return
        matchedMpeg = tryAudioTrack(tracks, audiolang, caudiolang, trackList, seltrack, False)
        if matchedMpeg:
            return
        matchedAc3 = tryAudioTrack(tracks, audiolang, caudiolang, trackList, seltrack, useAc3)
        if matchedAc3:
            return
        tracks.selectTrack(0)
    except Exception as e:
        print '[MoviePlayer] audioTrack exception:\n' + str(e)
Example #31
0
def localeInit():
	environ["LANGUAGE"] = language.getLanguage()[:2]
	bindtextdomain("MountManager", resolveFilename(SCOPE_PLUGINS, \
		"SystemPlugins/MountManager/locale"))
Example #32
0
    def getDownloadTxt(self):
        downloadPath = "/usr/lib/enigma2/python/Plugins/Extensions/IPTV-List-Updater/list/%s.txt" % language.getLanguage(
        )[:2]
        if not path.exists(downloadPath):
            downloadPath = "/usr/lib/enigma2/python/Plugins/Extensions/IPTV-List-Updater/list/en.txt"

        self.downloadlist = []
        f = open(downloadPath, 'r')
        tmp = f.readlines()
        f.close

        for l in tmp:
            if l.startswith('#'):
                continue
            if l.endswith('\n'):  # Remove at the end "newline"
                l = l[:-1]

            ll = l.split(' ')
            if len(ll) >= 4:
                ll[3] = ll[3].replace('_', ' ')
                self.downloadlist.append(ll)
                self.iptvlist.append(ll[3])
            else:
                continue
Example #33
0
    def __init__(self, session, title="", **kwargs):
        Screen.__init__(self, session)
        self.setTitle(_("Virtual keyboard"))
        self.keys_list = []
        self.shiftkeys_list = []
        self.lang = language.getLanguage()
        self.nextLang = None
        self.shiftMode = False
        self.selectedKey = 0
        self.smsChar = None
        self.sms = NumericalTextInput(self.smsOK)

        self.key_bg = LoadPixmap(path=resolveFilename(
            SCOPE_CURRENT_SKIN, "skin_default/vkey_bg.png"))
        self.key_sel = LoadPixmap(path=resolveFilename(
            SCOPE_CURRENT_SKIN, "skin_default/vkey_sel.png"))
        self.key_backspace = LoadPixmap(path=resolveFilename(
            SCOPE_CURRENT_SKIN, "skin_default/vkey_backspace.png"))
        self.key_all = LoadPixmap(path=resolveFilename(
            SCOPE_CURRENT_SKIN, "skin_default/vkey_all.png"))
        self.key_clr = LoadPixmap(path=resolveFilename(
            SCOPE_CURRENT_SKIN, "skin_default/vkey_clr.png"))
        self.key_esc = LoadPixmap(path=resolveFilename(
            SCOPE_CURRENT_SKIN, "skin_default/vkey_esc.png"))
        self.key_ok = LoadPixmap(path=resolveFilename(
            SCOPE_CURRENT_SKIN, "skin_default/vkey_ok.png"))
        self.key_shift = LoadPixmap(path=resolveFilename(
            SCOPE_CURRENT_SKIN, "skin_default/vkey_shift.png"))
        self.key_shift_sel = LoadPixmap(path=resolveFilename(
            SCOPE_CURRENT_SKIN, "skin_default/vkey_shift_sel.png"))
        self.key_space = LoadPixmap(path=resolveFilename(
            SCOPE_CURRENT_SKIN, "skin_default/vkey_space.png"))
        self.key_left = LoadPixmap(path=resolveFilename(
            SCOPE_CURRENT_SKIN, "skin_default/vkey_left.png"))
        self.key_right = LoadPixmap(path=resolveFilename(
            SCOPE_CURRENT_SKIN, "skin_default/vkey_right.png"))

        self.keyImages = {
            "BACKSPACE": self.key_backspace,
            "ALL": self.key_all,
            "EXIT": self.key_esc,
            "OK": self.key_ok,
            "SHIFT": self.key_shift,
            "SPACE": self.key_space,
            "LEFT": self.key_left,
            "RIGHT": self.key_right
        }
        self.keyImagesShift = {
            "BACKSPACE": self.key_backspace,
            "CLEAR": self.key_clr,
            "EXIT": self.key_esc,
            "OK": self.key_ok,
            "SHIFT": self.key_shift_sel,
            "SPACE": self.key_space,
            "LEFT": self.key_left,
            "RIGHT": self.key_right
        }

        self["country"] = StaticText("")
        self["header"] = Label(title)
        self["text"] = Input(currPos=len(
            kwargs.get("text", "").decode("utf-8", 'ignore')),
                             allMarked=False,
                             **kwargs)
        self["list"] = VirtualKeyBoardList([])

        self["actions"] = NumberActionMap(
            [
                "OkCancelActions", "WizardActions", "ColorActions",
                "KeyboardInputActions", "InputBoxActions", "InputAsciiActions"
            ], {
                "gotAsciiCode": self.keyGotAscii,
                "ok": self.okClicked,
                "cancel": self.exit,
                "left": self.left,
                "right": self.right,
                "up": self.up,
                "down": self.down,
                "red": self.exit,
                "green": self.ok,
                "yellow": self.switchLang,
                "blue": self.shiftClicked,
                "deleteBackward": self.backClicked,
                "deleteForward": self.forwardClicked,
                "back": self.exit,
                "pageUp": self.cursorRight,
                "pageDown": self.cursorLeft,
                "1": self.keyNumberGlobal,
                "2": self.keyNumberGlobal,
                "3": self.keyNumberGlobal,
                "4": self.keyNumberGlobal,
                "5": self.keyNumberGlobal,
                "6": self.keyNumberGlobal,
                "7": self.keyNumberGlobal,
                "8": self.keyNumberGlobal,
                "9": self.keyNumberGlobal,
                "0": self.keyNumberGlobal,
            }, -2)
        self.setLang()
        self.onExecBegin.append(self.setKeyboardModeAscii)
        self.onLayoutFinish.append(self.buildVirtualKeyBoard)
        self.onClose.append(self.__onClose)
Example #34
0
def localeInit():
	lang = language.getLanguage()[:2]
	os_environ["LANGUAGE"] = lang
	gettext.bindtextdomain("PluginHider", resolveFilename(SCOPE_PLUGINS, "Extensions/PluginHider/locale"))
Example #35
0
import os, gettext
from Plugins.Plugin import PluginDescriptor
from Screens.Screen import Screen
from Screens.MessageBox import MessageBox
from Screens.Standby import TryQuitMainloop
from Components.ActionMap import ActionMap
from Components.Sources.StaticText import StaticText
from Components.Label import Label
from Components.Language import language
from Tools.Directories import fileExists, resolveFilename, SCOPE_PLUGINS, SCOPE_SKIN_IMAGE, SCOPE_LANGUAGE
from Tools.LoadPixmap import LoadPixmap
from requests.exceptions import HTTPError
from os import system, environ
from enigma import getDesktop

lang = language.getLanguage()
environ["LANGUAGE"] = lang[:2]
gettext.bindtextdomain("enigma2", resolveFilename(SCOPE_LANGUAGE))
gettext.textdomain("enigma2")
gettext.bindtextdomain(
    "DownSkinLIB",
    "%s%s" % (resolveFilename(SCOPE_PLUGINS), "Extensions/DownSkinLIB/locale"))


def _(txt):
    t = gettext.dgettext("DownSkinLIB", txt)
    if t == txt:
        t = gettext.gettext(txt)
    return t

Example #36
0
myConfig.DirectoryCoversDescriptons = ConfigYesNo(
    default=True)  # informacja o katalogu z plikow _dir.info i _dir.png

#Downloading covers
myConfig.AutoDownloadCoversDescriptions = ConfigYesNo(default=True)
myConfig.PermanentCoversDescriptons = ConfigYesNo(default=False)

#myConfig.MovieSearchTree = ConfigText(default = "/hdd/movie/", fixed_size = False)

try:
    myConfig.coverfind_language = config.plugins.coverfind.language
except:
    from Components.Language import language
    myConfig.coverfind_language = ConfigSelection(
        default=language.getLanguage()[:2], choices=["de", "en", "it", "pl"])
try:
    myConfig.coverfind_themoviedb_coversize = config.plugins.coverfind.themoviedb_coversize
except:
    from Components.Language import language
    myConfig.coverfind_themoviedb_coversize = ConfigSelection(
        default="w185", choices=["w92", "w185", "w500", "original"])

myConfig.ShowMusicFiles = ConfigYesNo(default=False)
myConfig.ShowPicturesFiles = ConfigYesNo(default=False)

myConfig.MoveToTrash = ConfigYesNo(default=False)
myConfig.TrashFolder = ConfigText(default="/hdd/movie/trashcan",
                                  fixed_size=False)

#session settings, not saved
Example #37
0
def getDefaultEncoding():
    if 'de' in language.getLanguage():
        return 'ISO8859-15'
    return 'UTF-8'
Example #38
0
from Components.config import *
SkinPath = resolveFilename(SCOPE_CURRENT_SKIN, '')
if not SkinPath.endswith('/'):
    SkinPath = SkinPath + '/'
CurrentSkinName = config.skin.primary_skin.value.replace('skin.xml',
                                                         '').replace('/', '')
if SkinPath.endswith('enigma2/'):
    SkinPath = SkinPath + CurrentSkinName + '/'

#translation
PluginLanguageDomain = "plugin-" + PluginName
PluginLanguagePath = resolveFilename(
    SCOPE_PLUGINS, '%s/%s/locale' % (PluginGroup, PluginFolder))

from Components.Language import language
currLang = language.getLanguage(
)[:2]  #used for descriptions keep GUI language in 'pl|en' format

#DEBUG
myDEBUG = True
myDEBUGfile = '/tmp/%s.log' % PluginName


def getSkinName():
    global CurrentSkinName
    return CurrentSkinName


def getSkinPath():
    global SkinPath
    return SkinPath
Example #39
0
def setEPGLanguage():
    print "language set to", language.getLanguage()
    eServiceEvent.setEPGLanguage(language.getLanguage())
Example #40
0
OPENWEBIFVER = "OWIF 1.4.21 for Open Vision"

PLUGIN_NAME = 'OpenWebif'
PLUGIN_DESCRIPTION = "OpenWebif Configuration"
PLUGIN_WINDOW_TITLE = PLUGIN_DESCRIPTION

PLUGIN_ROOT_PATH = os.path.dirname(os.path.dirname(__file__))
PUBLIC_PATH = PLUGIN_ROOT_PATH + '/public'
VIEWS_PATH = PLUGIN_ROOT_PATH + '/controllers/views'

sys.path.insert(0, PLUGIN_ROOT_PATH)

GLOBALPICONPATH = None

STB_LANG = language.getLanguage()


#: get transcoding feature
def getTranscoding():
    if getHaveTranscoding() == "True" or getHaveMultiTranscoding() == "True":
        return True
    return False


def getExtEventInfoProvider():
    if STB_LANG[0:2] in ['ru', 'uk', 'lv', 'lt', 'et']:
        defaultValue = 'Kinopoisk'
    elif STB_LANG[0:2] in ['cz', 'sk']:
        defaultValue = 'CSFD'
    elif STB_LANG[0:5] in ['en_GB']:
Example #41
0
def localeInit():
    lang = language.getLanguage()[:2]
    environ["LANGUAGE"] = lang
    gettext.bindtextdomain(PluginLanguageDomain, PluginLanguagePath)
Example #42
0
def localeInit():
	lang = language.getLanguage()[:2]
	os.environ["LANGUAGE"] = lang
	gettext.bindtextdomain(PluginLanguageDomain, resolveFilename(SCOPE_PLUGINS, PluginLanguagePath))
Example #43
0
def getInfo(session=None, need_fullinfo=False):
    # TODO: get webif versione somewhere!
    info = {}
    global STATICBOXINFO

    if not (STATICBOXINFO is None or need_fullinfo):
        return STATICBOXINFO

    info['brand'] = getMachineBrand()
    info['model'] = getMachineName()
    info['boxtype'] = getBoxType()
    info['machinebuild'] = getMachineBuild()

    chipset = "unknown"
    if fileExists("/etc/.box"):
        f = open("/etc/.box", 'r')
        model = f.readline().strip().lower()
        f.close()
        if model.startswith("ufs") or model.startswith("ufc"):
            if model in ("ufs910", "ufs922", "ufc960"):
                chipset = "SH4 @266MHz"
            else:
                chipset = "SH4 @450MHz"
        elif model in ("topf", "tf7700hdpvr"):
            chipset = "SH4 @266MHz"
        elif model.startswith("azbox"):
            f = open("/proc/stb/info/model", 'r')
            model = f.readline().strip().lower()
            f.close()
            if model == "me":
                chipset = "SIGMA 8655"
            elif model == "minime":
                chipset = "SIGMA 8653"
            else:
                chipset = "SIGMA 8634"
        elif model.startswith("spark"):
            if model == "spark7162":
                chipset = "SH4 @540MHz"
            else:
                chipset = "SH4 @450MHz"
    elif fileExists("/proc/stb/info/azmodel"):
        f = open("/proc/stb/info/model", 'r')
        model = f.readline().strip().lower()
        f.close()
        if model == "me":
            chipset = "SIGMA 8655"
        elif model == "minime":
            chipset = "SIGMA 8653"
        else:
            chipset = "SIGMA 8634"
    elif fileExists("/proc/stb/info/model"):
        f = open("/proc/stb/info/model", 'r')
        model = f.readline().strip().lower()
        f.close()
        if model == "tf7700hdpvr":
            chipset = "SH4 @266MHz"
        elif model == "nbox":
            chipset = "STi7100 @266MHz"
        elif model == "arivalink200":
            chipset = "STi7109 @266MHz"
        elif model in ("adb2850", "adb2849", "dsi87"):
            chipset = "STi7111 @450MHz"
        elif model in ("sagemcom88", "esi88"):
            chipset = "STi7105 @450MHz"
        elif model.startswith("spark"):
            if model == "spark7162":
                chipset = "STi7162 @540MHz"
            else:
                chipset = "STi7111 @450MHz"

    if fileExists("/proc/stb/info/chipset"):
        f = open("/proc/stb/info/chipset", 'r')
        chipset = f.readline().strip()
        f.close()

    info['chipset'] = chipset

    memFree = 0
    for line in open("/proc/meminfo", 'r'):
        parts = line.split(':')
        key = parts[0].strip()
        if key == "MemTotal":
            info['mem1'] = parts[1].strip().replace("kB", _("kB"))
        elif key in ("MemFree", "Buffers", "Cached"):
            memFree += int(parts[1].strip().split(' ', 1)[0])
    info['mem2'] = "%s %s" % (memFree, _("kB"))
    info['mem3'] = _("%s free / %s total") % (info['mem2'], info['mem1'])

    try:
        f = open("/proc/uptime", "rb")
        uptime = int(float(f.readline().split(' ', 2)[0].strip()))
        f.close()
        uptimetext = ''
        if uptime > 86400:
            d = uptime / 86400
            uptime = uptime % 86400
            uptimetext += '%dd ' % d
        uptimetext += "%d:%.2d" % (uptime / 3600, (uptime % 3600) / 60)
    except:
        uptimetext = "?"
    info['uptime'] = uptimetext

    info["webifver"] = getOpenWebifVer()
    info['imagedistro'] = getImageDistro()
    info['friendlyimagedistro'] = getFriendlyImageDistro()
    info['oever'] = getOEVersion()
    info['imagever'] = getImageVersion() + '.' + getImageBuild()
    info['enigmaver'] = getEnigmaVersionString()
    info['driverdate'] = getDriverDate()
    info['kernelver'] = about.getKernelVersionString()

    try:
        from Tools.StbHardware import getFPVersion
    except ImportError:
        from Tools.DreamboxHardware import getFPVersion

    try:
        info['fp_version'] = getFPVersion()
    except:
        info['fp_version'] = None

    friendlychipsetdescription = _("Chipset")
    friendlychipsettext = info['chipset'].replace("bcm", "Broadcom ")
    if friendlychipsettext in ("7335", "7356", "7362", "73625", "7424", "7425",
                               "7429"):
        friendlychipsettext = "Broadcom " + friendlychipsettext
    if not (info['fp_version'] is None or info['fp_version'] == 0):
        friendlychipsetdescription = friendlychipsetdescription + " (" + _(
            "Frontprocessor Version") + ")"
        friendlychipsettext = friendlychipsettext + " (" + str(
            info['fp_version']) + ")"

    info['friendlychipsetdescription'] = friendlychipsetdescription
    info['friendlychipsettext'] = friendlychipsettext

    info['tuners'] = []
    for i in range(0, nimmanager.getSlotCount()):
        print "[OpenWebif] -D- tuner '%d' '%s' '%s'" % (
            i, nimmanager.getNimName(i), nimmanager.getNim(i).getSlotName())
        info['tuners'].append({
            "name":
            nimmanager.getNim(i).getSlotName(),
            "type":
            nimmanager.getNimName(i) + " (" +
            nimmanager.getNim(i).getFriendlyType() + ")",
            "rec":
            "",
            "live":
            ""
        })

    info['ifaces'] = []
    ifaces = iNetwork.getConfiguredAdapters()
    for iface in ifaces:
        info['ifaces'].append({
            "name":
            iNetwork.getAdapterName(iface),
            "friendlynic":
            getFriendlyNICChipSet(iface),
            "linkspeed":
            getLinkSpeed(iface),
            "mac":
            iNetwork.getAdapterAttribute(iface, "mac"),
            "dhcp":
            iNetwork.getAdapterAttribute(iface, "dhcp"),
            "ipv4method":
            getIPv4Method(iface),
            "ip":
            formatIp(iNetwork.getAdapterAttribute(iface, "ip")),
            "mask":
            formatIp(iNetwork.getAdapterAttribute(iface, "netmask")),
            "v4prefix":
            sum([
                bin(int(x)).count('1') for x in formatIp(
                    iNetwork.getAdapterAttribute(iface, "netmask")).split('.')
            ]),
            "gw":
            formatIp(iNetwork.getAdapterAttribute(iface, "gateway")),
            "ipv6":
            getAdapterIPv6(iface)['addr'],
            "ipmethod":
            getIPMethod(iface),
            "firstpublic":
            getAdapterIPv6(iface)['firstpublic']
        })

    info['hdd'] = []
    for hdd in harddiskmanager.hdd:
        dev = hdd.findMount()
        if dev:
            stat = os.statvfs(dev)
            free = int((stat.f_bfree / 1024) * (stat.f_bsize / 1024))
        else:
            free = -1

        if free <= 1024:
            free = "%i %s" % (free, _("MB"))
        else:
            free = free / 1024.
            free = "%.1f %s" % (free, _("GB"))

        size = hdd.diskSize() * 1000000 / 1048576.
        if size > 1048576:
            size = "%.1f %s" % ((size / 1048576.), _("TB"))
        elif size > 1024:
            size = "%.1f %s" % ((size / 1024.), _("GB"))
        else:
            size = "%d %s" % (size, _("MB"))

        iecsize = hdd.diskSize()
        # Harddisks > 1000 decimal Gigabytes are labelled in TB
        if iecsize > 1000000:
            iecsize = (iecsize + 50000) // float(100000) / 10
            # Omit decimal fraction if it is 0
            if (iecsize % 1 > 0):
                iecsize = "%.1f %s" % (iecsize, _("TB"))
            else:
                iecsize = "%d %s" % (iecsize, _("TB"))
        # Round harddisk sizes beyond ~300GB to full tens: 320, 500, 640, 750GB
        elif iecsize > 300000:
            iecsize = "%d %s" % (((iecsize + 5000) // 10000 * 10), _("GB"))
        # ... be more precise for media < ~300GB (Sticks, SSDs, CF, MMC, ...): 1, 2, 4, 8, 16 ... 256GB
        elif iecsize > 1000:
            iecsize = "%d %s" % (((iecsize + 500) // 1000), _("GB"))
        else:
            iecsize = "%d %s" % (iecsize, _("MB"))

        info['hdd'].append({
            "model":
            hdd.model(),
            "capacity":
            size,
            "labelled_capacity":
            iecsize,
            "free":
            free,
            "mount":
            dev,
            "friendlycapacity":
            _("%s free / %s total") % (free, size + ' ("' + iecsize + '")')
        })

    info['shares'] = []
    autofiles = ('/etc/auto.network', '/etc/auto.network_vti')
    for autofs in autofiles:
        if fileExists(autofs):
            method = "autofs"
            for line in file(autofs).readlines():
                if not line.startswith('#'):
                    # Replace escaped spaces that can appear inside credentials with underscores
                    # Not elegant but we wouldn't want to expose credentials on the OWIF anyways
                    tmpline = line.replace("\ ", "_")
                    tmp = tmpline.split()
                    if not len(tmp) == 3:
                        continue
                    name = tmp[0].strip()
                    type = "unknown"
                    if "cifs" in tmp[1]:
                        # Linux still defaults to SMBv1
                        type = "SMBv1.0"
                        settings = tmp[1].split(",")
                        for setting in settings:
                            if setting.startswith("vers="):
                                type = setting.replace("vers=", "SMBv")
                    elif "nfs" in tmp[1]:
                        type = "NFS"

                    # Default is r/w
                    mode = _("r/w")
                    settings = tmp[1].split(",")
                    for setting in settings:
                        if setting == "ro":
                            mode = _("r/o")

                    uri = tmp[2]
                    parts = []
                    parts = tmp[2].split(':')
                    if parts[0] is "":
                        server = uri.split('/')[2]
                        uri = uri.strip()[1:]
                    else:
                        server = parts[0]

                    ipaddress = None
                    if server:
                        # Will fail on literal IPs
                        try:
                            # Try IPv6 first, as will Linux
                            if has_ipv6:
                                tmpaddress = None
                                tmpaddress = getaddrinfo(server, 0, AF_INET6)
                                if tmpaddress:
                                    ipaddress = "[" + list(
                                        tmpaddress)[0][4][0] + "]"
                            # Use IPv4 if IPv6 fails or is not present
                            if ipaddress is None:
                                tmpaddress = None
                                tmpaddress = getaddrinfo(server, 0, AF_INET)
                                if tmpaddress:
                                    ipaddress = list(tmpaddress)[0][4][0]
                        except:
                            pass

                    friendlyaddress = server
                    if ipaddress is not None and not ipaddress == server:
                        friendlyaddress = server + " (" + ipaddress + ")"
                    info['shares'].append({
                        "name": name,
                        "method": method,
                        "type": type,
                        "mode": mode,
                        "path": uri,
                        "host": server,
                        "ipaddress": ipaddress,
                        "friendlyaddress": friendlyaddress
                    })
    # TODO: fstab

    info['transcoding'] = False
    if (info['model'] in ("Uno4K", "Ultimo4K", "Solo4K", "Solo²", "Duo²",
                          "Solo SE", "Quad", "Quad Plus") or
            info['machinebuild'] in ('inihdp', 'hd2400', 'et10000', 'xpeedlx3',
                                     'ew7356', 'dags7356', 'formuler1')):
        if os.path.exists(
                eEnv.resolve(
                    '${libdir}/enigma2/python/Plugins/SystemPlugins/TransCodingSetup/plugin.pyo'
                )
        ) or os.path.exists(
                eEnv.resolve(
                    '${libdir}/enigma2/python/Plugins/SystemPlugins/TranscodingSetup/plugin.pyo'
                )
        ) or os.path.exists(
                eEnv.resolve(
                    '${libdir}/enigma2/python/Plugins/SystemPlugins/MultiTransCodingSetup/plugin.pyo'
                )):
            info['transcoding'] = True

    info['kinopoisk'] = False
    lang = ['ru', 'uk', 'lv', 'lt', 'et']
    for l in lang:
        if l in language.getLanguage():
            info['kinopoisk'] = True

    info['EX'] = ''

    if session:
        try:
            recs = NavigationInstance.instance.getRecordings()
            if recs:
                # only one stream and only TV
                from Plugins.Extensions.OpenWebif.controllers.stream import streamList
                s_name = ''
                s_cip = ''

                print "[OpenWebif] -D- streamList count '%d'" % len(streamList)
                if len(streamList) == 1:
                    from Screens.ChannelSelection import service_types_tv
                    from enigma import eEPGCache
                    epgcache = eEPGCache.getInstance()
                    serviceHandler = eServiceCenter.getInstance()
                    services = serviceHandler.list(
                        eServiceReference('%s ORDER BY name' %
                                          (service_types_tv)))
                    channels = services and services.getContent("SN", True)
                    s = streamList[0]
                    srefs = s.ref.toString()
                    for channel in channels:
                        if srefs == channel[0]:
                            s_name = channel[1] + ' (' + s.clientIP + ')'
                            break
                print "[OpenWebif] -D- s_name '%s'" % s_name

                for stream in streamList:
                    srefs = stream.ref.toString()
                    print "[OpenWebif] -D- srefs '%s'" % srefs

                sname = ''
                timers = []
                for timer in NavigationInstance.instance.RecordTimer.timer_list:
                    if timer.isRunning() and not timer.justplay:
                        timers.append(
                            timer.service_ref.getServiceName().replace(
                                '\xc2\x86', '').replace('\xc2\x87', ''))
                        print "[OpenWebif] -D- timer '%s'" % timer.service_ref.getServiceName(
                        )
                # only one recording
                if len(timers) == 1:
                    sname = timers[0]

                if sname == '' and s_name != '':
                    sname = s_name

                print "[OpenWebif] -D- recs count '%d'" % len(recs)

                for rec in recs:
                    feinfo = rec.frontendInfo()
                    frontendData = feinfo and feinfo.getAll(True)
                    if frontendData is not None:
                        cur_info = feinfo.getTransponderData(True)
                        if cur_info:
                            nr = frontendData['tuner_number']
                            info['tuners'][nr]['rec'] = getOrbitalText(
                                cur_info) + ' / ' + sname

            service = session.nav.getCurrentService()
            if service is not None:
                sname = service.info().getName()
                feinfo = service.frontendInfo()
                frontendData = feinfo and feinfo.getAll(True)
                if frontendData is not None:
                    cur_info = feinfo.getTransponderData(True)
                    if cur_info:
                        nr = frontendData['tuner_number']
                        info['tuners'][nr]['live'] = getOrbitalText(
                            cur_info) + ' / ' + sname
        except Exception, error:
            info['EX'] = error
Example #44
0
def localeInit():
    environ["LANGUAGE"] = language.getLanguage()[:2]
    bindtextdomain("TV3Play", resolveFilename(SCOPE_PLUGINS, \
     "Extensions/TV3Play/locale"))
def getKinopoisk():
    if language.getLanguage()[0:2] in ['ru', 'uk', 'lv', 'lt', 'et']:
        return True
    return False
Example #46
0
    def render(self, req):
        req.setHeader('Content-type', 'text/html')
        req.setHeader('charset', 'UTF-8')

        """ rendering server response """
        extraMeta = '<meta http-equiv="refresh" content="5">'
        key = None
        arg = None
        arg2 = None
        arg3 = None
        DMlist = []
        if len(req.args.keys()) >= 1:
            key = req.args.keys()[0]
            arg = req.args.get(key, None)[0]
            try:
                arg2 = req.args.get(key, None)[1]
            except Exception:
                pass
            try:
                arg3 = req.args.get(key, None)[2]
            except Exception:
                pass
            print('Received: "%s"="%s","%s","%s"' % (key, arg, arg2, arg3))

        if key is None or arg is None:
            if None != Plugins.Extensions.IPTVPlayer.components.iptvplayerwidget.gDownloadManager:
                DMlist = Plugins.Extensions.IPTVPlayer.components.iptvplayerwidget.gDownloadManager.getList()
        elif key == 'cmd' and arg == 'initDM':
            if None == Plugins.Extensions.IPTVPlayer.components.iptvplayerwidget.gDownloadManager:
                printDBG('============WebSite.py Initialize Download Manager============')
                Plugins.Extensions.IPTVPlayer.components.iptvplayerwidget.gDownloadManager = IPTVDMApi(2, int(config.plugins.iptvplayer.IPTVDMMaxDownloadItem.value))
                DMlist = Plugins.Extensions.IPTVPlayer.components.iptvplayerwidget.gDownloadManager.getList()
        elif key == 'cmd' and arg == 'runDM':
            if None != Plugins.Extensions.IPTVPlayer.components.iptvplayerwidget.gDownloadManager:
                Plugins.Extensions.IPTVPlayer.components.iptvplayerwidget.gDownloadManager.runWorkThread()
                DMlist = Plugins.Extensions.IPTVPlayer.components.iptvplayerwidget.gDownloadManager.getList()
        elif key == 'cmd' and arg == 'stopDM':
            if None != Plugins.Extensions.IPTVPlayer.components.iptvplayerwidget.gDownloadManager:
                Plugins.Extensions.IPTVPlayer.components.iptvplayerwidget.gDownloadManager.stopWorkThread()
                DMlist = Plugins.Extensions.IPTVPlayer.components.iptvplayerwidget.gDownloadManager.getList()
                extraMeta = '<meta http-equiv="refresh" content="10">'
        elif key == 'cmd' and arg == 'downloadsDM':
            if None != Plugins.Extensions.IPTVPlayer.components.iptvplayerwidget.gDownloadManager:
                DMlist = Plugins.Extensions.IPTVPlayer.components.iptvplayerwidget.gDownloadManager.getList()
        elif key == 'watchMovie' and os.path.exists(arg):
            return util.redirectTo("/file?action=download&file=%s" % urllib.quote(arg.decode('utf8', 'ignore').encode('utf-8')), req)
        elif key == 'stopDownload' and arg.isdigit():
            if None != Plugins.Extensions.IPTVPlayer.components.iptvplayerwidget.gDownloadManager:
                Plugins.Extensions.IPTVPlayer.components.iptvplayerwidget.gDownloadManager.stopDownloadItem(int(arg))
                DMlist = Plugins.Extensions.IPTVPlayer.components.iptvplayerwidget.gDownloadManager.getList()
        elif key == 'downloadAgain' and arg.isdigit():
            if None != Plugins.Extensions.IPTVPlayer.components.iptvplayerwidget.gDownloadManager:
                Plugins.Extensions.IPTVPlayer.components.iptvplayerwidget.gDownloadManager.continueDownloadItem(int(arg))
                DMlist = Plugins.Extensions.IPTVPlayer.components.iptvplayerwidget.gDownloadManager.getList()
        elif key == 'removeMovie' and arg.isdigit():
            if None != Plugins.Extensions.IPTVPlayer.components.iptvplayerwidget.gDownloadManager:
                Plugins.Extensions.IPTVPlayer.components.iptvplayerwidget.gDownloadManager.removeDownloadItem(int(arg))
                DMlist = Plugins.Extensions.IPTVPlayer.components.iptvplayerwidget.gDownloadManager.getList()

        elif key == 'cmd' and arg == 'arvchiveDM':
            if arg2 == 'deleteMovie' and os.path.exists(arg3):
                os.remove(arg3)
            elif arg2 == 'watchMovie' and os.path.exists(arg3):
                return util.redirectTo("/file?action=download&file=%s" % urllib.quote(arg3.decode('utf8', 'ignore').encode('utf-8')), req)
            if os.path.exists(config.plugins.iptvplayer.NaszaSciezka.value) and None != Plugins.Extensions.IPTVPlayer.components.iptvplayerwidget.gDownloadManager:
                files = os.listdir(config.plugins.iptvplayer.NaszaSciezka.value)
                files.sort(key=lambda x: x.lower())
                for item in files:
                    if item.startswith('.'):
                        continue # do not list hidden items
                    if item[-4:].lower() not in ['.flv', '.mp4']:
                        continue
                    fileName = os.path.join(config.plugins.iptvplayer.NaszaSciezka.value, item)
                    skip = False
                    for item2 in Plugins.Extensions.IPTVPlayer.components.iptvplayerwidget.gDownloadManager.getList():
                        if fileName == item2.fileName.replace('//', '/'):
                            skip = True
                            break
                    if skip:
                        continue
                    listItem = DMItemBase(url=fileName, fileName=fileName)
                    try:
                        listItem.downloadedSize = os.path.getsize(fileName)
                    except Exception:
                        listItem.downloadedSize = 0
                    listItem.status = DMHelper.STS.DOWNLOADED
                    listItem.downloadIdx = -1
                    DMlist.append(listItem)
                if len(DMlist) == 0:
                    listItem = DMItemBase(_('Nothing has been downloaded yet.'), '')
                    listItem.status = 'INFO'
                    DMlist.append(listItem)

        if len(DMlist) == 0 and arg != 'arvchiveDM':
            listItem = DMItemBase(_('No materials waiting in the downloader queue'), '')
            listItem.status = 'INFO'
            DMlist.append(listItem)
            extraMeta = ''
        elif len(DMlist) == 0 and arg in ['arvchiveDM', 'stopDM']:
            extraMeta = ''

        reloadScripts()
        html = '<html lang="%s">' % language.getLanguage()[:2]
        html += webParts.IncludeHEADER(extraMeta)
        html += webParts.Body().downloaderPageContent(Plugins.Extensions.IPTVPlayer.components.iptvplayerwidget.gDownloadManager, DMlist)
        return html
Example #47
0
 def __init__(self, session, title='', text=''):
     Screen.__init__(self, session)
     self.skin = Teclado_FIXED.skin
     self.keys_list = []
     self.shiftkeys_list = []
     self.lang = language.getLanguage()
     self.keys_list = [[
         u'EXIT', u'1', u'2', u'3', u'4', u'5', u'6', u'7', u'8', u'9',
         u'0', u'BACKSPACE'
     ],
                       [
                           '\xd0\x90', '\xd0\x91', '\xd0\x92', '\xd0\x93',
                           '\xd0\x94', '\xd0\x95', '\xd0\x96', '\xd0\x97',
                           '\xd0\x98', '\xd0\x99', '\xd0\x9a', '\xd0\x9b'
                       ],
                       [
                           '\xd0\x9c', '\xd0\x9d', '\xd0\x9e', '\xd0\x9f',
                           '\xd0\xa0', '\xd0\xa1', '\xd0\xa2', '\xd0\xa3',
                           '\xd0\xa4', '\xd0\xa5', '\xd0\xa6', '\xd0\xa7'
                       ],
                       [
                           '\xd0\xa8', '\xd0\xa9', '\xd0\xaa', '\xd0\xab',
                           '\xd0\xac', '\xd0\xad', '\xd0\xae', '\xd0\xaf',
                           u'.', u',', u'*', u'CLEAR'
                       ], [u'SHIFT', u'SPACE', u'OK']]
     self.shiftkeys_list = [[
         u'EXIT', u'!', u'"', u'\xa7', u'$', u'%', u'&', u'/', u'(', u')',
         u'=', u'BACKSPACE'
     ],
                            [
                                u'Q', u'W', u'E', u'R', u'T', u'Z', u'U',
                                u'I', u'O', u'P', u'?', u'#'
                            ],
                            [
                                u'A', u'S', u'D', u'F', u'G', u'H', u'J',
                                u'K', u'L', u"'", u';', u':'
                            ],
                            [
                                u'>', u'Y', u'X', u'C', u'V', u'B', u'N',
                                u'M', u'<', u'+', u'-', u'CLEAR'
                            ], [u'SHIFT', u'SPACE', u'OK']]
     self.shiftMode = False
     self.text = text
     self.selectedKey = 0
     self['header'] = Label(title)
     self['text'] = Label(self.text)
     self['list'] = VirtualKeyBoardList([])
     self['actions'] = ActionMap(
         ['OkCancelActions', 'WizardActions', 'ColorActions'], {
             'ok': self.okClicked,
             'cancel': self.exit,
             'left': self.left,
             'right': self.right,
             'up': self.up,
             'down': self.down,
             'red': self.exit,
             'yellow': self.backClicked,
             'green': self.ok,
             'blue': self.shiftClicked
         }, -2)
     self.onLayoutFinish.append(self.buildVirtualKeyBoard)
     self.max_key = 47 + len(self.keys_list[4])
Example #48
0
 def __init__(self, session, title='', **kwargs):
     Screen.__init__(self, session)
     self.setTitle(_('Virtual keyboard'))
     self.keys_list = []
     self.shiftkeys_list = []
     self.lang = language.getLanguage()
     self.nextLang = None
     self.shiftMode = False
     self.selectedKey = 0
     self.smsChar = None
     self.sms = NumericalTextInput(self.smsOK)
     self.key_bg = LoadPixmap(path=resolveFilename(
         SCOPE_CURRENT_SKIN, 'skin_default/vkey_bg.png'))
     self.key_sel = LoadPixmap(path=resolveFilename(
         SCOPE_CURRENT_SKIN, 'skin_default/vkey_sel.png'))
     self.key_backspace = LoadPixmap(path=resolveFilename(
         SCOPE_CURRENT_SKIN, 'skin_default/vkey_backspace.png'))
     self.key_all = LoadPixmap(path=resolveFilename(
         SCOPE_CURRENT_SKIN, 'skin_default/vkey_all.png'))
     self.key_clr = LoadPixmap(path=resolveFilename(
         SCOPE_CURRENT_SKIN, 'skin_default/vkey_clr.png'))
     self.key_esc = LoadPixmap(path=resolveFilename(
         SCOPE_CURRENT_SKIN, 'skin_default/vkey_esc.png'))
     self.key_ok = LoadPixmap(path=resolveFilename(
         SCOPE_CURRENT_SKIN, 'skin_default/vkey_ok.png'))
     self.key_shift = LoadPixmap(path=resolveFilename(
         SCOPE_CURRENT_SKIN, 'skin_default/vkey_shift.png'))
     self.key_shift_sel = LoadPixmap(path=resolveFilename(
         SCOPE_CURRENT_SKIN, 'skin_default/vkey_shift_sel.png'))
     self.key_space = LoadPixmap(path=resolveFilename(
         SCOPE_CURRENT_SKIN, 'skin_default/vkey_space.png'))
     self.key_left = LoadPixmap(path=resolveFilename(
         SCOPE_CURRENT_SKIN, 'skin_default/vkey_left.png'))
     self.key_right = LoadPixmap(path=resolveFilename(
         SCOPE_CURRENT_SKIN, 'skin_default/vkey_right.png'))
     self.keyImages = {
         'BACKSPACE': self.key_backspace,
         'ALL': self.key_all,
         'EXIT': self.key_esc,
         'OK': self.key_ok,
         'SHIFT': self.key_shift,
         'SPACE': self.key_space,
         'LEFT': self.key_left,
         'RIGHT': self.key_right
     }
     self.keyImagesShift = {
         'BACKSPACE': self.key_backspace,
         'CLEAR': self.key_clr,
         'EXIT': self.key_esc,
         'OK': self.key_ok,
         'SHIFT': self.key_shift_sel,
         'SPACE': self.key_space,
         'LEFT': self.key_left,
         'RIGHT': self.key_right
     }
     self['country'] = StaticText('')
     self['header'] = Label(title)
     self['text'] = Input(currPos=len(
         kwargs.get('text', '').decode('utf-8', 'ignore')),
                          allMarked=False,
                          **kwargs)
     self['list'] = VirtualKeyBoardList([])
     self['actions'] = NumberActionMap(
         [
             'OkCancelActions', 'WizardActions', 'ColorActions',
             'KeyboardInputActions', 'InputBoxActions', 'InputAsciiActions'
         ], {
             'gotAsciiCode': self.keyGotAscii,
             'ok': self.okClicked,
             'cancel': self.exit,
             'left': self.left,
             'right': self.right,
             'up': self.up,
             'down': self.down,
             'red': self.exit,
             'green': self.ok,
             'yellow': self.switchLang,
             'blue': self.shiftClicked,
             'deleteBackward': self.backClicked,
             'deleteForward': self.forwardClicked,
             'back': self.exit,
             'pageUp': self.cursorRight,
             'pageDown': self.cursorLeft,
             '1': self.keyNumberGlobal,
             '2': self.keyNumberGlobal,
             '3': self.keyNumberGlobal,
             '4': self.keyNumberGlobal,
             '5': self.keyNumberGlobal,
             '6': self.keyNumberGlobal,
             '7': self.keyNumberGlobal,
             '8': self.keyNumberGlobal,
             '9': self.keyNumberGlobal,
             '0': self.keyNumberGlobal
         }, -2)
     self.setLang()
     self.onExecBegin.append(self.setKeyboardModeAscii)
     self.onLayoutFinish.append(self.buildVirtualKeyBoard)
     self.onClose.append(self.__onClose)
def localeInit():
    environ["LANGUAGE"] = language.getLanguage()[:2]
    gettext.bindtextdomain(
        "YouTube", resolveFilename(SCOPE_PLUGINS, "Extensions/YouTube/locale"))
Example #50
0
def localeInit():
    lang = language.getLanguage()[:2] # getLanguage returns e.g. "fi_FI" for "language_country"
    os.environ["LANGUAGE"] = lang # Enigma doesn't set this (or LC_ALL, LC_MESSAGES, LANG). gettext needs it!
    printDBG(PluginLanguageDomain + " set language to " + lang)
    gettext.bindtextdomain(PluginLanguageDomain, resolveFilename(SCOPE_PLUGINS, PluginLanguagePath))
def localeInit():
    environ['LANGUAGE'] = language.getLanguage()[:2]
    bindtextdomain('PECamManager', resolveFilename(SCOPE_PLUGINS, 'Extensions/PECamManager/locale'))
Example #52
0
 def getLanguage(self, lang=language.getLanguage()):
     if self.current_lang_idx == 1:
         return "de"
     return "en"
Example #53
0
    def __init__(self, nextFunc=None, handleTimeout=True, search=False):
        self.mapping = []
        self.lang = language.getLanguage()
        self.useableChars = None
        self.nextFunction = nextFunc

        if handleTimeout:
            self.timer = eTimer()
            self.timer_conn = self.timer.timeout.connect(self.timeout)
        else:
            self.timer_conn = None
            self.timer = None
        self.lastKey = -1
        self.pos = -1

        if search:
            if isinstance(search, basestring):
                self.mapping.append(unicode(search) + u"0")  # 0
            else:
                self.mapping.append(u"%_0")  # 1
            self.mapping.append(u" 1")  # 1
            self.mapping.append(u"abc2")  # 2
            self.mapping.append(u"def3")  # 3
            self.mapping.append(u"ghi4")  # 4
            self.mapping.append(u"jkl5")  # 5
            self.mapping.append(u"mno6")  # 6
            self.mapping.append(u"pqrs7")  # 7
            self.mapping.append(u"tuv8")  # 8
            self.mapping.append(u"wxyz9")  # 9
            return

        if self.lang == 'de_DE':
            self.mapping.append(u"0,?!&@=*'+\"()$~")  # 0
            self.mapping.append(u" 1.:/-_")  # 1
            self.mapping.append(u"abcä2ABCÄ")  # 2
            self.mapping.append(u"def3DEF")  # 3
            self.mapping.append(u"ghi4GHI")  # 4
            self.mapping.append(u"jkl5JKL")  # 5
            self.mapping.append(u"mnoö6MNOÖ")  # 6
            self.mapping.append(u"pqrsß7PQRSß")  # 7
            self.mapping.append(u"tuvü8TUVÜ")  # 8
            self.mapping.append(u"wxyz9WXYZ")  # 9
        elif self.lang == 'es_ES':
            self.mapping.append(u"0,?!&@=*'+\"()$~")  # 0
            self.mapping.append(u" 1.:/-_")  # 1
            self.mapping.append(u"abcáà2ABCÁÀ")  # 2
            self.mapping.append(u"deéèf3DEFÉÈ")  # 3
            self.mapping.append(u"ghiíì4GHIÍÌ")  # 4
            self.mapping.append(u"jkl5JKL")  # 5
            self.mapping.append(u"mnñoóò6MNÑOÓÒ")  # 6
            self.mapping.append(u"pqrs7PQRS")  # 7
            self.mapping.append(u"tuvúù8TUVÚÙ")  # 8
            self.mapping.append(u"wxyz9WXYZ")  # 9
        if self.lang in ('sv_SE', 'fi_FI'):
            self.mapping.append(u"0,?!&@=*'+\"()$~")  # 0
            self.mapping.append(u" 1.:/-_")  # 1
            self.mapping.append(u"abcåä2ABCÅÄ")  # 2
            self.mapping.append(u"defé3DEFÉ")  # 3
            self.mapping.append(u"ghi4GHI")  # 4
            self.mapping.append(u"jkl5JKL")  # 5
            self.mapping.append(u"mnoö6MNOÖ")  # 6
            self.mapping.append(u"pqrs7PQRS")  # 7
            self.mapping.append(u"tuv8TUV")  # 8
            self.mapping.append(u"wxyz9WXYZ")  # 9
        elif self.lang in ('cs_CZ', 'sk_SK'):
            self.mapping.append(u"0,?'+\"()@$!=&*")  # 0
            self.mapping.append(u" 1.:/-_")  # 1
            self.mapping.append(u"abc2áäčABCÁÄČ")  # 2
            self.mapping.append(u"def3ďéěDEFĎÉĚ")  # 3
            self.mapping.append(u"ghi4íGHIÍ")  # 4
            self.mapping.append(u"jkl5ľĺJKLĽĹ")  # 5
            self.mapping.append(u"mno6ňóöôMNOŇÓÖÔ")  # 6
            self.mapping.append(u"pqrs7řŕšPQRSŘŔŠ")  # 7
            self.mapping.append(u"tuv8ťúůüTUVŤÚŮÜ")  # 8
            self.mapping.append(u"wxyz9ýžWXYZÝŽ")  # 9
        elif self.lang == 'ru_RU':
            self.mapping.append(u"0,?!&@=*'+\"()$~")  # 0
            self.mapping.append(u" 1.:/-_")  # 1
            self.mapping.append(u"abc2ABCабвгАБВГ")  # 2
            self.mapping.append(u"def3DEFдежзДЕЖЗ")  # 3
            self.mapping.append(u"ghi4GHIийклИЙКЛ")  # 4
            self.mapping.append(u"jkl5JKLмнопМНОП")  # 5
            self.mapping.append(u"mno6MNOрстуРСТУ")  # 6
            self.mapping.append(u"pqrs7PQRSфхцчФХЦЧ")  # 7
            self.mapping.append(u"tuv8TUVшщъыШЩЪЫ")  # 8
            self.mapping.append(u"wxyz9WXYZьэюяЬЭЮЯ")  # 9
        else:
            self.mapping.append(u"0,?!&@=*'+\"()$~")  # 0
            self.mapping.append(u" 1.:/-_")  # 1
            self.mapping.append(u"abc2ABC")  # 2
            self.mapping.append(u"def3DEF")  # 3
            self.mapping.append(u"ghi4GHI")  # 4
            self.mapping.append(u"jkl5JKL")  # 5
            self.mapping.append(u"mno6MNO")  # 6
            self.mapping.append(u"pqrs7PQRS")  # 7
            self.mapping.append(u"tuv8TUV")  # 8
            self.mapping.append(u"wxyz9WXYZ")  # 9
def localeInit():
    lang = language.getLanguage()[:2]
    os.environ["LANGUAGE"] = lang
    print("[NetworkServer] set language to ", lang)
    gettext.bindtextdomain(PluginLanguageDomain,
                           resolveFilename(SCOPE_PLUGINS, PluginLanguagePath))
Example #55
0
    def render(self, req):
        reloadScripts()

        """ rendering server response """
        self.key = None
        self.arg = None
        self.searchType = None
        html = ''
        extraMeta = ''
        MenuStatusMSG = ''

        if len(req.args.keys()) > 0:
            self.key = req.args.keys()[0]
            self.arg = req.args.get(self.key, None)[0]
            if len(req.args.keys()) > 1:
                self.searchType = req.args.keys()[1]
                print("useHostPage received: '%s'='%s' searchType='%s'" % (self.key, str(self.arg), self.searchType))
            else:
                print("useHostPage received: '%s'='%s'" % (self.key, str(self.arg)))

        if self.key is None and isActiveHostInitiated() == False:
            return util.redirectTo("/iptvplayer/hosts", req)
        elif self.key == 'cmd' and self.arg == 'hosts':
            initActiveHost(None)
            return util.redirectTo("/iptvplayer/hosts", req)
        elif self.key == 'cmd' and self.arg == 'stopThread':
            stopRunningThread('doUseHostAction')
            initActiveHost(None)
            setNewHostListShown(False)
            return util.redirectTo("/iptvplayer/hosts", req)
        elif self.key == 'cmd' and self.arg == 'InitList':
            settings.retObj = settings.activeHost['Obj'].getInitList()
            settings.activeHost['PathLevel'] = 1
            settings.activeHost['ListType'] = 'ListForItem'
            settings.activeHost['Status'] = ''
            settings.currItem = {}
            setNewHostListShown(False)
        elif self.key == 'cmd' and self.arg == 'PreviousList':
            settings.retObj = settings.activeHost['Obj'].getPrevList()
            settings.activeHost['PathLevel'] -= 1
            settings.activeHost['ListType'] = 'ListForItem'
            settings.currItem = {}
            settings.activeHost['Status'] = settings.activeHost['Status'].rpartition('>')[0]
            setNewHostListShown(False)
        #long running commands
        elif isNewHostListShown() and not isThreadRunning('doUseHostAction'):
            self.Counter = 0
            setNewHostListShown(False)
            webThreads.doUseHostAction(self.key, self.arg, self.searchType).start()
            extraMeta = '<meta http-equiv="refresh" content="1">'
            MenuStatusMSG = _('Initiating data, please wait')
        elif isThreadRunning('doUseHostAction'):
            self.Counter += 1
            extraMeta = '<meta http-equiv="refresh" content="1">'
            MenuStatusMSG = _('Loading data, please wait (%d)') % self.Counter

        req.setHeader('Content-type', 'text/html')
        req.setHeader('charset', 'UTF-8')

        html += '<html lang="%s">' % language.getLanguage()[:2]
        html += webParts.IncludeHEADER(extraMeta)
        html += webParts.Body().useHostPageContent(MenuStatusMSG, True)
        return html
Example #56
0
def localeInit():
	lang = language.getLanguage()[:2] # getLanguage returns e.g. "fi_FI" for "language_country"
	os_environ["LANGUAGE"] = lang # Enigma doesn't set this (or LC_ALL, LC_MESSAGES, LANG). gettext needs it!
	gettext.bindtextdomain("MediaDownloader", resolveFilename(SCOPE_PLUGINS, "Extensions/MediaDownloader/locale"))
Example #57
0
    def render(self, req):
        req.setHeader('Content-type', 'text/html')
        req.setHeader('charset', 'UTF-8')

        if len(req.args.keys()) > 0:
            key = req.args.keys()[0]
            arg = req.args.get(key, None)[0]
            if len(req.args.keys()) > 1:
                if req.args.keys()[1] == 'type':
                    if req.args.get(req.args.keys()[1], 'ALL')[0] == '':
                        settings.GlobalSearchTypes = ["VIDEO", "AUDIO"]
                    elif req.args.get(req.args.keys()[1], 'ALL')[0] == '':
                        settings.GlobalSearchTypes = ["AUDIO"]
                    else:
                        settings.GlobalSearchTypes = ["VIDEO"]
                arg = req.args.get(key, None)[0]
            #print('searchPage received: ', key, '=' , arg)
        else:
            key = None
            arg = None

        """ rendering server response """
        reloadScripts()

        if key is None or arg is None or arg == '':
            if isThreadRunning('doGlobalSearch'):
                stopRunningThread('doGlobalSearch')
                self.Counter += 1
                extraMeta = '<meta http-equiv="refresh" content="1">'
                MenuStatusMSG = _('Waiting search thread to stop, please wait (%d)') % (self.Counter)
            else:
                MenuStatusMSG = ''
                extraMeta = ''
                settings.GlobalSearchListShown = True
            ShowCancelButton = False
        elif key == 'cmd' and arg == 'stopThread':
            stopRunningThread('doGlobalSearch')
            self.Counter = 0
            return util.redirectTo("/iptvplayer/search", req)
        elif not isThreadRunning('doGlobalSearch') and key == 'GlobalSearch' and settings.GlobalSearchListShown == True:
            settings.GlobalSearchListShown = False
            settings.GlobalSearchQuery = arg
            webThreads.doGlobalSearch().start()
            self.Counter = 0
            extraMeta = '<meta http-equiv="refresh" content="1">'
            MenuStatusMSG = _('Initiating data, please wait')
            ShowCancelButton = False
            return util.redirectTo("/iptvplayer/search?doGlobalSearch=1", req)
        elif isThreadRunning('doGlobalSearch'):
            self.Counter += 1
            extraMeta = '<meta http-equiv="refresh" content="1">'
            if settings.searchingInHost is None:
                MenuStatusMSG = _('Searching, please wait (%d)') % (self.Counter)
            else:
                MenuStatusMSG = _('Searching in %s, please wait (%d)') % (settings.searchingInHost, self.Counter)
            ShowCancelButton = True
        elif not isThreadRunning('doGlobalSearch') and key == 'doGlobalSearch':
            return util.redirectTo("/iptvplayer/search", req)
        else:
            ShowCancelButton = False
            MenuStatusMSG = ''
            extraMeta = ''
            settings.GlobalSearchListShown = False

        html = '<html lang="%s">' % language.getLanguage()[:2]
        html += webParts.IncludeHEADER(extraMeta)
        html += webParts.Body().SearchPageContent(MenuStatusMSG, ShowCancelButton)
        return html
Example #58
0
def localeInit():
    lang = language.getLanguage()[:2]
    environ["LANGUAGE"] = lang
    gettext.bindtextdomain("plugin-AlternativeSoftCamManager", \
        resolveFilename(SCOPE_PLUGINS, 'Extensions/AlternativeSoftCamManager/locale'))
    def checkTraficLight(self):
        self.activityTimer.callback.remove(self.checkTraficLight)
        self.activityTimer.start(100, False)
        status = None
        message = None
        abort = False
        picon = MessageBox.TYPE_ERROR
        url = "https://openvision.tech/trafficlight"

        # try to fetch the trafficlight json from the website
        try:
            status = dict(json.load(urlopen(url, timeout=5)))
            print("[SoftwareUpdate] status is: ", status)
        except:
            pass

        # process the status fetched
        if status is not None:

            try:
                # get image version and machine name
                machine = getBoxType()
                version = open("/etc/issue").readlines()[-2].split()[1]

                # do we have an entry for this version
                if version in status and machine in status[version]['machines']:
                    if 'abort' in status[version]:
                        abort = status[version]['abort']
                    if 'from' in status[version]:
                        starttime = datetime.datetime.strptime(
                            status[version]['from'], '%Y%m%d%H%M%S')
                    else:
                        starttime = datetime.datetime.now()
                    if 'to' in status[version]:
                        endtime = datetime.datetime.strptime(
                            status[version]['to'], '%Y%m%d%H%M%S')
                    else:
                        endtime = datetime.datetime.now()
                    if (starttime <= datetime.datetime.now()
                            and endtime >= datetime.datetime.now()):
                        message = str(status[version]['message'])

                # check if we have per-language messages
                if type(message) is dict:
                    lang = language.getLanguage()
                    if lang in message:
                        message = message[lang]
                    elif 'en_EN' in message:
                        message = message['en_EN']
                    else:
                        message = _(
                            "The current image might not be stable.\nFor more information see %s."
                        ) % ("openvision.tech")

            except Exception as e:
                print("[SoftwareUpdate] status error: ", str(e))
                message = _(
                    "The current image might not be stable.\nFor more information see %s."
                ) % ("openvision.tech")

        # or display a generic warning if fetching failed
        else:
            message = _(
                "The status of the current image could not be checked because %s can not be reached."
            ) % ("openvision.tech")

        # show the user the message first
        if message is not None:
            if abort:
                self.session.openWithCallback(self.close,
                                              MessageBox,
                                              message,
                                              type=MessageBox.TYPE_ERROR,
                                              picon=picon)
            else:
                message += "\n\n" + _("Do you want to update your receiver?")
                self.session.openWithCallback(self.startActualUpdate,
                                              MessageBox,
                                              message,
                                              picon=picon)

        # no message, continue with the update
        else:
            self.startActualUpdate(True)
Example #60
0
def localeInit():
    environ["LANGUAGE"] = language.getLanguage()[:2]
    bindtextdomain("ServiceApp", resolveFilename(SCOPE_PLUGINS, \
     "SystemPlugins/ServiceApp/locale"))