X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=BaseTools%2FSource%2FPython%2FCommon%2FVpdInfoFile.py;h=435b23f203a05b1a130e6f1df695fd5a7588432e;hp=5559a88b97f2765fe669c62d2c8641151d7aba75;hb=890d8ede6867dd43d96b5b04454f0b571938e3a3;hpb=9eb87141eca12b1f15afa4b769af04d1395891c6 diff --git a/BaseTools/Source/Python/Common/VpdInfoFile.py b/BaseTools/Source/Python/Common/VpdInfoFile.py index 5559a88b97..435b23f203 100644 --- a/BaseTools/Source/Python/Common/VpdInfoFile.py +++ b/BaseTools/Source/Python/Common/VpdInfoFile.py @@ -15,6 +15,7 @@ # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. # +from __future__ import print_function import Common.LongFilePathOs as os import re import Common.EdkLogger as EdkLogger @@ -23,6 +24,7 @@ import subprocess import Common.GlobalData as GlobalData from Common.LongFilePathSupport import OpenLongFilePath as open from Common.Misc import SaveFileOnChange +from Common.DataType import * FILE_COMMENT_TEMPLATE = \ """ @@ -67,9 +69,7 @@ FILE_COMMENT_TEMPLATE = \ # ::= ["," ]* # class VpdInfoFile: - - ## The mapping dictionary from datum type to size string. - _MAX_SIZE_TYPE = {"BOOLEAN":"1", "UINT8":"1", "UINT16":"2", "UINT32":"4", "UINT64":"8"} + _rVpdPcdLine = None ## Constructor def __init__(self): @@ -95,13 +95,13 @@ class VpdInfoFile: if not (Offset >= 0 or Offset == "*"): EdkLogger.error("VpdInfoFile", BuildToolError.PARAMETER_INVALID, "Invalid offset parameter: %s." % Offset) - if Vpd.DatumType == "VOID*": + if Vpd.DatumType == TAB_VOID: if Vpd.MaxDatumSize <= 0: EdkLogger.error("VpdInfoFile", BuildToolError.PARAMETER_INVALID, "Invalid max datum size for VPD PCD %s.%s" % (Vpd.TokenSpaceGuidCName, Vpd.TokenCName)) - elif Vpd.DatumType in ["BOOLEAN", "UINT8", "UINT16", "UINT32", "UINT64"]: - if Vpd.MaxDatumSize is None or Vpd.MaxDatumSize == "": - Vpd.MaxDatumSize = VpdInfoFile._MAX_SIZE_TYPE[Vpd.DatumType] + elif Vpd.DatumType in TAB_PCD_NUMERIC_TYPES: + if not Vpd.MaxDatumSize: + Vpd.MaxDatumSize = MAX_SIZE_TYPE[Vpd.DatumType] else: if Vpd.MaxDatumSize <= 0: EdkLogger.error("VpdInfoFile", BuildToolError.PARAMETER_INVALID, @@ -218,7 +218,8 @@ class VpdInfoFile: return None return self._VpdArray[vpd] - def GetVpdInfo(self,(PcdTokenName,TokenSpaceName)): + def GetVpdInfo(self, arg): + (PcdTokenName, TokenSpaceName) = arg return self._VpdInfo.get((TokenSpaceName, PcdTokenName)) ## Call external BPDG tool to process VPD file @@ -246,10 +247,10 @@ def CallExtenalBPDGTool(ToolPath, VpdFileName): stdout=subprocess.PIPE, stderr= subprocess.PIPE, shell=True) - except Exception, X: - EdkLogger.error("BPDG", BuildToolError.COMMAND_FAILURE, ExtraData="%s" % (str(X))) + except Exception as X: + EdkLogger.error("BPDG", BuildToolError.COMMAND_FAILURE, ExtraData=str(X)) (out, error) = PopenObject.communicate() - print out + print(out) while PopenObject.returncode is None : PopenObject.wait()