Correct the bug of the copy of svn files
[bertos.git] / wizard / BModulePage.py
index 2191ce6056b9a7b8fe2d952d5a871bbaa9ee73f0..00d9d4bdcb2d46a3f9d0785b1dec2b39409c266a 100644 (file)
@@ -77,11 +77,11 @@ class BModulePage(BWizardPage):
         the source tree.
         """
         module = self.currentModule()
-        if module is not None:
+        if module:
             try:
-                supported = bertos_utils.isSupported(module, self.project())
+                supported = bertos_utils.isSupported(self.project(), module=module)
             except SupportedException, e:
-                self.exceptionOccurred(self.tr("Error evaluating \"%1\" for module %2").arg(e.support_string).arg(selectedModule))
+                self.exceptionOccurred(self.tr("Error evaluating \"%1\" for module %2").arg(e.support_string).arg(module))
                 supported = True
             self._control_group.clear()
             configuration = self.projectInfo("MODULES")[module]["configuration"]
@@ -104,23 +104,30 @@ class BModulePage(BWizardPage):
                 for i, property in param_list:
                     if "type" in configurations[property]["informations"] and configurations[property]["informations"]["type"] == "autoenabled":
                         # Doesn't show the hidden fields
-                        pass
+                        continue
+                    try:
+                        param_supported = bertos_utils.isSupported(self.project(), property_id=(configuration, property))
+                    except SupportedException, e:
+                        self.exceptionOccurred(self.tr("Error evaluating \"%1\" for parameter %2").arg(e.support_string).arg(property))
+                        param_supported = True
+                    if not param_supported:
+                        # Doesn't show the unsupported parameters
+                        continue
+                    # Set the row count to the current index + 1
+                    self.pageContent.propertyTable.setRowCount(index + 1)
+                    item = QTableWidgetItem(configurations[property]["brief"])
+                    item.setData(Qt.UserRole, qvariant_converter.convertString(property))
+                    self.pageContent.propertyTable.setItem(index, 0, item)
+                    if "type" in configurations[property]["informations"] and configurations[property]["informations"]["type"] == "boolean":
+                        self.insertCheckBox(index, configurations[property]["value"])
+                    elif "type" in configurations[property]["informations"] and configurations[property]["informations"]["type"] == "enum":
+                        self.insertComboBox(index, configurations[property]["value"], configurations[property]["informations"]["value_list"])
+                    elif "type" in configurations[property]["informations"] and configurations[property]["informations"]["type"] == "int":
+                        self.insertSpinBox(index, configurations[property]["value"], configurations[property]["informations"])
                     else:
-                        # Set the row count to the current index + 1
-                        self.pageContent.propertyTable.setRowCount(index + 1)
-                        item = QTableWidgetItem(configurations[property]["brief"])
-                        item.setData(Qt.UserRole, qvariant_converter.convertString(property))
-                        self.pageContent.propertyTable.setItem(index, 0, item)
-                        if "type" in configurations[property]["informations"].keys() and configurations[property]["informations"]["type"] == "boolean":
-                            self.insertCheckBox(index, configurations[property]["value"])
-                        elif "type" in configurations[property]["informations"].keys() and configurations[property]["informations"]["type"] == "enum":
-                            self.insertComboBox(index, configurations[property]["value"], configurations[property]["informations"]["value_list"])
-                        elif "type" in configurations[property]["informations"] and configurations[property]["informations"]["type"] == "int":
-                            self.insertSpinBox(index, configurations[property]["value"], configurations[property]["informations"])
-                        else:
-                            # Not defined type, rendered as a text field
-                            self.pageContent.propertyTable.setItem(index, 1, QTableWidgetItem(configurations[property]["value"]))
-                        index += 1
+                        # Not defined type, rendered as a text field
+                        self.pageContent.propertyTable.setItem(index, 1, QTableWidgetItem(configurations[property]["value"]))
+                    index += 1
             if self.pageContent.propertyTable.rowCount() == 0:
                 module_label = self.pageContent.moduleLabel.text()
                 module_label += "\n\nNo configuration needed."
@@ -145,7 +152,7 @@ class BModulePage(BWizardPage):
         """
         self.resetPropertyDescription()
         configurations = self.currentModuleConfigurations()
