+#include <lib/base/etrace.h>
#include <lib/driver/rcsdl.h>
//#include <lib/actions/action.h>
#include <lib/base/init.h>
void eSDLInputDevice::handleCode(long arg)
{
+ D_ENTER();
+
const SDL_KeyboardEvent *event = (const SDL_KeyboardEvent *)arg;
const SDL_keysym *key = &event->keysym;
int km = input->getKeyboardMode();
if (km == eRCInput::kmNone) {
code = translateKey(key->sym);
+ D_PRINT("translated code: %d", code);
} else {
- // ASCII keys should only generate key press events
- if (flags == eRCKey::flagBreak)
- return;
-
- eDebug("unicode=%04x scancode=%02x", m_unicode, key->scancode);
- if (m_unicode & 0xff80) {
- eDebug("SDL: skipping unicode character");
- return;
- }
- code = m_unicode & ~0xff80;
- // unicode not set...!? use key symbol
- if (code == 0) {
- // keysym is ascii
- if (key->sym >= 128) {
- eDebug("SDL: cannot emulate ASCII");
- return;
- }
- eDebug("SDL: emulate ASCII");
+ code = m_unicode;
+ D_PRINT("native virtual code: %d / sym: %d", code, key->sym);
+ if ((code == 0) && (key->sym < 128)) {
code = key->sym;
+ D_PRINT("ASCII code: %u", code);
}
- if (km == eRCInput::kmAscii) {
- // skip ESC c or ESC '[' c
- if (m_escape) {
- if (code != '[')
- m_escape = false;
- return;
- }
- if (code == SDLK_ESCAPE)
- m_escape = true;
+ if ((km == eRCInput::kmAscii) &&
+ ((code < SDLK_SPACE) ||
+ (code == 0x7e) ||
+ (code == SDLK_DELETE) ||
+ (code > 255))) {
+ code = translateKey(key->sym);
+ } else {
+ // ASCII keys should only generate key press events
+ if (flags == eRCKey::flagBreak)
+ D_RETURN();
- if ((code < SDLK_SPACE) ||
- (code == 0x7e) || // really?
- (code == SDLK_DELETE))
- return;
+ if (km == eRCInput::kmAscii) {
+ // skip ESC c or ESC '[' c
+ if (m_escape) {
+ if (code != '[')
+ m_escape = false;
+ D_RETURN();
+ }
+ if (code == SDLK_ESCAPE)
+ m_escape = true;
+ }
+ flags |= eRCKey::flagAscii;
}
- flags |= eRCKey::flagAscii;
}
- eDebug("SDL code=%d flags=%d", code, flags);
+ D_PRINT("code=%d (%#x) flags=%d (%#x)", code, code, flags, flags);
input->keyPressed(eRCKey(this, code, flags));
+ D_RETURN();
}
const char *eSDLInputDevice::getDescription() const
{
eDebug("---- opening lame channel db");
FILE *f=fopen(file, "rt");
- if (!f && strcmp(file, eEnv::resolve("${sysconfdir}/enigma2/lamedb").c_str()) == 0)
- {
- struct stat s;
- if ( !stat("lamedb", &s) )
- {
- if ( !stat(eEnv::resolve("${sysconfdir}/enigma2").c_str(), &s) )
- {
- rename("lamedb", eEnv::resolve("${sysconfdir}/enigma2/lamedb").c_str());
- reloadServicelist();
- }
- }
+ if (!f) {
+ eDebug("can't open %s: %m", file);
return;
}
+
char line[256];
int version=3;
if ((!fgets(line, 256, f)) || sscanf(line, "eDVB services /%d/", &version) != 1)
p+=path;
eDebug("loading bouquet... %s", p.c_str());
FILE *fp=fopen(p.c_str(), "rt");
- int entries=0;
if (!fp)
{
- struct stat s;
- if ( !stat(path, &s) )
- {
- rename(path, p.c_str() );
- loadBouquet(path);
- return;
- }
- eDebug("failed to open.");
- if ( strstr(path, "bouquets.tv") )
+ eDebug("can't open %s: %m", p.c_str());
+ if (!strcmp(path, "bouquets.tv"))
{
eDebug("recreate bouquets.tv");
bouquet.m_bouquet_name="Bouquets (TV)";
bouquet.flushChanges();
}
- else if ( strstr(path, "bouquets.radio") )
+ else if (!strcmp(path, "bouquets.radio"))
{
eDebug("recreate bouquets.radio");
bouquet.m_bouquet_name="Bouquets (Radio)";
}
return;
}
+ int entries=0;
char line[256];
bool read_descr=false;
eServiceReference *e = NULL;
directory_category = directory + c
if not os_path.isdir(directory_category):
continue
- open(directory_category + "/__init__.py", "a").close()
for pluginname in os_listdir(directory_category):
path = directory_category + "/" + pluginname
if os_path.isdir(path):
def saveToFile(self, filename):
text = self.pickle()
- f = open(filename, "w")
- f.write(text)
- f.close()
+ try:
+ f = open(filename, "w")
+ f.write(text)
+ f.close()
+ except IOError:
+ print "Config: Couldn't write %s" % filename
def loadFromFile(self, filename, base_file=False):
f = open(filename, "r")
self.scan_sat.system.value = eDVBFrontendParametersSatellite.System_DVB_S
self.list.append(getConfigListEntry(_('Frequency'), self.scan_sat.frequency))
self.list.append(getConfigListEntry(_('Inversion'), self.scan_sat.inversion))
- self.list.append(getConfigListEntry(_('Symbol Rate'), self.scan_sat.symbolrate))
- self.list.append(getConfigListEntry(_("Polarity"), self.scan_sat.polarization))
+ self.list.append(getConfigListEntry(_('Symbol rate'), self.scan_sat.symbolrate))
+ self.list.append(getConfigListEntry(_('Polarization'), self.scan_sat.polarization))
if self.scan_sat.system.value == eDVBFrontendParametersSatellite.System_DVB_S:
self.list.append(getConfigListEntry(_("FEC"), self.scan_sat.fec))
elif self.scan_sat.system.value == eDVBFrontendParametersSatellite.System_DVB_S2:
self.list.append(getConfigListEntry(_("FEC"), self.scan_sat.fec_s2))
self.modulationEntry = getConfigListEntry(_('Modulation'), self.scan_sat.modulation)
self.list.append(self.modulationEntry)
- self.list.append(getConfigListEntry(_('Rolloff'), self.scan_sat.rolloff))
+ self.list.append(getConfigListEntry(_('Roll-off'), self.scan_sat.rolloff))
self.list.append(getConfigListEntry(_('Pilot'), self.scan_sat.pilot))
elif tuning.type.value == "predefined_transponder":
self.list.append(getConfigListEntry(_("Transponder"), tuning.transponder))
self.scan_sat.system.value = eDVBFrontendParametersSatellite.System_DVB_S
self.list.append(getConfigListEntry(_('Frequency'), self.scan_sat.frequency))
self.list.append(getConfigListEntry(_('Inversion'), self.scan_sat.inversion))
- self.list.append(getConfigListEntry(_('Symbol Rate'), self.scan_sat.symbolrate))
- self.list.append(getConfigListEntry(_("Polarity"), self.scan_sat.polarization))
+ self.list.append(getConfigListEntry(_('Symbol rate'), self.scan_sat.symbolrate))
+ self.list.append(getConfigListEntry(_('Polarization'), self.scan_sat.polarization))
if self.scan_sat.system.value == eDVBFrontendParametersSatellite.System_DVB_S:
self.list.append(getConfigListEntry(_("FEC"), self.scan_sat.fec))
elif self.scan_sat.system.value == eDVBFrontendParametersSatellite.System_DVB_S2:
self.list.append(getConfigListEntry(_("FEC"), self.scan_sat.fec_s2))
self.modulationEntry = getConfigListEntry(_('Modulation'), self.scan_sat.modulation)
self.list.append(self.modulationEntry)
- self.list.append(getConfigListEntry(_('Rolloff'), self.scan_sat.rolloff))
+ self.list.append(getConfigListEntry(_('Roll-off'), self.scan_sat.rolloff))
self.list.append(getConfigListEntry(_('Pilot'), self.scan_sat.pilot))
elif self.tuning_transponder and self.tuning_type.value == "predefined_transponder":
self.list.append(getConfigListEntry(_("Transponder"), self.tuning_transponder))
print "saveMode", port, mode, rate
config.av.videoport.value = port
config.av.videoport.save()
- config.av.videomode[port].value = mode
- config.av.videomode[port].save()
- config.av.videorate[mode].value = rate
- config.av.videorate[mode].save()
+ if port in config.av.videomode:
+ config.av.videomode[port].value = mode
+ config.av.videomode[port].save()
+ if mode in config.av.videorate:
+ config.av.videorate[mode].value = rate
+ config.av.videorate[mode].save()
def isPortAvailable(self, port):
# fixme
self["arrowup2"] = MovingPixmap()
def setDirectory(self):
- os_system("mount %s %s" % (resolveFilename(SCOPE_DEFAULTPARTITION), resolveFilename(SCOPE_DEFAULTPARTITIONMOUNTDIR)))
self.directory = resolveFilename(SCOPE_DEFAULTPARTITIONMOUNTDIR)
self.xmlfile = "defaultwizard.xml"
+ if self.directory:
+ os_system("mount %s %s" % (resolveFilename(SCOPE_DEFAULTPARTITION), self.directory))
def markDone(self):
config.misc.defaultchosen.value = 0
"9": self.keyNumberGlobal,
"0": self.keyNumberGlobal
}, -1)
+
if self["input"].type == Input.TEXT:
- rcinput = eRCInput.getInstance()
- rcinput.setKeyboardMode(rcinput.kmAscii)
+ self.onExecBegin.append(self.setKeyboardModeAscii)
+ else:
+ self.onExecBegin.append(self.setKeyboardModeNone)
def gotAsciiCode(self):
self["input"].handleAscii(getPrevAsciiCode())
self["input"].delete()
def go(self):
- rcinput = eRCInput.getInstance()
- rcinput.setKeyboardMode(rcinput.kmNone)
self.close(self["input"].getText())
def cancel(self):
- rcinput = eRCInput.getInstance()
- rcinput.setKeyboardMode(rcinput.kmNone)
self.close(None)
def keyHome(self):
pass
def closePinWrong(self, *args):
- rcinput = eRCInput.getInstance()
- rcinput.setKeyboardMode(rcinput.kmNone)
print "args:", args
self.close(False)
def closePinCorrect(self, *args):
- rcinput = eRCInput.getInstance()
- rcinput.setKeyboardMode(rcinput.kmNone)
self.close(True)
def closePinCancel(self, *args):
- rcinput = eRCInput.getInstance()
- rcinput.setKeyboardMode(rcinput.kmNone)
self.close(None)
def cancel(self):
self.list.append(getConfigListEntry(_('Satellite'), self.scan_satselection[index_to_scan]))
self.list.append(getConfigListEntry(_('Frequency'), self.scan_sat.frequency))
self.list.append(getConfigListEntry(_('Inversion'), self.scan_sat.inversion))
- self.list.append(getConfigListEntry(_('Symbol Rate'), self.scan_sat.symbolrate))
- self.list.append(getConfigListEntry(_("Polarity"), self.scan_sat.polarization))
+ self.list.append(getConfigListEntry(_('Symbol rate'), self.scan_sat.symbolrate))
+ self.list.append(getConfigListEntry(_('Polarization'), self.scan_sat.polarization))
if self.scan_sat.system.value == eDVBFrontendParametersSatellite.System_DVB_S:
self.list.append(getConfigListEntry(_("FEC"), self.scan_sat.fec))
elif self.scan_sat.system.value == eDVBFrontendParametersSatellite.System_DVB_S2:
self.list.append(getConfigListEntry(_("FEC"), self.scan_sat.fec_s2))
self.modulationEntry = getConfigListEntry(_('Modulation'), self.scan_sat.modulation)
self.list.append(self.modulationEntry)
- self.list.append(getConfigListEntry(_('Rolloff'), self.scan_sat.rolloff))
+ self.list.append(getConfigListEntry(_('Roll-off'), self.scan_sat.rolloff))
self.list.append(getConfigListEntry(_('Pilot'), self.scan_sat.pilot))
elif self.scan_type.value == "single_satellite":
self.updateSatList()
if self.scan_typecable.value == "single_transponder":
self.list.append(getConfigListEntry(_("Frequency"), self.scan_cab.frequency))
self.list.append(getConfigListEntry(_("Inversion"), self.scan_cab.inversion))
- self.list.append(getConfigListEntry(_("Symbol Rate"), self.scan_cab.symbolrate))
+ self.list.append(getConfigListEntry(_("Symbol rate"), self.scan_cab.symbolrate))
self.list.append(getConfigListEntry(_("Modulation"), self.scan_cab.modulation))
self.list.append(getConfigListEntry(_("FEC"), self.scan_cab.fec))
elif nim.isCompatible("DVB-T"):
self.list.append(getConfigListEntry(_("Frequency"), self.scan_ter.frequency))
self.list.append(getConfigListEntry(_("Inversion"), self.scan_ter.inversion))
self.list.append(getConfigListEntry(_("Bandwidth"), self.scan_ter.bandwidth))
- self.list.append(getConfigListEntry(_("Code rate high"), self.scan_ter.fechigh))
- self.list.append(getConfigListEntry(_("Code rate low"), self.scan_ter.feclow))
+ self.list.append(getConfigListEntry(_("Code rate HP"), self.scan_ter.fechigh))
+ self.list.append(getConfigListEntry(_("Code rate LP"), self.scan_ter.feclow))
self.list.append(getConfigListEntry(_("Modulation"), self.scan_ter.modulation))
self.list.append(getConfigListEntry(_("Transmission mode"), self.scan_ter.transmission))
- self.list.append(getConfigListEntry(_("Guard interval mode"), self.scan_ter.guard))
- self.list.append(getConfigListEntry(_("Hierarchy mode"), self.scan_ter.hierarchy))
+ self.list.append(getConfigListEntry(_("Guard interval"), self.scan_ter.guard))
+ self.list.append(getConfigListEntry(_("Hierarchy info"), self.scan_ter.hierarchy))
self.list.append(getConfigListEntry(_("Network scan"), self.scan_networkScan))
self.list.append(getConfigListEntry(_("Clear before scan"), self.scan_clearallservices))
self.list.append(getConfigListEntry(_("Only Free scan"), self.scan_onlyfree))
(eDVBFrontendParametersSatellite.System_DVB_S2, _("DVB-S2"))])
self.scan_sat.frequency = ConfigInteger(default = defaultSat["frequency"], limits = (1, 99999))
self.scan_sat.inversion = ConfigSelection(default = defaultSat["inversion"], choices = [
- (eDVBFrontendParametersSatellite.Inversion_Off, _("off")),
- (eDVBFrontendParametersSatellite.Inversion_On, _("on")),
+ (eDVBFrontendParametersSatellite.Inversion_Off, _("Off")),
+ (eDVBFrontendParametersSatellite.Inversion_On, _("On")),
(eDVBFrontendParametersSatellite.Inversion_Unknown, _("Auto"))])
self.scan_sat.symbolrate = ConfigInteger(default = defaultSat["symbolrate"], limits = (1, 99999))
self.scan_sat.polarization = ConfigSelection(default = defaultSat["polarization"], choices = [
(eDVBFrontendParametersSatellite.RollOff_alpha_0_25, "0.25"),
(eDVBFrontendParametersSatellite.RollOff_alpha_0_20, "0.20")])
self.scan_sat.pilot = ConfigSelection(default = defaultSat.get("pilot", eDVBFrontendParametersSatellite.Pilot_Unknown), choices = [
- (eDVBFrontendParametersSatellite.Pilot_Off, _("off")),
- (eDVBFrontendParametersSatellite.Pilot_On, _("on")),
+ (eDVBFrontendParametersSatellite.Pilot_Off, _("Off")),
+ (eDVBFrontendParametersSatellite.Pilot_On, _("On")),
(eDVBFrontendParametersSatellite.Pilot_Unknown, _("Auto"))])
# cable
self.scan_cab.frequency = ConfigInteger(default = defaultCab["frequency"], limits = (50, 999))
self.scan_cab.inversion = ConfigSelection(default = defaultCab["inversion"], choices = [
- (eDVBFrontendParametersCable.Inversion_Off, _("off")),
- (eDVBFrontendParametersCable.Inversion_On, _("on")),
+ (eDVBFrontendParametersCable.Inversion_Off, _("Off")),
+ (eDVBFrontendParametersCable.Inversion_On, _("On")),
(eDVBFrontendParametersCable.Inversion_Unknown, _("Auto"))])
self.scan_cab.modulation = ConfigSelection(default = defaultCab["modulation"], choices = [
(eDVBFrontendParametersCable.Modulation_QAM16, "16-QAM"),
# terrestial
self.scan_ter.frequency = ConfigInteger(default = 466000, limits = (50000, 999000))
self.scan_ter.inversion = ConfigSelection(default = defaultTer["inversion"], choices = [
- (eDVBFrontendParametersTerrestrial.Inversion_Off, _("off")),
- (eDVBFrontendParametersTerrestrial.Inversion_On, _("on")),
+ (eDVBFrontendParametersTerrestrial.Inversion_Off, _("Off")),
+ (eDVBFrontendParametersTerrestrial.Inversion_On, _("On")),
(eDVBFrontendParametersTerrestrial.Inversion_Unknown, _("Auto"))])
# WORKAROUND: we can't use BW-auto
self.scan_ter.bandwidth = ConfigSelection(default = defaultTer["bandwidth"], choices = [
from Components.Sources.Source import Source
profile("LOAD:GUIComponent")
from Components.GUIComponent import GUIComponent
+profile("LOAD:eRCInput")
+from enigma import eRCInput
class Screen(dict, GUISkin):
# stand alone screens (for example web screens)
# don't care about having or not having focus.
self.stand_alone = False
+ self.keyboardMode = None
+
+ def saveKeyboardMode(self):
+ rcinput = eRCInput.getInstance()
+ self.keyboardMode = rcinput.getKeyboardMode()
+
+ def setKeyboardModeAscii(self):
+ rcinput = eRCInput.getInstance()
+ rcinput.setKeyboardMode(rcinput.kmAscii)
+
+ def setKeyboardModeNone(self):
+ rcinput = eRCInput.getInstance()
+ rcinput.setKeyboardMode(rcinput.kmNone)
+
+ def restoreKeyboardMode(self):
+ rcinput = eRCInput.getInstance()
+ if self.keyboardMode is not None:
+ rcinput.setKeyboardMode(self.keyboardMode)
def execBegin(self):
self.active_components = [ ]
self.feinfo = None
else:
self.type = TYPE_SERVICE_INFO
- self["red"] = Label(_("Serviceinfo"))
+ self["red"] = Label(_("Service"))
self["green"] = Label(_("PIDs"))
- self["yellow"] = Label(_("Transponder"))
+ self["yellow"] = Label(_("Multiplex"))
self["blue"] = Label(_("Tuner status"))
service = session.nav.getCurrentService()
if service is not None:
name = ServiceReference(self.session.nav.getCurrentlyPlayingServiceReference()).getServiceName()
refstr = self.session.nav.getCurrentlyPlayingServiceReference().toString()
else:
- name = "N/A"
- refstr = "N/A"
+ name = _("N/A")
+ refstr = _("N/A")
aspect = self.getServiceInfoValue(iServiceInformation.sAspect)
if aspect in ( 1, 2, 5, 6, 9, 0xA, 0xD, 0xE ):
- aspect = "4:3"
+ aspect = _("4:3")
else:
- aspect = "16:9"
+ aspect = _("16:9")
width = self.info and self.info.getInfo(iServiceInformation.sVideoWidth) or -1
height = self.info and self.info.getInfo(iServiceInformation.sVideoHeight) or -1
if width != -1 and height != -1:
- Labels = ( ("Name", name, TYPE_TEXT),
- ("Provider", self.getServiceInfoValue(iServiceInformation.sProvider), TYPE_TEXT),
- ("Videoformat", aspect, TYPE_TEXT),
- ("Videosize", "%dx%d" %(width, height), TYPE_TEXT),
- ("Namespace", self.getServiceInfoValue(iServiceInformation.sNamespace), TYPE_VALUE_HEX, 8),
- ("Service Reference", refstr, TYPE_TEXT))
+ Labels = ( (_("Name"), name, TYPE_TEXT),
+ (_("Provider"), self.getServiceInfoValue(iServiceInformation.sProvider), TYPE_TEXT),
+ (_("Aspect ratio"), aspect, TYPE_TEXT),
+ (_("Resolution"), "%dx%d" %(width, height), TYPE_TEXT),
+ (_("Namespace"), self.getServiceInfoValue(iServiceInformation.sNamespace), TYPE_VALUE_HEX, 8),
+ (_("Service reference"), refstr, TYPE_TEXT))
else:
- Labels = ( ("Name", name, TYPE_TEXT),
- ("Provider", self.getServiceInfoValue(iServiceInformation.sProvider), TYPE_TEXT),
- ("Videoformat", aspect, TYPE_TEXT),
- ("Namespace", self.getServiceInfoValue(iServiceInformation.sNamespace), TYPE_VALUE_HEX, 8),
- ("Service Reference", refstr, TYPE_TEXT))
+ Labels = ( (_("Name"), name, TYPE_TEXT),
+ (_("Provider"), self.getServiceInfoValue(iServiceInformation.sProvider), TYPE_TEXT),
+ (_("Aspect ratio"), aspect, TYPE_TEXT),
+ (_("Namespace"), self.getServiceInfoValue(iServiceInformation.sNamespace), TYPE_VALUE_HEX, 8),
+ (_("Service reference"), refstr, TYPE_TEXT))
self.fillList(Labels)
else:
if self.transponder_info:
tp_info = ConvertToHumanReadable(self.transponder_info)
- conv = { "tuner_type" : _("Transponder Type"),
- "system" : _("System"),
- "modulation" : _("Modulation"),
- "orbital_position" : _("Orbital Position"),
- "frequency" : _("Frequency"),
- "symbol_rate" : _("Symbolrate"),
- "bandwidth" : _("Bandwidth"),
- "polarization" : _("Polarization"),
- "inversion" : _("Inversion"),
- "pilot" : _("Pilot"),
- "rolloff" : _("Rolloff"),
- "fec_inner" : _("FEC"),
- "code_rate_lp" : _("Coderate LP"),
- "code_rate_hp" : _("Coderate HP"),
- "constellation" : _("Constellation"),
- "transmission_mode": _("Transmission Mode"),
- "guard_interval" : _("Guard Interval"),
- "hierarchy_information": _("Hierarchy Information") }
+ conv = { "tuner_type" : _("Type"),
+ "system" : _("System"),
+ "modulation" : _("Modulation"),
+ "orbital_position" : _("Orbital position"),
+ "frequency" : _("Frequency"),
+ "symbol_rate" : _("Symbol rate"),
+ "bandwidth" : _("Bandwidth"),
+ "polarization" : _("Polarization"),
+ "inversion" : _("Inversion"),
+ "pilot" : _("Pilot"),
+ "rolloff" : _("Roll-off"),
+ "fec_inner" : _("FEC"),
+ "code_rate_lp" : _("Code rate LP"),
+ "code_rate_hp" : _("Code rate HP"),
+ "constellation" : _("Constellation"),
+ "transmission_mode" : _("Transmission mode"),
+ "guard_interval" : _("Guard interval"),
+ "hierarchy_information" : _("Hierarchy info") }
Labels = [(conv[i], tp_info[i], TYPE_VALUE_DEC) for i in tp_info.keys()]
self.fillList(Labels)
def pids(self):
if self.type == TYPE_SERVICE_INFO:
- Labels = ( ("VideoPID", self.getServiceInfoValue(iServiceInformation.sVideoPID), TYPE_VALUE_HEX_DEC, 4),
- ("AudioPID", self.getServiceInfoValue(iServiceInformation.sAudioPID), TYPE_VALUE_HEX_DEC, 4),
- ("PCRPID", self.getServiceInfoValue(iServiceInformation.sPCRPID), TYPE_VALUE_HEX_DEC, 4),
- ("PMTPID", self.getServiceInfoValue(iServiceInformation.sPMTPID), TYPE_VALUE_HEX_DEC, 4),
- ("TXTPID", self.getServiceInfoValue(iServiceInformation.sTXTPID), TYPE_VALUE_HEX_DEC, 4),
- ("TSID", self.getServiceInfoValue(iServiceInformation.sTSID), TYPE_VALUE_HEX_DEC, 4),
- ("ONID", self.getServiceInfoValue(iServiceInformation.sONID), TYPE_VALUE_HEX_DEC, 4),
- ("SID", self.getServiceInfoValue(iServiceInformation.sSID), TYPE_VALUE_HEX_DEC, 4))
+ Labels = ( (_("Video PID"), self.getServiceInfoValue(iServiceInformation.sVideoPID), TYPE_VALUE_HEX_DEC, 4),
+ (_("Audio PID"), self.getServiceInfoValue(iServiceInformation.sAudioPID), TYPE_VALUE_HEX_DEC, 4),
+ (_("PCR PID"), self.getServiceInfoValue(iServiceInformation.sPCRPID), TYPE_VALUE_HEX_DEC, 4),
+ (_("PMT PID"), self.getServiceInfoValue(iServiceInformation.sPMTPID), TYPE_VALUE_HEX_DEC, 4),
+ (_("TXT PID"), self.getServiceInfoValue(iServiceInformation.sTXTPID), TYPE_VALUE_HEX_DEC, 4),
+ (_("TSID"), self.getServiceInfoValue(iServiceInformation.sTSID), TYPE_VALUE_HEX_DEC, 4),
+ (_("ONID"), self.getServiceInfoValue(iServiceInformation.sONID), TYPE_VALUE_HEX_DEC, 4),
+ (_("SID"), self.getServiceInfoValue(iServiceInformation.sSID), TYPE_VALUE_HEX_DEC, 4))
self.fillList(Labels)
def showFrontendData(self, real):
if frontendDataOrg and len(frontendDataOrg):
frontendData = ConvertToHumanReadable(frontendDataOrg)
if frontendDataOrg["tuner_type"] == "DVB-S":
- return (("NIM", ('A', 'B', 'C', 'D')[frontendData["tuner_number"]], TYPE_TEXT),
- ("Type", frontendData["system"], TYPE_TEXT),
- ("Modulation", frontendData["modulation"], TYPE_TEXT),
- ("Orbital position", frontendData["orbital_position"], TYPE_VALUE_DEC),
- ("Frequency", frontendData["frequency"], TYPE_VALUE_DEC),
- ("Symbolrate", frontendData["symbol_rate"], TYPE_VALUE_DEC),
- ("Polarization", frontendData["polarization"], TYPE_TEXT),
- ("Inversion", frontendData["inversion"], TYPE_TEXT),
- ("FEC inner", frontendData["fec_inner"], TYPE_TEXT),
- ("Pilot", frontendData.get("pilot", None), TYPE_TEXT),
- ("Rolloff", frontendData.get("rolloff", None), TYPE_TEXT))
+ return ((_("NIM"), ('A', 'B', 'C', 'D')[frontendData["tuner_number"]], TYPE_TEXT),
+ (_("Type"), frontendData["tuner_type"], TYPE_TEXT),
+ (_("System"), frontendData["system"], TYPE_TEXT),
+ (_("Modulation"), frontendData["modulation"], TYPE_TEXT),
+ (_("Orbital position"), frontendData["orbital_position"], TYPE_VALUE_DEC),
+ (_("Frequency"), frontendData["frequency"], TYPE_VALUE_DEC),
+ (_("Symbol rate"), frontendData["symbol_rate"], TYPE_VALUE_DEC),
+ (_("Polarization"), frontendData["polarization"], TYPE_TEXT),
+ (_("Inversion"), frontendData["inversion"], TYPE_TEXT),
+ (_("FEC"), frontendData["fec_inner"], TYPE_TEXT),
+ (_("Pilot"), frontendData.get("pilot", None), TYPE_TEXT),
+ (_("Roll-off"), frontendData.get("rolloff", None), TYPE_TEXT))
elif frontendDataOrg["tuner_type"] == "DVB-C":
- return (("NIM", ('A', 'B', 'C', 'D')[frontendData["tuner_number"]], TYPE_TEXT),
- ("Type", frontendData["tuner_type"], TYPE_TEXT),
- ("Frequency", frontendData["frequency"], TYPE_VALUE_DEC),
- ("Symbolrate", frontendData["symbol_rate"], TYPE_VALUE_DEC),
- ("Modulation", frontendData["modulation"], TYPE_TEXT),
- ("Inversion", frontendData["inversion"], TYPE_TEXT),
- ("FEC inner", frontendData["fec_inner"], TYPE_TEXT))
+ return ((_("NIM"), ('A', 'B', 'C', 'D')[frontendData["tuner_number"]], TYPE_TEXT),
+ (_("Type"), frontendData["tuner_type"], TYPE_TEXT),
+ (_("Modulation"), frontendData["modulation"], TYPE_TEXT),
+ (_("Frequency"), frontendData["frequency"], TYPE_VALUE_DEC),
+ (_("Symbol rate"), frontendData["symbol_rate"], TYPE_VALUE_DEC),
+ (_("Inversion"), frontendData["inversion"], TYPE_TEXT),
+ (_("FEC"), frontendData["fec_inner"], TYPE_TEXT))
elif frontendDataOrg["tuner_type"] == "DVB-T":
- return (("NIM", ('A', 'B', 'C', 'D')[frontendData["tuner_number"]], TYPE_TEXT),
- ("Type", frontendData["tuner_type"], TYPE_TEXT),
- ("Frequency", frontendData["frequency"], TYPE_VALUE_DEC),
- ("Inversion", frontendData["inversion"], TYPE_TEXT),
- ("Bandwidth", frontendData["bandwidth"], TYPE_VALUE_DEC),
- ("CodeRateLP", frontendData["code_rate_lp"], TYPE_TEXT),
- ("CodeRateHP", frontendData["code_rate_hp"], TYPE_TEXT),
- ("Constellation", frontendData["constellation"], TYPE_TEXT),
- ("Transmission Mode", frontendData["transmission_mode"], TYPE_TEXT),
- ("Guard Interval", frontendData["guard_interval"], TYPE_TEXT),
- ("Hierarchy Inform.", frontendData["hierarchy_information"], TYPE_TEXT))
+ return ((_("NIM"), ('A', 'B', 'C', 'D')[frontendData["tuner_number"]], TYPE_TEXT),
+ (_("Type"), frontendData["tuner_type"], TYPE_TEXT),
+ (_("Frequency"), frontendData["frequency"], TYPE_VALUE_DEC),
+ (_("Inversion"), frontendData["inversion"], TYPE_TEXT),
+ (_("Bandwidth"), frontendData["bandwidth"], TYPE_VALUE_DEC),
+ (_("Code rate LP"), frontendData["code_rate_lp"], TYPE_TEXT),
+ (_("Code rate HP"), frontendData["code_rate_hp"], TYPE_TEXT),
+ (_("Constellation"), frontendData["constellation"], TYPE_TEXT),
+ (_("Transmission mode"), frontendData["transmission_mode"], TYPE_TEXT),
+ (_("Guard interval"), frontendData["guard_interval"], TYPE_TEXT),
+ (_("Hierarchy info"), frontendData["hierarchy_information"], TYPE_TEXT))
return [ ]
def fillList(self, Labels):
if v == -2:
v = self.info.getInfoString(what)
elif v == -1:
- v = "N/A"
+ v = _("N/A")
return v
if flags == PATH_CREATE:
if not pathExists(path):
- mkdir(path)
+ try:
+ mkdir(path)
+ except OSError:
+ print "resolveFilename: Couldn't create %s" % path
+ return None
fallbackPath = fallbackPaths.get(scope)
# returns a list of tuples containing pathname and filename matching the given pattern
# example-pattern: match all txt-files: ".*\.txt$"
def crawlDirectory(directory, pattern):
- expression = compile(pattern)
list = []
- for root, dirs, files in walk(directory):
- for file in files:
- if expression.match(file) is not None:
- list.append((root, file))
+ if directory:
+ expression = compile(pattern)
+ for root, dirs, files in walk(directory):
+ for file in files:
+ if expression.match(file) is not None:
+ list.append((root, file))
return list
def copyfile(src, dst):
from enigma import eDVBFrontendParametersSatellite, eDVBFrontendParametersCable, eDVBFrontendParametersTerrestrial
+from Components.NimManager import nimmanager
def ConvertToHumanReadable(tp, type = None):
ret = { }
eDVBFrontendParametersSatellite.Modulation_QPSK : "QPSK",
eDVBFrontendParametersSatellite.Modulation_QAM16 : "QAM16",
eDVBFrontendParametersSatellite.Modulation_8PSK : "8PSK"}[tp["modulation"]]
+ ret["orbital_position"] = nimmanager.getSatName(int(tp["orbital_position"]))
ret["polarization"] = {
eDVBFrontendParametersSatellite.Polarisation_Horizontal : _("Horizontal"),
eDVBFrontendParametersSatellite.Polarisation_Vertical : _("Vertical"),
}
};
+template <class R, class V0, class V1, class V2>
+class PSignal3: public PSignal, public Signal3<R,V0,V1,V2>
+{
+public:
+ R operator()(V0 a0, V1 a1, V2 a2)
+ {
+ if (m_list)
+ {
+ PyObject *pArgs = PyTuple_New(3);
+ PyTuple_SET_ITEM(pArgs, 0, PyFrom(a0));
+ PyTuple_SET_ITEM(pArgs, 1, PyFrom(a1));
+ PyTuple_SET_ITEM(pArgs, 2, PyFrom(a2));
+ callPython(pArgs);
+ Org_Py_DECREF(pArgs);
+ }
+ return Signal3<R,V0,V1,V2>::operator()(a0, a1, a2);
+ }
+};
+
#endif
self.summary.show()
c.addSummary(self.summary)
+ c.saveKeyboardMode()
c.execBegin()
# when execBegin opened a new dialog, don't bother showing the old one.
self.in_exec = False
self.current_dialog.execEnd()
+ self.current_dialog.restoreKeyboardMode()
self.current_dialog.hide()
if last: