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