使用Python脚本读取manifest文件信息

#!/usr/bin/env python# -*- coding: utf-8 -*-
 
  
from xml.etree import ElementTree
  
class ManifestReader(object):
    def __init__(self, manifest_file):
        try:
            self.root = ElementTree.parse(manifest_file)
        except IOError:
            print("Cannot read {}! Please check if the file is exist!".format(manifest_file))
            print("----------------------Exit----------------------")
            exit(-1)
      
    def getProjectList(self):
        return self.root.getiterator('project')
      
    def getProjectName(self, element):
        return element.attrib['name']
      
    def getRevision(self, element):
        return element.attrib['revision']
      
    def getPath(self, element):
        return element.attrib['path']
      
    def getUpstream(self, element):
        return element.attrib['upstream']
  
  
if __name__ == '__main__':
    mani_reader = ManifestReader('/mnt/work/XXX/manifest.xml')
    project_lst = mani_reader.getProjectList()
    print("Project list: {}".format(project_lst))
    for i, node in enumerate(project_lst):
        print("Project {}".format(i+1))
        print("Project Name: {}".format(mani_reader.getProjectName(node)))
        print("Project Path: {}".format(mani_reader.getPath(node)))
        print("Project Revision: {}".format(mani_reader.getRevision(node)))
        print("Project Upstream: {}".format(mani_reader.getUpstream(node)))

猜你喜欢

转载自blog.csdn.net/qq_27577263/article/details/125297099