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)
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)
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"))
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
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
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")
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/"))
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
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)
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
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)
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/"))
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)
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")
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)
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)
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
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)
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=")"
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)
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)
def localeInit(): environ["LANGUAGE"] = language.getLanguage()[:2] bindtextdomain("MountManager", resolveFilename(SCOPE_PLUGINS, \ "SystemPlugins/MountManager/locale"))
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
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(): lang = language.getLanguage()[:2] os_environ["LANGUAGE"] = lang gettext.bindtextdomain("PluginHider", resolveFilename(SCOPE_PLUGINS, "Extensions/PluginHider/locale"))
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
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
def getDefaultEncoding(): if 'de' in language.getLanguage(): return 'ISO8859-15' return 'UTF-8'
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
def setEPGLanguage(): print "language set to", language.getLanguage() eServiceEvent.setEPGLanguage(language.getLanguage())
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']:
def localeInit(): lang = language.getLanguage()[:2] environ["LANGUAGE"] = lang gettext.bindtextdomain(PluginLanguageDomain, PluginLanguagePath)
def localeInit(): lang = language.getLanguage()[:2] os.environ["LANGUAGE"] = lang gettext.bindtextdomain(PluginLanguageDomain, resolveFilename(SCOPE_PLUGINS, PluginLanguagePath))
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
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
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
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])
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"))
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'))
def getLanguage(self, lang=language.getLanguage()): if self.current_lang_idx == 1: return "de" return "en"
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))
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
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"))
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
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)
def localeInit(): environ["LANGUAGE"] = language.getLanguage()[:2] bindtextdomain("ServiceApp", resolveFilename(SCOPE_PLUGINS, \ "SystemPlugins/ServiceApp/locale"))