fix python part of ePythonConfig::getConfigQuery... so now default ac3 and 5V
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>
Thu, 19 Oct 2006 19:59:05 +0000 (19:59 +0000)
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>
Thu, 19 Oct 2006 19:59:05 +0000 (19:59 +0000)
on Terrestrial Tuner are working again

lib/dvb/frontend.cpp
lib/dvb_ci/dvbci.cpp
lib/python/Components/config.py

index cfd2610daa06a24bd63096d47495eeff107b9ae6..3905a18796c5ff3f65fc020ee365f54fbc03f11c 100644 (file)
@@ -1782,10 +1782,10 @@ RESULT eDVBFrontend::tune(const iDVBFrontendParameters &where)
 
                std::string enable_5V;
                char configStr[255];
 
                std::string enable_5V;
                char configStr[255];
-               snprintf(configStr, 255, "config.Nim%c.terrestrial_5V", 'A'+m_fe);
+               snprintf(configStr, 255, "config.Nims.%d.terrestrial_5V", m_fe);
                m_sec_sequence.push_back( eSecCommand(eSecCommand::START_TUNE_TIMEOUT) );
                ePythonConfigQuery::getConfigValue(configStr, enable_5V);
                m_sec_sequence.push_back( eSecCommand(eSecCommand::START_TUNE_TIMEOUT) );
                ePythonConfigQuery::getConfigValue(configStr, enable_5V);
-               if (enable_5V == "on")
+               if (enable_5V == "True")
                        m_sec_sequence.push_back( eSecCommand(eSecCommand::SET_VOLTAGE, iDVBFrontend::voltage13) );
                else
                        m_sec_sequence.push_back( eSecCommand(eSecCommand::SET_VOLTAGE, iDVBFrontend::voltageOff) );
                        m_sec_sequence.push_back( eSecCommand(eSecCommand::SET_VOLTAGE, iDVBFrontend::voltage13) );
                else
                        m_sec_sequence.push_back( eSecCommand(eSecCommand::SET_VOLTAGE, iDVBFrontend::voltageOff) );
index d95f6832b6539f5df88ae5a6c729fa7dde4f80b4..b074342ed56021f5e530004cb75aa7a3123839cf 100644 (file)
@@ -221,7 +221,7 @@ void eDVBCIInterfaces::ciRemoved(eDVBCISlot *slot)
 static bool canDescrambleMultipleServices(int slotid)
 {
        char configStr[255];
 static bool canDescrambleMultipleServices(int slotid)
 {
        char configStr[255];
-       snprintf(configStr, 255, "config.ci%d.canDescrambleMultipleServices", slotid);
+       snprintf(configStr, 255, "config.ci.%d.canDescrambleMultipleServices", slotid);
        std::string str;
        ePythonConfigQuery::getConfigValue(configStr, str);
        if ( str == "auto" )
        std::string str;
        ePythonConfigQuery::getConfigValue(configStr, str);
        if ( str == "auto" )
index b7b3baa84ee24b2310f9c9cfaaad0f634b81321a..0fd6e7327aaaafdc5951ee6936bd1988e8ed6752 100644 (file)
@@ -832,8 +832,23 @@ class ConfigFile:
                config.save()
                config.saveToFile(self.CONFIG_FILE)
        
                config.save()
                config.saveToFile(self.CONFIG_FILE)
        
+       def __resolveValue(self, pickles, cmap):
+               if cmap.has_key(pickles[0]):
+                       if len(pickles) > 1:
+                               return self.__resolveValue(pickles[1:], cmap[pickles[0]].content.items)
+                       else:
+                               return str(cmap[pickles[0]].value)
+               return None
+       
        def getResolvedKey(self, key):
        def getResolvedKey(self, key):
-               return None # FIXME
+               names = key.split('.')
+               if len(names) > 1:
+                       if names[0] == "config":
+                               ret=self.__resolveValue(names[1:], config.content.items)
+                               if ret and len(ret):
+                                       return ret
+               print "getResolvedKey", key, "failed !! (Typo??)"
+               return ""
 
 def NoSave(element):
        element.disableSave()
 
 def NoSave(element):
        element.disableSave()