Hi

> > Doesn't it seem better if using the assigned variable to prevent calling
> > the function twice?;-)
> I'm sorry. 
> It is enough by one time. 
> The patch is corrected. 

I attached the patch which revised the call of two times of functions.
 
Regards,
Hideo Yamauchi.
diff -r f5ae7bb928fb mgmt/client/haclient.py.in
--- a/mgmt/client/haclient.py.in        Fri Oct 26 09:52:33 2007 +0900
+++ b/mgmt/client/haclient.py.in        Fri Oct 26 10:18:05 2007 +0900
@@ -1536,9 +1536,12 @@ class AddNativeDlg :
                                provider_list = manager.get_rsc_providers(c,t)
                                for p in provider_list :
                                        desc = ""
-                                       meta = manager.get_rsc_meta(c,t,p)
+                                       meta = manager.get_rsc_meta(c,t,p,True)
                                        if meta != None :
                                                desc = meta.shortdesc
+                                       else :
+                                               if c == "ocf" :
+                                                       continue
                                        if c=="heartbeat" :
                                                p = "heartbeat"
                                        elif c=="stonith" :
@@ -2637,7 +2640,7 @@ class Manager :
                return desc_en                          
                
                        
-       def get_rsc_meta(self, rsc_class, rsc_type, rsc_provider) :
+       def get_rsc_meta(self, rsc_class, rsc_type, rsc_provider, dspmsg=False) 
:
                if rsc_class == None or rsc_type == None :
                        return None
                lines = self.query("rsc_metadata\n%s\n%s\n%s"% \
@@ -2665,20 +2668,28 @@ class Manager :
                meta.shortdesc = self.get_locale_desc(doc_xml, "shortdesc");
                
                meta.parameters = []
-               for param_xml in doc_xml.getElementsByTagName("parameter") :
-                       param = {}
-                       param["name"] = param_xml.getAttribute("name")
-                       param["required"] = param_xml.getAttribute("required")
-                       param["unique"] = param_xml.getAttribute("unique")
-                       param["longdesc"] = self.get_locale_desc(param_xml, 
"longdesc");
-                       param["shortdesc"] = self.get_locale_desc(param_xml, 
"shortdesc");
-                       content_xml = 
param_xml.getElementsByTagName("content")[0]
-                       content = {}
-                       content["type"] = content_xml.getAttribute("type")
-                       content["default"] = content_xml.getAttribute("default")
-                       param["value"] = content["default"]
-                       param["content"] = content
-                       meta.parameters.append(param)
+               param_xml_parameter = doc_xml.getElementsByTagName("parameter");
+               if param_xml_parameter != [] :
+                       for param_xml in param_xml_parameter :
+                               param = {}
+                               try : 
+                                       param["name"] = 
param_xml.getAttribute("name")
+                                       param["required"] = 
param_xml.getAttribute("required")
+                                       param["unique"] = 
param_xml.getAttribute("unique")
+                                       param["longdesc"] = 
self.get_locale_desc(param_xml, "longdesc");
+                                       param["shortdesc"] = 
self.get_locale_desc(param_xml, "shortdesc");
+                                       content_xml = 
param_xml.getElementsByTagName("content")[0]
+                                       content = {}
+                                       content["type"] = 
content_xml.getAttribute("type")
+                                       content["default"] = 
content_xml.getAttribute("default")
+                                       param["value"] = content["default"]
+                                       param["content"] = content
+                                       meta.parameters.append(param)
+                               except :
+                                       if dspmsg == True : 
+                                               msgbox(_("problem in metadata 
of ") + meta.name)        
+                                       return None
+               
                meta.actions = []
                for action_xml in doc_xml.getElementsByTagName("action") :
                        action = {}
_______________________________________________________
Linux-HA-Dev: [email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/

Reply via email to