use <char> in string.hexdigits instead of custom functions.

Cc: Yonghong Zhu <[email protected]>
Cc: Liming Gao <[email protected]>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <[email protected]>
---
 BaseTools/Source/Python/Common/FdfParserLite.py | 26 +++-----------------
 BaseTools/Source/Python/GenFds/FdfParser.py     | 26 +++-----------------
 2 files changed, 8 insertions(+), 44 deletions(-)

diff --git a/BaseTools/Source/Python/Common/FdfParserLite.py 
b/BaseTools/Source/Python/Common/FdfParserLite.py
index b7b5e21a9e3f..4638916fab2c 100644
--- a/BaseTools/Source/Python/Common/FdfParserLite.py
+++ b/BaseTools/Source/Python/Common/FdfParserLite.py
@@ -23,6 +23,7 @@ from Common.LongFilePathSupport import OpenLongFilePath as 
open
 from Common.MultipleWorkspace import MultipleWorkspace as mws
 from Common.RangeExpression import RangeExpression
 from Common.GlobalData import *
+import string
 
 ##define T_CHAR_SPACE                ' '
 ##define T_CHAR_NULL                 '\0'
@@ -974,32 +975,13 @@ class FdfParser(object):
             
         self.__GetOneChar()
     
-    ## __HexDigit() method
-    #
-    #   Whether char input is a Hex data bit
-    #
-    #   @param  self        The object pointer
-    #   @param  TempChar    The char to test
-    #   @retval True        The char is a Hex data bit
-    #   @retval False       The char is NOT a Hex data bit
-    #
-    def __HexDigit(self, TempChar):
-        if (TempChar >= 'a' and TempChar <= 'f') or (TempChar >= 'A' and 
TempChar <= 'F') \
-                or (TempChar >= '0' and TempChar <= '9'):
-                    return True
-        else:
-            return False
-    
     def __IsHex(self, HexStr):
         if not HexStr.upper().startswith("0X"):
             return False
         if len(self.__Token) <= 2:
             return False
-        charList = [c for c in HexStr[2 : ] if not self.__HexDigit( c)]
-        if len(charList) == 0:
-            return True
-        else:
-            return False    
+        return True if all(x in string.hexdigits for x in HexStr[2:]) else 
False
+
     ## __GetNextHexNumber() method
     #
     #   Get next HEX data before a seperator
@@ -3457,7 +3439,7 @@ class FdfParser(object):
             raise Warning("expected Component type At Line ", self.FileName, 
self.CurrentLineNumber)
         if self.__Token not in ("FIT", "PAL_B", "PAL_A", "OEM"):
             if not self.__Token.startswith("0x") or len(self.__Token) < 3 or 
len(self.__Token) > 4 or \
-                not self.__HexDigit(self.__Token[2]) or not 
self.__HexDigit(self.__Token[-1]):
+                not self.__Token[2] in string.hexdigits or not 
self.__Token[-1] in string.hexdigits:
                 raise Warning("Unknown location type At line ", self.FileName, 
self.CurrentLineNumber)
         CompStatementObj.CompType = self.__Token
         
diff --git a/BaseTools/Source/Python/GenFds/FdfParser.py 
b/BaseTools/Source/Python/GenFds/FdfParser.py
index 9903e9570cf9..4dc686922b5a 100644
--- a/BaseTools/Source/Python/GenFds/FdfParser.py
+++ b/BaseTools/Source/Python/GenFds/FdfParser.py
@@ -42,6 +42,7 @@ import ComponentStatement
 import OptionRom
 import OptRomInfStatement
 import OptRomFileStatement
+import string
 
 from GenFdsGlobalVariable import GenFdsGlobalVariable
 from Common.BuildToolError import *
@@ -1195,32 +1196,13 @@ class FdfParser:
 
         self.__GetOneChar()
 
-    ## __HexDigit() method
-    #
-    #   Whether char input is a Hex data bit
-    #
-    #   @param  self        The object pointer
-    #   @param  TempChar    The char to test
-    #   @retval True        The char is a Hex data bit
-    #   @retval False       The char is NOT a Hex data bit
-    #
-    def __HexDigit(self, TempChar):
-        if (TempChar >= 'a' and TempChar <= 'f') or (TempChar >= 'A' and 
TempChar <= 'F') \
-                or (TempChar >= '0' and TempChar <= '9'):
-                    return True
-        else:
-            return False
-
     def __IsHex(self, HexStr):
         if not HexStr.upper().startswith("0X"):
             return False
         if len(self.__Token) <= 2:
             return False
-        charList = [c for c in HexStr[2 : ] if not self.__HexDigit( c)]
-        if len(charList) == 0:
-            return True
-        else:
-            return False
+        return True if all(x in string.hexdigits for x in HexStr[2:]) else 
False
+
     ## __GetNextHexNumber() method
     #
     #   Get next HEX data before a seperator
@@ -4299,7 +4281,7 @@ class FdfParser:
             raise Warning("expected Component type", self.FileName, 
self.CurrentLineNumber)
         if self.__Token not in ("FIT", "PAL_B", "PAL_A", "OEM"):
             if not self.__Token.startswith("0x") or len(self.__Token) < 3 or 
len(self.__Token) > 4 or \
-                not self.__HexDigit(self.__Token[2]) or not 
self.__HexDigit(self.__Token[-1]):
+                not self.__Token[2] in string.hexdigits or not 
self.__Token[-1] in string.hexdigits:
                 raise Warning("Unknown location type '%s'" % self.__Token, 
self.FileName, self.CurrentLineNumber)
         CompStatementObj.CompType = self.__Token
 
-- 
2.16.2.windows.1

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to