]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/PatchPcdValue/PatchPcdValue.py
BaseTools: no need to do int() API work for it
[mirror_edk2.git] / BaseTools / Source / Python / PatchPcdValue / PatchPcdValue.py
index 1b3a0ec93d62c1b503e1020082519bb31ff96c88..0664d6a90fa14ca9a11dadfd644698aa55816467 100644 (file)
@@ -48,7 +48,7 @@ def PatchBinaryFile(FileName, ValueOffset, TypeName, ValueString, MaxSize=0):
     #\r
     # Length of Binary File\r
     #\r
-    FileHandle = open (FileName, 'rb')\r
+    FileHandle = open(FileName, 'rb')\r
     FileHandle.seek (0, 2)\r
     FileLength = FileHandle.tell()\r
     FileHandle.close()\r
@@ -75,7 +75,7 @@ def PatchBinaryFile(FileName, ValueOffset, TypeName, ValueString, MaxSize=0):
             return OPTION_MISSING, "PcdMaxSize is not specified for VOID* type PCD."\r
         ValueLength = int(MaxSize)\r
     else:\r
-        return PARAMETER_INVALID,  "PCD type %s is not valid." %(CommandOptions.PcdTypeName)\r
+        return PARAMETER_INVALID, "PCD type %s is not valid." % (CommandOptions.PcdTypeName)\r
     #\r
     # Check PcdValue is in the input binary file.\r
     #\r
@@ -84,7 +84,7 @@ def PatchBinaryFile(FileName, ValueOffset, TypeName, ValueString, MaxSize=0):
     #\r
     # Read binary file into array\r
     #\r
-    FileHandle = open (FileName, 'rb')\r
+    FileHandle = open(FileName, 'rb')\r
     ByteArray = array.array('B')\r
     ByteArray.fromfile(FileHandle, FileLength)\r
     FileHandle.close()\r
@@ -110,14 +110,11 @@ def PatchBinaryFile(FileName, ValueOffset, TypeName, ValueString, MaxSize=0):
                 ValueNumber = 1\r
             elif ValueString == 'FALSE':\r
                 ValueNumber = 0\r
-            elif ValueString.startswith('0X'):\r
-                ValueNumber = int (ValueString, 16)\r
-            else:\r
-                ValueNumber = int (ValueString)\r
+            ValueNumber = int (ValueString, 0)\r
             if ValueNumber != 0:\r
                 ValueNumber = 1\r
         except:\r
-            return PARAMETER_INVALID, "PCD Value %s is not valid dec or hex string." %(ValueString)\r
+            return PARAMETER_INVALID, "PCD Value %s is not valid dec or hex string." % (ValueString)\r
         #\r
         # Set PCD value into binary data\r
         #\r
@@ -127,12 +124,9 @@ def PatchBinaryFile(FileName, ValueOffset, TypeName, ValueString, MaxSize=0):
         # Get PCD value for UINT* data type\r
         #\r
         try:\r
-            if ValueString.startswith('0X'):\r
-                ValueNumber = int (ValueString, 16)\r
-            else:\r
-                ValueNumber = int (ValueString)\r
+            ValueNumber = int (ValueString, 0)\r
         except:\r
-            return PARAMETER_INVALID, "PCD Value %s is not valid dec or hex string." %(ValueString)\r
+            return PARAMETER_INVALID, "PCD Value %s is not valid dec or hex string." % (ValueString)\r
         #\r
         # Set PCD value into binary data\r
         #\r
@@ -161,10 +155,11 @@ def PatchBinaryFile(FileName, ValueOffset, TypeName, ValueString, MaxSize=0):
             #\r
             # Patch {0x1, 0x2, ...} byte by byte\r
             #\r
-            ValueList = ValueString[1 : len(ValueString) - 1].split(', ')\r
+            ValueList = ValueString[1 : len(ValueString) - 1].split(',')\r
             Index = 0\r
             try:\r
                 for ByteString in ValueList:\r
+                    ByteString = ByteString.strip()\r
                     if ByteString.upper().startswith('0X'):\r
                         ByteValue = int(ByteString, 16)\r
                     else:\r
@@ -174,7 +169,7 @@ def PatchBinaryFile(FileName, ValueOffset, TypeName, ValueString, MaxSize=0):
                     if Index >= ValueLength:\r
                         break\r
             except:\r
-                return PARAMETER_INVALID, "PCD Value %s is not valid dec or hex string array." %(ValueString)\r
+                return PARAMETER_INVALID, "PCD Value %s is not valid dec or hex string array." % (ValueString)\r
         else:\r
             #\r
             # Patch ascii string \r
@@ -197,10 +192,10 @@ def PatchBinaryFile(FileName, ValueOffset, TypeName, ValueString, MaxSize=0):
     if ByteList != OrigByteList:\r
         ByteArray = array.array('B')\r
         ByteArray.fromlist(ByteList)\r
-        FileHandle = open (FileName, 'wb')\r
+        FileHandle = open(FileName, 'wb')\r
         ByteArray.tofile(FileHandle)\r
         FileHandle.close()\r
-    return 0, "Patch Value into File %s successfully." %(FileName)\r
+    return 0, "Patch Value into File %s successfully." % (FileName)\r
 \r
 ## Parse command line options\r
 #\r
@@ -266,13 +261,13 @@ def Main():
         if not os.path.exists (InputFile):\r
             EdkLogger.error("PatchPcdValue", FILE_NOT_FOUND, ExtraData=InputFile)\r
             return 1\r
-        if CommandOptions.PcdOffset == None or CommandOptions.PcdValue == None or CommandOptions.PcdTypeName == None:\r
+        if CommandOptions.PcdOffset is None or CommandOptions.PcdValue is None or CommandOptions.PcdTypeName is None:\r
             EdkLogger.error("PatchPcdValue", OPTION_MISSING, ExtraData="PcdOffset or PcdValue of PcdTypeName is not specified.")\r
             return 1\r
         if CommandOptions.PcdTypeName.upper() not in ["BOOLEAN", "UINT8", "UINT16", "UINT32", "UINT64", "VOID*"]:\r
-            EdkLogger.error("PatchPcdValue", PARAMETER_INVALID, ExtraData="PCD type %s is not valid." %(CommandOptions.PcdTypeName))\r
+            EdkLogger.error("PatchPcdValue", PARAMETER_INVALID, ExtraData="PCD type %s is not valid." % (CommandOptions.PcdTypeName))\r
             return 1\r
-        if CommandOptions.PcdTypeName.upper() == "VOID*" and CommandOptions.PcdMaxSize == None:\r
+        if CommandOptions.PcdTypeName.upper() == "VOID*" and CommandOptions.PcdMaxSize is None:\r
             EdkLogger.error("PatchPcdValue", OPTION_MISSING, ExtraData="PcdMaxSize is not specified for VOID* type PCD.")\r
             return 1\r
         #\r