## @file\r
# This file is used to parse a xml file of .PKG file\r
#\r
-# Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.<BR>\r
#\r
# This program and the accompanying materials are licensed and made available \r
# under the terms and conditions of the BSD License which accompanies this \r
from Logger.StringTable import ERR_XML_INVALID_EXTERN_SUPMODLIST\r
from Logger.StringTable import ERR_XML_INVALID_EXTERN_SUPMODLIST_NOT_LIB\r
from Logger.StringTable import ERR_FILE_NAME_INVALIDE\r
-from Logger.StringTable import ERR_XML_INVALID_BINARY_FILE_TYPE\r
from Logger.ToolError import PARSER_ERROR\r
from Logger.ToolError import FORMAT_INVALID\r
\r
DpHeader = self.DistP.Header\r
XmlTreeLevel = ['DistributionPackage', 'DistributionHeader']\r
CheckDict = Sdict()\r
+ if DpHeader.GetAbstract():\r
+ DPAbstract = DpHeader.GetAbstract()[0][1]\r
+ else:\r
+ DPAbstract = ''\r
+ if DpHeader.GetCopyright():\r
+ DPCopyright = DpHeader.GetCopyright()[0][1]\r
+ else:\r
+ DPCopyright = ''\r
+ if DpHeader.GetLicense():\r
+ DPLicense = DpHeader.GetLicense()[0][1]\r
+ else:\r
+ DPLicense = ''\r
+ \r
CheckDict['Name'] = DpHeader.GetName()\r
CheckDict['GUID'] = DpHeader.GetGuid()\r
CheckDict['Version'] = DpHeader.GetVersion()\r
- CheckDict['Copyright'] = DpHeader.GetCopyright()\r
- CheckDict['License'] = DpHeader.GetLicense()\r
- CheckDict['Abstract'] = DpHeader.GetAbstract()\r
+ CheckDict['Copyright'] = DPCopyright\r
+ CheckDict['License'] = DPLicense\r
+ CheckDict['Abstract'] = DPAbstract\r
CheckDict['Vendor'] = DpHeader.GetVendor()\r
CheckDict['Date'] = DpHeader.GetDate()\r
CheckDict['XmlSpecification'] = DpHeader.GetXmlSpecification()\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
else:\r
XmlTreeLevel = ['DistributionPackage', 'DistributionHeader']\r
- CheckDict = CheckDict = {'DistributionHeader':'', }\r
+ CheckDict = CheckDict = {'DistributionHeader': '', }\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
#\r
#\r
if self.DistP.Tools:\r
XmlTreeLevel = ['DistributionPackage', 'Tools', 'Header']\r
- CheckDict = {'Name':self.DistP.Tools.GetName(), }\r
+ CheckDict = {'Name': self.DistP.Tools.GetName(), }\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
if not self.DistP.Tools.GetFileList():\r
XmlTreeLevel = ['DistributionPackage', 'Tools']\r
- CheckDict = {'FileName':None, }\r
+ CheckDict = {'FileName': None, }\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
for Item in self.DistP.Tools.GetFileList():\r
XmlTreeLevel = ['DistributionPackage', 'Tools']\r
- CheckDict = {'FileName':Item.GetURI(), }\r
+ CheckDict = {'FileName': Item.GetURI(), }\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
#\r
#\r
if self.DistP.MiscellaneousFiles:\r
XmlTreeLevel = ['DistributionPackage', 'MiscellaneousFiles', 'Header']\r
- CheckDict = {'Name':self.DistP.MiscellaneousFiles.GetName(), }\r
+ CheckDict = {'Name': self.DistP.MiscellaneousFiles.GetName(), }\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
if not self.DistP.MiscellaneousFiles.GetFileList():\r
XmlTreeLevel = ['DistributionPackage', 'MiscellaneousFiles']\r
- CheckDict = {'FileName':None, }\r
+ CheckDict = {'FileName': None, }\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
for Item in self.DistP.MiscellaneousFiles.GetFileList():\r
XmlTreeLevel = ['DistributionPackage', 'MiscellaneousFiles']\r
- CheckDict = {'FileName':Item.GetURI(), }\r
+ CheckDict = {'FileName': Item.GetURI(), }\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
#\r
#\r
for Item in self.DistP.UserExtensions:\r
XmlTreeLevel = ['DistributionPackage', 'UserExtensions']\r
- CheckDict = {'UserId':Item.GetUserID(), }\r
+ CheckDict = {'UserId': Item.GetUserID(), }\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
\r
def FromXml(self, Filename=None):\r
- if Filename != None:\r
+ if Filename is not None:\r
self.DistP = DistributionPackageClass()\r
#\r
# Load to XML\r
for Item in XmlList(self.Pkg, '/DistributionPackage/ModuleSurfaceArea'):\r
Msa = ModuleSurfaceAreaXml()\r
Module = Msa.FromXml(Item, 'ModuleSurfaceArea', True)\r
- self.DistP.ModuleSurfaceArea[(Module.GetGuid(), Module.GetVersion(), Module.GetModulePath())] = Module\r
+ ModuleKey = (Module.GetGuid(), Module.GetVersion(), Module.GetName(), Module.GetModulePath())\r
+ self.DistP.ModuleSurfaceArea[ModuleKey] = Module\r
+\r
# \r
# Parse Tools\r
#\r
def ToXml(self, DistP):\r
if self.DistP:\r
pass\r
- if DistP != None:\r
+ if DistP is not None:\r
#\r
# Parse DistributionPackageHeader\r
#\r
#\r
XmlTreeLevel = TopXmlTreeLevel + ['Guids']\r
for Item in Module.GetGuidList():\r
- if Item == None:\r
+ if Item is None:\r
CheckDict = {'GuidCName':''}\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
#\r
XmlTreeLevel = TopXmlTreeLevel + ['Protocols']\r
for Item in Module.GetProtocolList():\r
- if Item == None:\r
+ if Item is None:\r
CheckDict = {'Protocol':''}\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
#\r
XmlTreeLevel = TopXmlTreeLevel + ['PPIs']\r
for Item in Module.GetPpiList():\r
- if Item == None:\r
+ if Item is None:\r
CheckDict = {'Ppi':''}\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
#\r
XmlTreeLevel = TopXmlTreeLevel + ['PcdCoded']\r
for Item in Module.GetPcdList():\r
- if Item == None:\r
+ if Item is None:\r
CheckDict = {'PcdEntry':''}\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
#\r
XmlTreeLevel = TopXmlTreeLevel + ['Externs']\r
for Item in Module.GetExternList():\r
- if Item == None:\r
+ if Item is None:\r
CheckDict = {'Extern':''}\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
XmlTreeLevel = TopXmlTreeLevel + ['MiscellaneousFiles']\r
for Item in Module.GetMiscFileList():\r
if not Item.GetFileList():\r
- CheckDict = {'Filename':'', }\r
+ CheckDict = {'Filename': '', }\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
for File in Item.GetFileList():\r
- CheckDict = {'Filename':File.GetURI(), }\r
+ CheckDict = {'Filename': File.GetURI(), }\r
\r
## ValidateMS2\r
#\r
#\r
XmlTreeLevel = TopXmlTreeLevel + ['LibraryClassDefinitions']\r
for Item in Module.GetLibraryClassList():\r
- if Item == None:\r
+ if Item is None:\r
CheckDict = {'LibraryClass':''}\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
#\r
XmlTreeLevel = TopXmlTreeLevel + ['SourceFiles']\r
for Item in Module.GetSourceFileList():\r
- if Item == None:\r
+ if Item is None:\r
CheckDict = {'Filename':''}\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
if Item and len(Item.FileNamList) > 0 and Item.FileNamList[0].FileType == 'FREEFORM':\r
Item.FileNamList[0].FileType = 'SUBTYPE_GUID'\r
Module.GetBinaryFileList()[ItemCount] = Item\r
- if Item and len(Item.FileNamList) > 0 and Item.FileNamList[0].FileType == 'DISPOSABLE':\r
- Logger.Error('\nUPT',\r
- PARSER_ERROR,\r
- ERR_XML_INVALID_BINARY_FILE_TYPE % ('DISPOSABLE'),\r
- RaiseError=True) \r
\r
## ValidateMS3\r
#\r
#\r
XmlTreeLevel = TopXmlTreeLevel + ['PackageDependencies']\r
for Item in Module.GetPackageDependencyList():\r
- if Item == None:\r
+ if Item is None:\r
CheckDict = {'Package':''}\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
# Check BinaryFiles -> BinaryFile\r
#\r
for Item in Module.GetBinaryFileList():\r
- if Item == None:\r
+ if Item is None:\r
XmlTreeLevel = TopXmlTreeLevel + ['BinaryFiles']\r
CheckDict = {'BinaryFile':''}\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
for PcdExItem in AsBuilt.PcdExValueList:\r
CheckDict = {'TokenSpaceGuidValue':PcdExItem.TokenSpaceGuidValue,\r
'Token':PcdExItem.Token,\r
- 'DatumType':PcdExItem.DatumType,\r
- 'Value':PcdExItem.DefaultValue}\r
+ 'DatumType':PcdExItem.DatumType}\r
XmlTreeLevel = TopXmlTreeLevel + ['BinaryFiles', 'BinaryFile', 'AsBuilt', 'PcdExValue']\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
#\r
#\r
XmlTreeLevel = ['DistributionPackage', 'PackageSurfaceArea', 'ClonedFrom']\r
for Item in Package.GetClonedFromList():\r
- if Item == None:\r
+ if Item is None:\r
CheckDict = Sdict()\r
CheckDict['GUID'] = ''\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
#\r
XmlTreeLevel = ['DistributionPackage', 'PackageSurfaceArea', 'LibraryClassDeclarations']\r
for Item in Package.GetLibraryClassList():\r
- if Item == None:\r
+ if Item is None:\r
CheckDict = {'LibraryClass':''}\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
#\r
XmlTreeLevel = ['DistributionPackage', 'PackageSurfaceArea', 'IndustryStandardIncludes']\r
for Item in Package.GetStandardIncludeFileList():\r
- if Item == None:\r
+ if Item is None:\r
CheckDict = {'IndustryStandardHeader':''}\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
#\r
XmlTreeLevel = ['DistributionPackage', 'PackageSurfaceArea', 'PackageIncludes']\r
for Item in Package.GetPackageIncludeFileList():\r
- if Item == None:\r
+ if Item is None:\r
CheckDict = {'PackageHeader':''}\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
#\r
XmlTreeLevel = ['DistributionPackage', 'PackageSurfaceArea', 'GuidDeclarations']\r
for Item in Package.GetGuidList():\r
- if Item == None:\r
+ if Item is None:\r
CheckDict = {'Entry':''}\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
#\r
XmlTreeLevel = ['DistributionPackage', 'PackageSurfaceArea', 'ProtocolDeclarations']\r
for Item in Package.GetProtocolList():\r
- if Item == None:\r
+ if Item is None:\r
CheckDict = {'Entry':''}\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
#\r
XmlTreeLevel = ['DistributionPackage', 'PackageSurfaceArea', 'PpiDeclarations']\r
for Item in Package.GetPpiList():\r
- if Item == None:\r
+ if Item is None:\r
CheckDict = {'Entry':''}\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
#\r
XmlTreeLevel = ['DistributionPackage', 'PackageSurfaceArea', 'PcdDeclarations']\r
for Item in Package.GetPcdList():\r
- if Item == None:\r
+ if Item is None:\r
CheckDict = {'PcdEntry':''}\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
XmlTreeLevel = ['DistributionPackage', 'PackageSurfaceArea', 'MiscellaneousFiles']\r
for Item in Package.GetMiscFileList():\r
if not Item.GetFileList():\r
- CheckDict = {'Filename':'', }\r
+ CheckDict = {'Filename': '', }\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
for File in Item.GetFileList():\r
- CheckDict = {'Filename':File.GetURI(), }\r
+ CheckDict = {'Filename': File.GetURI(), }\r
IsRequiredItemListNull(CheckDict, XmlTreeLevel)\r
\r
## ValidatePackageSurfaceArea\r