From 6b924837dedad17ea56ca37075e760828469abcb Mon Sep 17 00:00:00 2001 From: ghost Date: Mon, 11 May 2009 11:42:51 +0200 Subject: show both language codes / languages when two language codes are transmitted for one single pid --- lib/python/Screens/InfoBarGenerics.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'lib/python') diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py index c1618184..9adaa6db 100644 --- a/lib/python/Screens/InfoBarGenerics.py +++ b/lib/python/Screens/InfoBarGenerics.py @@ -1631,12 +1631,20 @@ class InfoBarAudioSelection: idx = 0 while idx < n: + cnt = 0 i = audio.getTrackInfo(idx) - language = i.getLanguage() + languages = i.getLanguage().split('/') description = i.getDescription() + language = "" - if LanguageCodes.has_key(language): - language = LanguageCodes[language][0] + for lang in languages: + if cnt: + language += ' / ' + if LanguageCodes.has_key(lang): + language += LanguageCodes[lang][0] + else: + language += lang + cnt += 1 if len(description): description += " (" + language + ")" -- cgit v1.2.3 From 92554c8325411acd3acaec7c15be420f180907c4 Mon Sep 17 00:00:00 2001 From: Fraxinas Date: Mon, 11 May 2009 13:08:52 +0200 Subject: cyclic refresh of duration (fixes length of streams being reported as 0:00) --- lib/python/Components/Converter/ServicePosition.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'lib/python') diff --git a/lib/python/Components/Converter/ServicePosition.py b/lib/python/Components/Converter/ServicePosition.py index b92af40b..56a6db67 100644 --- a/lib/python/Components/Converter/ServicePosition.py +++ b/lib/python/Components/Converter/ServicePosition.py @@ -21,11 +21,6 @@ class ServicePosition(Converter, Poll, object): self.showHours = 'ShowHours' in args self.showNoSeconds = 'ShowNoSeconds' in args - if self.detailed: - self.poll_interval = 100 - else: - self.poll_interval = 500 - if type == "Length": self.type = self.TYPE_LENGTH elif type == "Position": @@ -37,7 +32,14 @@ class ServicePosition(Converter, Poll, object): else: raise ElementError("type must be {Length|Position|Remaining|Gauge} with optional arguments {Negate|Detailed|ShowHours|ShowNoSeconds} for ServicePosition converter") - self.poll_enabled = self.type != self.TYPE_LENGTH + if self.detailed: + self.poll_interval = 100 + elif self.type == self.TYPE_LENGTH: + self.poll_interval = 2000 + else: + self.poll_interval = 500 + + self.poll_enabled = True def getSeek(self): s = self.source.service -- cgit v1.2.3 From b4f81157894ee05e23eafa5ff6accbdc280d9cc6 Mon Sep 17 00:00:00 2001 From: Fraxinas Date: Mon, 11 May 2009 22:05:13 +0200 Subject: move http progress downloader class into own tool py --- .../Plugins/SystemPlugins/NFIFlash/downloader.py | 52 +-------------------- lib/python/Tools/Downloader.py | 53 ++++++++++++++++++++++ lib/python/Tools/Makefile.am | 3 +- 3 files changed, 56 insertions(+), 52 deletions(-) create mode 100644 lib/python/Tools/Downloader.py (limited to 'lib/python') diff --git a/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py b/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py index c91c8588..6d404cf2 100644 --- a/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py +++ b/lib/python/Plugins/SystemPlugins/NFIFlash/downloader.py @@ -16,6 +16,7 @@ from enigma import eConsoleAppContainer, eListbox, gFont, eListboxPythonMultiCon from os import system, remove import re import urllib +from Tools.Downloader import downloadWithProgress from twisted.web import client from twisted.internet import reactor, defer from twisted.python import failure @@ -24,57 +25,6 @@ from Plugins.SystemPlugins.Hotplug.plugin import hotplugNotifier class UserRequestedCancel(Exception): pass -class HTTPProgressDownloader(client.HTTPDownloader): - def __init__(self, url, outfile, headers=None): - client.HTTPDownloader.__init__(self, url, outfile, headers=headers, agent="Dreambox .NFI Download Plugin") - self.status = None - self.progress_callback = None - self.deferred = defer.Deferred() - - def noPage(self, reason): - if self.status == "304": - print reason.getErrorMessage() - client.HTTPDownloader.page(self, "") - else: - client.HTTPDownloader.noPage(self, reason) - - def gotHeaders(self, headers): - if self.status == "200": - if headers.has_key("content-length"): - self.totalbytes = int(headers["content-length"][0]) - else: - self.totalbytes = 0 - self.currentbytes = 0.0 - return client.HTTPDownloader.gotHeaders(self, headers) - - def pagePart(self, packet): - if self.status == "200": - self.currentbytes += len(packet) - if self.totalbytes and self.progress_callback: - self.progress_callback(self.currentbytes, self.totalbytes) - return client.HTTPDownloader.pagePart(self, packet) - - def pageEnd(self): - return client.HTTPDownloader.pageEnd(self) - -class downloadWithProgress: - def __init__(self, url, outputfile, contextFactory=None, *args, **kwargs): - scheme, host, port, path = client._parse(url) - self.factory = HTTPProgressDownloader(url, outputfile, *args, **kwargs) - self.connection = reactor.connectTCP(host, port, self.factory) - - def start(self): - return self.factory.deferred - - def stop(self): - print "[stop]" - self.connection.disconnect() - #self.factory.deferred.errback(failure.Failure(UserRequestedCancel)) - - def addProgress(self, progress_callback): - print "[addProgress]" - self.factory.progress_callback = progress_callback - class Feedlist(MenuList): def __init__(self, list=[], enableWrapAround = False): MenuList.__init__(self, list, enableWrapAround, eListboxPythonMultiContent) diff --git a/lib/python/Tools/Downloader.py b/lib/python/Tools/Downloader.py new file mode 100644 index 00000000..ffc24c1c --- /dev/null +++ b/lib/python/Tools/Downloader.py @@ -0,0 +1,53 @@ +from twisted.web import client +from twisted.internet import reactor, defer +from twisted.python import failure + +class HTTPProgressDownloader(client.HTTPDownloader): + def __init__(self, url, outfile, headers=None): + client.HTTPDownloader.__init__(self, url, outfile, headers=headers, agent="Dreambox HTTP Downloader") + self.status = None + self.progress_callback = None + self.deferred = defer.Deferred() + + def noPage(self, reason): + if self.status == "304": + print reason.getErrorMessage() + client.HTTPDownloader.page(self, "") + else: + client.HTTPDownloader.noPage(self, reason) + + def gotHeaders(self, headers): + if self.status == "200": + if headers.has_key("content-length"): + self.totalbytes = int(headers["content-length"][0]) + else: + self.totalbytes = 0 + self.currentbytes = 0.0 + return client.HTTPDownloader.gotHeaders(self, headers) + + def pagePart(self, packet): + if self.status == "200": + self.currentbytes += len(packet) + if self.totalbytes and self.progress_callback: + self.progress_callback(self.currentbytes, self.totalbytes) + return client.HTTPDownloader.pagePart(self, packet) + + def pageEnd(self): + return client.HTTPDownloader.pageEnd(self) + +class downloadWithProgress: + def __init__(self, url, outputfile, contextFactory=None, *args, **kwargs): + scheme, host, port, path = client._parse(url) + self.factory = HTTPProgressDownloader(url, outputfile, *args, **kwargs) + self.connection = reactor.connectTCP(host, port, self.factory) + + def start(self): + return self.factory.deferred + + def stop(self): + print "[stop]" + self.connection.disconnect() + + def addProgress(self, progress_callback): + print "[addProgress]" + self.factory.progress_callback = progress_callback diff --git a/lib/python/Tools/Makefile.am b/lib/python/Tools/Makefile.am index fd23bd12..e7904d66 100644 --- a/lib/python/Tools/Makefile.am +++ b/lib/python/Tools/Makefile.am @@ -4,4 +4,5 @@ install_PYTHON = \ FuzzyDate.py XMLTools.py Directories.py NumericalTextInput.py \ KeyBindings.py BoundFunction.py ISO639.py Notifications.py __init__.py \ RedirectOutput.py DreamboxHardware.py Import.py Event.py CList.py \ - LoadPixmap.py Profile.py HardwareInfo.py Transponder.py ASCIItranslit.py + LoadPixmap.py Profile.py HardwareInfo.py Transponder.py ASCIItranslit.py \ + Downloader.py -- cgit v1.2.3 From 59029b9605036df707b2ae5f3a22fb38a054e358 Mon Sep 17 00:00:00 2001 From: acid-burn Date: Thu, 14 May 2009 16:45:20 +0200 Subject: make titles translateable whitespace cleanups --- .../CommonInterfaceAssignment/plugin.py | 36 +++++++++++++++------- 1 file changed, 25 insertions(+), 11 deletions(-) mode change 100644 => 100755 lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py (limited to 'lib/python') diff --git a/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py b/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py old mode 100644 new mode 100755 index 4c8167d4..6e444b7b --- a/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py +++ b/lib/python/Plugins/SystemPlugins/CommonInterfaceAssignment/plugin.py @@ -18,8 +18,8 @@ from os import system, path as os_path class CIselectMainMenu(Screen): skin = """ - - + + @@ -54,7 +54,7 @@ class CIselectMainMenu(Screen): for slot in range(NUM_CI): state = eDVBCI_UI.getInstance().getState(slot) if state == 0: - appname = _("Slot %d") %(slot+1) + " - " + _("no module") + appname = _("Slot %d") %(slot+1) + " - " + _("no module found") elif state == 1: appname = _("Slot %d") %(slot+1) + " - " + _("init modules") elif state == 2: @@ -67,6 +67,10 @@ class CIselectMainMenu(Screen): menuList.list = self.list menuList.l.setList(self.list) self["CiList"] = menuList + self.onShown.append(self.setWindowTitle) + + def setWindowTitle(self): + self.setTitle(_("CI assignment")) def greenPressed(self): cur = self["CiList"].getCurrent() @@ -100,7 +104,7 @@ class CIselectMainMenu(Screen): class CIconfigMenu(Screen): skin = """ - + @@ -121,7 +125,7 @@ class CIconfigMenu(Screen): Screen.__init__(self, session) self.ci_slot=ci_slot self.filename="/etc/enigma2/ci"+str(self.ci_slot)+".xml" - + self["key_red"] = StaticText(_("delete")) self["key_green"] = StaticText(_("add Service")) self["key_yellow"] = StaticText(_("add Provider")) @@ -138,7 +142,7 @@ class CIconfigMenu(Screen): "ok": self.okPressed, "cancel": self.cancel }, -1) - + print "[CI_Wizzard_Config] Configuring CI Slots : %d " % self.ci_slot i=0 @@ -163,6 +167,10 @@ class CIconfigMenu(Screen): # if config mode !=advanced autoselect any caid if config.usage.setup_level.index <= 1: # advanced self.selectedcaid=self.caidlist + self.onShown.append(self.setWindowTitle) + + def setWindowTitle(self): + self.setTitle(_("CI assignment")) def redPressed(self): self.delete() @@ -197,7 +205,7 @@ class CIconfigMenu(Screen): service_name = service_ref.getServiceName() if find_in_list(self.servicelist, service_name, 0)==False: split_ref=service_ref.ref.toString().split(":") - if split_ref[0] == "1": #== dvb service und nicht muell von None + if split_ref[0] == "1":#== dvb service und nicht muell von None self.servicelist.append( (service_name , ConfigNothing(), 0, service_ref.ref.toString()) ) self["ServiceList"].l.setList(self.servicelist) @@ -301,7 +309,7 @@ class CIconfigMenu(Screen): class easyCIconfigMenu(CIconfigMenu): skin = """ - + @@ -317,7 +325,7 @@ class easyCIconfigMenu(CIconfigMenu): ci=ci_slot CIconfigMenu.__init__(self, session, ci_slot) self.skin = easyCIconfigMenu.skin - + self["actions"] = ActionMap(["ColorActions","SetupActions"], { "green": self.greenPressed, @@ -327,7 +335,7 @@ class easyCIconfigMenu(CIconfigMenu): "ok": self.okPressed, "cancel": self.cancel }, -1) - + def bluePressed(self): print "do nothing" @@ -341,7 +349,7 @@ class CAidSelect(Screen): """ - + def __init__(self, session, list, selected_caids): self.skin = CAidSelect.skin Screen.__init__(self, session) @@ -365,6 +373,10 @@ class CAidSelect(Screen): "green": self.greenPressed, "red": self.cancel }, -1) + self.onShown.append(self.setWindowTitle) + + def setWindowTitle(self): + self.setTitle(_("select CAId's")) def greenPressed(self): list = self.list.getSelectionsList() @@ -411,6 +423,7 @@ class myProviderSelection(ChannelSelectionBase): def __onExecCallback(self): self.showSatellites() + self.setTitle(_("Select provider to add...")) def channelSelected(self): # just return selected service ref = self.getCurrentSelection() @@ -516,6 +529,7 @@ class myChannelSelection(ChannelSelectionBase): def __onExecCallback(self): self.setModeTv() + self.setTitle(_("Select service to add...")) def doNothing(self): print "nothing to do..." -- cgit v1.2.3