-        if self.currentProperty() in configurations.keys():
+        if self.currentProperty() in configurations:
             description = configurations[self.currentProperty()]["brief"]
             name = self.currentProperty()
             self.currentPropertyItem().setText(description + "\n" + name)
@@ -157,7 +164,7 @@ class BModulePage(BWizardPage):
         property = qvariant_converter.getString(self.pageContent.propertyTable.item(index, 0).data(Qt.UserRole))
         configuration = self.projectInfo("MODULES")[self.currentModule()]["configuration"]
         configurations = self.projectInfo("CONFIGURATIONS")
-        if "type" not in configurations[configuration][property]["informations"].keys() or configurations[configuration][property]["informations"]["type"] == "int":
+        if "type" not in configurations[configuration][property]["informations"] or configurations[configuration][property]["informations"]["type"] == "int":
             configurations[configuration][property]["value"] = str(int(self.pageContent.propertyTable.cellWidget(index, 1).value()))
         elif configurations[configuration][property]["informations"]["type"] == "enum":
             configurations[configuration][property]["value"] = unicode(self.pageContent.propertyTable.cellWidget(index, 1).currentText())
@@ -175,9 +182,9 @@ class BModulePage(BWizardPage):
         Loads the module data.
         """
         # Load the module data only if it isn't already loaded
-        if self.projectInfo("MODULES") == None \
-                and self.projectInfo("LISTS") == None \
-                and self.projectInfo("CONFIGURATIONS") == None:
+        if not self.projectInfo("MODULES") \
+                and not self.projectInfo("LISTS") \
+                and not self.projectInfo("CONFIGURATIONS"):
             try:
                 bertos_utils.loadModuleData(self.project())
             except ModuleDefineException, e:
@@ -192,11 +199,11 @@ class BModulePage(BWizardPage):
         Fills the module tree with the module entries separated in categories.
         """
         modules = self.projectInfo("MODULES")
-        if modules is None:
+        if not modules:
             return
         categories = {}
         for module, information in modules.items():
-            if information["category"] not in categories.keys():
+            if information["category"] not in categories:
                 categories[information["category"]] = []
             categories[information["category"]].append(module)
         for category, module_list in categories.items():
@@ -205,9 +212,9 @@ class BModulePage(BWizardPage):
                 enabled = modules[module]["enabled"]
                 module_item = QTreeWidgetItem(item, QStringList([module]))
                 try:
-                    supported = bertos_utils.isSupported(module, self.project())
+                    supported = bertos_utils.isSupported(self.project(), module=module)
                 except SupportedException, e:
-                    self.exceptionOccurred(self.tr("Error evaluating \"%1\" for module %2").arg(e.support_string).arg(selectedModule))
+                    self.exceptionOccurred(self.tr("Error evaluating \"%1\" for module %2").arg(e.support_string).arg(module))
                     supported = True
                 if not supported:
                     module_item.setForeground(0, QBrush(QColor(Qt.red)))
@@ -277,9 +284,9 @@ class BModulePage(BWizardPage):
             minimum = 0
             maximum = 4294967295
             suff = "UL"
-        if "min" in informations.keys():
+        if "min" in informations:
             minimum = int(informations["min"])
-        if "max" in informations.keys():
+        if "max" in informations:
             maximum = int(informations["max"])
         spin_box.setRange(minimum, maximum)
         spin_box.setSuffix(suff)
@@ -293,7 +300,7 @@ class BModulePage(BWizardPage):
         """
         current_module = self.pageContent.moduleTree.currentItem()
         # return only the child items
-        if current_module is not None and current_module.parent() is not None:
+        if current_module and current_module.parent():
             return unicode(current_module.text(0))
         else:
             return None
@@ -333,7 +340,7 @@ class BModulePage(BWizardPage):
         for index in range(self.pageContent.propertyTable.rowCount()):
             property_name = qvariant_converter.getString(self.pageContent.propertyTable.item(index, 0).data(Qt.UserRole))
             # Awful solution! Needed because if the user change the module, the selection changed...
-            if property_name not in self.currentModuleConfigurations().keys():
+            if property_name not in self.currentModuleConfigurations():
                 break
             self.pageContent.propertyTable.item(index, 0).setText(self.currentModuleConfigurations()[property_name]['brief'])