def genType(self,v): value = None if inspect.isclass(self._type) and issubclass(self._type,PrimitiveType): value = self._type.genType(v) elif hasattr(self._type,'__name__'): value = complextypes.convert(self._type.__name__,v) # Convert str to bool if value == 'true': value = True elif value == 'false': value = False return value
def _findValues(self,name,type,xml): """ Private method to find the values of elements in the XML of input """ elems = xml.getElementsByTagName(name) values = [] for e in elems: if e.hasChildNodes and len(e.childNodes) > 0: v = None if inspect.isclass(type) and (issubclass(type,xmltypes.PrimitiveType) or isinstance(type,xmltypes.Array)): v = type.genType(e.childNodes[0].nodeValue) elif hasattr(type,'__name__') and (not issubclass(type,xmltypes.PrimitiveType) or not isinstance(type,xmltypes.Array)): v = complextypes.convert(type.__name__,e.childNodes[0].nodeValue) values.append(v) else: values.append(None) return values