def _import_family_xml(self, xmlfile): xml = parse_file(xmlfile) elements = xml.getElementsByTagName('family') if len(elements) != 1: raise Error, 'bad number of family tags %s' % len(elements) element = elements[0] return element
def parse_profile(filename): doc = parse_file(filename) elements = doc.getElementsByTagName('profile') if len(elements) != 1: raise BadFormatError, "%s is not a proper profile xml export" element = elements[0] return ProfileParser(element)
def insert_profiles(self): path = join(self.main_path, 'profiles') print 'path is in insert_profiles', path xmlfiles = [join(path, x) for x in os.listdir(path) if x[-4:] == '.xml'] profiles = PaellaProfiles(self.conn) for xmlfile in xmlfiles: xml = parse_file(xmlfile) elements = xml.getElementsByTagName('profile') if len(elements) != 1: raise Error, 'bad profile number %s' % len(elements) element = elements[0] parsed = ProfileParser(element) profiles.insert_profile(parsed)
def __init__(self, path): ParserHelper.__init__(self) f = file(path) self.xml = parse_file(f) f.close() name = self.xml.firstChild.tagName if name != 'profiles': raise Error, 'bad tag for ProfilesParser' element = self.xml.firstChild self.profile_elements = self.get_elements_from_section(self.xml, 'profiles', 'profile') self.profiles = [ProfileParser(element) for element in self.profile_elements]
def insert_profiles(self): path = os.path.join(self.main_path, "profiles") print "path is in insert_profiles", path xmlfiles = [os.path.join(path, x) for x in os.listdir(path) if x[-4:] == ".xml"] profiles = PaellaProfiles(self.conn) for xmlfile in xmlfiles: xml = parse_file(xmlfile) elements = xml.getElementsByTagName("profile") if len(elements) != 1: raise Error, "bad profile number %s" % len(elements) element = elements[0] parsed = ProfileParser(element) profiles.insert_profile(parsed)
def __init__(self, filename): ParserHelper.__init__(self) f = file(filename) self.xml = parse_file(f) f.close() if self.xml.firstChild.tagName != 'paelladatabase': raise Error, 'bad type of xmlfile for PaellaParser' self.db_element = self.xml.firstChild self.suite_elements = self.get_elements_from_section(self.db_element, 'suites', 'suite') self.suites = [SuiteParser(element) for element in self.suite_elements] children = [node for node in self.db_element.childNodes] traits_elements = [] for node in children: if hasattr(node, 'tagName') and node.tagName not in ['profiles', 'suites']: traits_elements.append(node) self.traits = [TraitsParser(element) for element in traits_elements]
def import_families(self, path): xmlfiles = [join(path, x) for x in os.listdir(path) if x[-4:] == '.xml'] families = [] for f in xmlfiles: xml = parse_file(f) elements = xml.getElementsByTagName('family') if len(elements) != 1: raise Error, 'bad number of family tags %s' % len(elements) element = elements[0] families.append(element) while len(families): f = families[0] try: self.import_family(f) except UnbornError: families.append(f) del families[0] print len(families), 'families inserted'
def __init__(self, fileobj): TraitParser.__init__(self, parse_file(fileobj).firstChild)
def _parse_gamedata_xmlfile(self, filename): parsed_element = parse_file(file(filename)) parser = GameElementParser(parsed_element) return parser