本文整理汇总了Python中family.Family.import_family_xml方法的典型用法代码示例。如果您正苦于以下问题:Python Family.import_family_xml方法的具体用法?Python Family.import_family_xml怎么用?Python Family.import_family_xml使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类family.Family
的用法示例。
在下文中一共展示了Family.import_family_xml方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: PaellaImporter
# 需要导入模块: from family import Family [as 别名]
# 或者: from family.Family import import_family_xml [as 别名]
class PaellaImporter(object):
def __init__(self, conn):
self.conn = conn
self.suitecursor = SuiteCursor(self.conn)
self.aptsrc = AptSourceHandler(self.conn)
self.main_path = None
self.profile = Profile(self.conn)
self.family = Family(self.conn)
def set_main_path(self, dirname):
self.main_path = path(dirname)
def parse_main_xml(self, filename=None):
if filename is None:
filename = self.main_path / 'database.xml'
parsed = PaellaParser(filename)
return parsed
def start_schema(self):
try:
start_schema(self.conn)
except AlreadyPresentError:
print "primary tables already present"
def import_all_families(self, dirname=None):
if dirname is None:
dirname = self.main_path / 'families'
xmlfiles = dirname.listdir('*.xml')
self.report_total_families(len(xmlfiles))
while xmlfiles:
familyxml = xmlfiles.pop(0)
try:
self.import_family(familyxml)
except UnbornError:
xmlfiles.append(familyxml)
print 'import families from', dirname
def import_family(self, filename):
self.family.import_family_xml(filename)
self.report_family_imported(filename.namebase)
def import_all_profiles(self, dirname=None):
if dirname is None:
dirname = self.main_path / 'profiles'
dirname = path(dirname)
xmlfiles = dirname.listdir('*.xml')
self.report_total_profiles(len(xmlfiles))
for xmlfile in xmlfiles:
self.profile.import_profile(xmlfile)
self.report_profile_imported(xmlfile.namebase)
def import_all_diskconfigs(self, dirname=None):
if dirname is None:
dirname = self.main_path / 'diskconfig'
dirname = path(dirname)
files = dirname.listdir()
cursor = self.conn.cursor(statement=True)
for diskconfig in files:
name= diskconfig.basename()
data = dict(name=name, content=file(diskconfig).read())
cursor.insert(table='diskconfig', data=data)
# here suite is a parsed xml object (find name)
def make_suite(self, suite):
current_suites = self.suitecursor.get_suites()
if suite.name not in current_suites:
apt_ids = [e.apt_id for e in suite.aptsources]
self.suitecursor.make_suite(suite.name, apt_ids)
else:
raise RuntimeError , 'suite %s already exists' % suite
# aptsources is the PaellaParser.aptsources attribute
def import_apt_sources(self, aptsources):
self.report_total_apt_sources(len(aptsources))
for apt in aptsources:
self.import_parsed_apt_source(apt)
# here apt is an AptSourceParser object
def import_parsed_apt_source(self, apt):
self.report_importing_aptsrc(apt.apt_id)
self.aptsrc.insert_apt_source_row(apt.apt_id, apt.uri, apt.dist,
apt.sections, apt.local_path)
self.aptsrc.insert_packages(apt.apt_id)
self.report_aptsrc_imported(apt.apt_id)
def _import_traits(self, suite, traitlist, dirname):
self.report_total_traits(len(traitlist))
missing = self._find_missing_packages(suite, traitlist, dirname)
if missing:
self.report_missing_packages(suite, missing)
raise MissingPackagesError, report_missing_packages(suite, missing)
else:
while len(traitlist):
trait = traitlist.pop(0)
#.........这里部分代码省略.........