def __init__(self, Filename, WorkspaceDir = None, CheckMulDec = False): PackageObject.__init__(self) self.UserExtensions = '' self.WorkspaceDir = WorkspaceDir self.SupArchList = ARCH_LIST self.CheckMulDec = CheckMulDec self.DecParser = None # # Load Dec file # self.LoadDecFile(Filename) # # Transfer to Package Object if IsToPackage is True # self.DecToPackage()
def __init__(self, Filename, WorkspaceDir=None, CheckMulDec=False): PackageObject.__init__(self) self.UserExtensions = '' self.WorkspaceDir = WorkspaceDir self.SupArchList = ARCH_LIST self.CheckMulDec = CheckMulDec self.DecParser = None # # Load Dec file # self.LoadDecFile(Filename) # # Transfer to Package Object if IsToPackage is True # self.DecToPackage()
def FromXml(self, Item, Key): if Key: pass # # Create a package object # Package = PackageObject() # # Header # Tmp = PackageHeaderXml() Tmp.FromXml(XmlNode(Item, '/PackageSurfaceArea/Header'), 'Header', Package) # # ClonedFrom # Tmp = ClonedFromXml() if XmlNode(Item, '/PackageSurfaceArea/ClonedFrom'): ClonedFrom = Tmp.FromXml( XmlNode(Item, '/PackageSurfaceArea/ClonedFrom'), 'ClonedFrom') Package.SetClonedFromList([ClonedFrom]) # # LibraryClass # for SubItem in XmlList( Item, '/PackageSurfaceArea/LibraryClassDeclarations/LibraryClass'): Tmp = LibraryClassXml() LibraryClass = Tmp.FromXml(SubItem, 'LibraryClass') Package.SetLibraryClassList(Package.GetLibraryClassList() + [LibraryClass]) if XmlList(Item, '/PackageSurfaceArea/LibraryClassDeclarations') and \ not XmlList(Item, '/PackageSurfaceArea/LibraryClassDeclarations/LibraryClass'): Package.SetLibraryClassList([None]) # # IndustryStandardHeader # for SubItem in XmlList( Item, '/PackageSurfaceArea/IndustryStandardIncludes/IndustryStandardHeader' ): Tmp = IndustryStandardHeaderXml() Include = Tmp.FromXml(SubItem, 'IndustryStandardHeader') Package.SetStandardIncludeFileList( Package.GetStandardIncludeFileList() + [Include]) if XmlList(Item, '/PackageSurfaceArea/IndustryStandardIncludes') and \ not XmlList(Item, '/PackageSurfaceArea/IndustryStandardIncludes/IndustryStandardHeader'): Package.SetStandardIncludeFileList([None]) # # PackageHeader # for SubItem in XmlList( Item, '/PackageSurfaceArea/PackageIncludes/PackageHeader'): Tmp = PackageIncludeHeaderXml() Include = Tmp.FromXml(SubItem, 'PackageHeader') Package.SetPackageIncludeFileList( Package.GetPackageIncludeFileList() + [Include]) if XmlList(Item, '/PackageSurfaceArea/PackageIncludes') and not \ XmlList(Item, '/PackageSurfaceArea/PackageIncludes/PackageHeader'): Package.SetPackageIncludeFileList([None]) # # Guid # for SubItem in XmlList(Item, '/PackageSurfaceArea/GuidDeclarations/Entry'): Tmp = GuidXml('Package') GuidProtocolPpi = Tmp.FromXml(SubItem, 'Entry') Package.SetGuidList(Package.GetGuidList() + [GuidProtocolPpi]) if XmlList(Item, '/PackageSurfaceArea/GuidDeclarations') and not \ XmlList(Item, '/PackageSurfaceArea/GuidDeclarations/Entry'): Package.SetGuidList([None]) # # Protocol # for SubItem in XmlList( Item, '/PackageSurfaceArea/ProtocolDeclarations/Entry'): Tmp = ProtocolXml('Package') GuidProtocolPpi = Tmp.FromXml(SubItem, 'Entry') Package.SetProtocolList(Package.GetProtocolList() + [GuidProtocolPpi]) if XmlList(Item, '/PackageSurfaceArea/ProtocolDeclarations') and not \ XmlList(Item, '/PackageSurfaceArea/ProtocolDeclarations/Entry'): Package.SetProtocolList([None]) # # Ppi # for SubItem in XmlList(Item, '/PackageSurfaceArea/PpiDeclarations/Entry'): Tmp = PpiXml('Package') GuidProtocolPpi = Tmp.FromXml(SubItem, 'Entry') Package.SetPpiList(Package.GetPpiList() + [GuidProtocolPpi]) if XmlList(Item, '/PackageSurfaceArea/PpiDeclarations') and not \ XmlList(Item, '/PackageSurfaceArea/PpiDeclarations/Entry'): Package.SetPpiList([None]) # # PcdEntry # for SubItem in XmlList(Item, '/PackageSurfaceArea/PcdDeclarations/PcdEntry'): Tmp = PcdEntryXml() PcdEntry = Tmp.FromXml2(SubItem, 'PcdEntry') Package.SetPcdList(Package.GetPcdList() + [PcdEntry]) if XmlList(Item, '/PackageSurfaceArea/PcdDeclarations') and not \ XmlList(Item, '/PackageSurfaceArea/PcdDeclarations/PcdEntry'): Package.SetPcdList([None]) # # PcdCheck # for SubItem in XmlList( Item, '/PackageSurfaceArea/PcdRelationshipChecks/PcdCheck'): Tmp = PcdCheckXml() PcdCheck = Tmp.FromXml(SubItem, 'PcdCheck') Package.PcdChecks.append(PcdCheck) # # Modules # for SubItem in XmlList( Item, '/PackageSurfaceArea/Modules/ModuleSurfaceArea'): Tmp = ModuleSurfaceAreaXml() Module = Tmp.FromXml(SubItem, 'ModuleSurfaceArea') ModuleDictKey = (Module.GetGuid(), Module.GetVersion(), Module.GetName(), Module.GetModulePath()) Package.ModuleDict[ModuleDictKey] = Module # # MiscellaneousFile # Tmp = MiscellaneousFileXml() MiscFileList = Tmp.FromXml( XmlNode(Item, '/PackageSurfaceArea/MiscellaneousFiles'), 'MiscellaneousFiles') if MiscFileList: Package.SetMiscFileList([MiscFileList]) else: Package.SetMiscFileList([]) # # UserExtensions # for Item in XmlList(Item, '/PackageSurfaceArea/UserExtensions'): Tmp = UserExtensionsXml() UserExtension = Tmp.FromXml(Item, 'UserExtensions') Package.UserExtensionList.append(UserExtension) self.Package = Package return self.Package
def FromXml(self, Item, Key): if Key: pass # # Create a package object # Package = PackageObject() # # Header # Tmp = PackageHeaderXml() Tmp.FromXml(XmlNode(Item, '/PackageSurfaceArea/Header'), 'Header', Package) # # ClonedFrom # Tmp = ClonedFromXml() if XmlNode(Item, '/PackageSurfaceArea/ClonedFrom'): ClonedFrom = Tmp.FromXml(XmlNode(Item, '/PackageSurfaceArea/ClonedFrom'), 'ClonedFrom') Package.SetClonedFromList([ClonedFrom]) # # LibraryClass # for SubItem in XmlList(Item, '/PackageSurfaceArea/LibraryClassDeclarations/LibraryClass'): Tmp = LibraryClassXml() LibraryClass = Tmp.FromXml(SubItem, 'LibraryClass') Package.SetLibraryClassList(Package.GetLibraryClassList() + [LibraryClass]) if XmlList(Item, '/PackageSurfaceArea/LibraryClassDeclarations') and \ not XmlList(Item, '/PackageSurfaceArea/LibraryClassDeclarations/LibraryClass'): Package.SetLibraryClassList([None]) # # IndustryStandardHeader # for SubItem in XmlList(Item, '/PackageSurfaceArea/IndustryStandardIncludes/IndustryStandardHeader'): Tmp = IndustryStandardHeaderXml() Include = Tmp.FromXml(SubItem, 'IndustryStandardHeader') Package.SetStandardIncludeFileList(Package.GetStandardIncludeFileList() + [Include]) if XmlList(Item, '/PackageSurfaceArea/IndustryStandardIncludes') and \ not XmlList(Item, '/PackageSurfaceArea/IndustryStandardIncludes/IndustryStandardHeader'): Package.SetStandardIncludeFileList([None]) # # PackageHeader # for SubItem in XmlList(Item, '/PackageSurfaceArea/PackageIncludes/PackageHeader'): Tmp = PackageIncludeHeaderXml() Include = Tmp.FromXml(SubItem, 'PackageHeader') Package.SetPackageIncludeFileList(Package.GetPackageIncludeFileList() + [Include]) if XmlList(Item, '/PackageSurfaceArea/PackageIncludes') and not \ XmlList(Item, '/PackageSurfaceArea/PackageIncludes/PackageHeader'): Package.SetPackageIncludeFileList([None]) # # Guid # for SubItem in XmlList(Item, '/PackageSurfaceArea/GuidDeclarations/Entry'): Tmp = GuidXml('Package') GuidProtocolPpi = Tmp.FromXml(SubItem, 'Entry') Package.SetGuidList(Package.GetGuidList() + [GuidProtocolPpi]) if XmlList(Item, '/PackageSurfaceArea/GuidDeclarations') and not \ XmlList(Item, '/PackageSurfaceArea/GuidDeclarations/Entry'): Package.SetGuidList([None]) # # Protocol # for SubItem in XmlList(Item, '/PackageSurfaceArea/ProtocolDeclarations/Entry'): Tmp = ProtocolXml('Package') GuidProtocolPpi = Tmp.FromXml(SubItem, 'Entry') Package.SetProtocolList(Package.GetProtocolList() + [GuidProtocolPpi]) if XmlList(Item, '/PackageSurfaceArea/ProtocolDeclarations') and not \ XmlList(Item, '/PackageSurfaceArea/ProtocolDeclarations/Entry'): Package.SetProtocolList([None]) # # Ppi # for SubItem in XmlList(Item, '/PackageSurfaceArea/PpiDeclarations/Entry'): Tmp = PpiXml('Package') GuidProtocolPpi = Tmp.FromXml(SubItem, 'Entry') Package.SetPpiList(Package.GetPpiList() + [GuidProtocolPpi]) if XmlList(Item, '/PackageSurfaceArea/PpiDeclarations') and not \ XmlList(Item, '/PackageSurfaceArea/PpiDeclarations/Entry'): Package.SetPpiList([None]) # # PcdEntry # for SubItem in XmlList(Item, '/PackageSurfaceArea/PcdDeclarations/PcdEntry'): Tmp = PcdEntryXml() PcdEntry = Tmp.FromXml2(SubItem, 'PcdEntry') Package.SetPcdList(Package.GetPcdList() + [PcdEntry]) # # Get PcdErrorCommentDict from PcdError in PcdEntry Node # for PcdErrorObj in PcdEntry.GetPcdErrorsList(): PcdErrorMessageList = PcdErrorObj.GetErrorMessageList() if PcdErrorMessageList: Package.PcdErrorCommentDict[(PcdEntry.GetTokenSpaceGuidCName(), PcdErrorObj.GetErrorNumber())] = \ PcdErrorMessageList if XmlList(Item, '/PackageSurfaceArea/PcdDeclarations') and not \ XmlList(Item, '/PackageSurfaceArea/PcdDeclarations/PcdEntry'): Package.SetPcdList([None]) # # PcdCheck # for SubItem in XmlList(Item, '/PackageSurfaceArea/PcdRelationshipChecks/PcdCheck'): Tmp = PcdCheckXml() PcdCheck = Tmp.FromXml(SubItem, 'PcdCheck') Package.PcdChecks.append(PcdCheck) # # Modules # for SubItem in XmlList(Item, '/PackageSurfaceArea/Modules/ModuleSurfaceArea'): Tmp = ModuleSurfaceAreaXml() Module = Tmp.FromXml(SubItem, 'ModuleSurfaceArea') ModuleDictKey = (Module.GetGuid(), Module.GetVersion(), Module.GetName(), Module.GetModulePath()) Package.ModuleDict[ModuleDictKey] = Module # # MiscellaneousFile # Tmp = MiscellaneousFileXml() MiscFileList = Tmp.FromXml(XmlNode(Item, '/PackageSurfaceArea/MiscellaneousFiles'), 'MiscellaneousFiles') if MiscFileList: Package.SetMiscFileList([MiscFileList]) else: Package.SetMiscFileList([]) # # UserExtensions # for Item in XmlList(Item, '/PackageSurfaceArea/UserExtensions'): Tmp = UserExtensionsXml() UserExtension = Tmp.FromXml(Item, 'UserExtensions') Package.UserExtensionList.append(UserExtension) self.Package = Package return self.Package