]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/GenFds/GenFds.py
BaseTools: refactor and remove un-needed use of .keys() on dictionaries
[mirror_edk2.git] / BaseTools / Source / Python / GenFds / GenFds.py
index 9ca7c8706a9a7c69d2c2a83a1b1cce04039d32a3..54c7d828305f7c58a42378280e622daf9c47909f 100644 (file)
@@ -24,7 +24,6 @@ import Common.BuildToolError as BuildToolError
 from GenFdsGlobalVariable import GenFdsGlobalVariable\r
 from Workspace.WorkspaceDatabase import WorkspaceDatabase\r
 from Workspace.BuildClassObject import PcdClassObject\r
-from Workspace.BuildClassObject import ModuleBuildClassObject\r
 import RuleComplexFile\r
 from EfiSection import EfiSection\r
 import StringIO\r
@@ -38,8 +37,6 @@ from Common.Misc import DirCache, PathClass
 from Common.Misc import SaveFileOnChange\r
 from Common.Misc import ClearDuplicatedInf\r
 from Common.Misc import GuidStructureStringToGuidString\r
-from Common.Misc import CheckPcdDatum\r
-from Common.Misc import BuildOptionPcdValueFormat\r
 from Common.BuildVersion import gBUILD_VERSION\r
 from Common.MultipleWorkspace import MultipleWorkspace as mws\r
 import FfsFileStatement\r
@@ -71,22 +68,22 @@ def main():
 \r
     EdkLogger.Initialize()\r
     try:\r
-        if Options.verbose != None:\r
+        if Options.verbose is not None:\r
             EdkLogger.SetLevel(EdkLogger.VERBOSE)\r
             GenFdsGlobalVariable.VerboseMode = True\r
             \r
-        if Options.FixedAddress != None:\r
+        if Options.FixedAddress is not None:\r
             GenFdsGlobalVariable.FixedLoadAddress = True\r
             \r
-        if Options.quiet != None:\r
+        if Options.quiet is not None:\r
             EdkLogger.SetLevel(EdkLogger.QUIET)\r
-        if Options.debug != None:\r
+        if Options.debug is not None:\r
             EdkLogger.SetLevel(Options.debug + 1)\r
             GenFdsGlobalVariable.DebugLevel = Options.debug\r
         else:\r
             EdkLogger.SetLevel(EdkLogger.INFO)\r
 \r
-        if (Options.Workspace == None):\r
+        if (Options.Workspace is None):\r
             EdkLogger.error("GenFds", OPTION_MISSING, "WORKSPACE not defined",\r
                             ExtraData="Please use '-w' switch to pass it or set the WORKSPACE environment variable.")\r
         elif not os.path.exists(Options.Workspace):\r
@@ -95,7 +92,7 @@ def main():
         else:\r
             Workspace = os.path.normcase(Options.Workspace)\r
             GenFdsGlobalVariable.WorkSpaceDir = Workspace\r
-            if 'EDK_SOURCE' in os.environ.keys():\r
+            if 'EDK_SOURCE' in os.environ:\r
                 GenFdsGlobalVariable.EdkSourceDir = os.path.normcase(os.environ['EDK_SOURCE'])\r
             if (Options.debug):\r
                 GenFdsGlobalVariable.VerboseLogger("Using Workspace:" + Workspace)\r
@@ -144,6 +141,7 @@ def main():
         else:\r
             EdkLogger.error("GenFds", OPTION_MISSING, "Missing active platform")\r
 \r
+        GlobalData.BuildOptionPcd     = Options.OptionPcd if Options.OptionPcd else {}\r
         GenFdsGlobalVariable.ActivePlatform = PathClass(NormPath(ActivePlatform))\r
 \r
         if (Options.ConfDirectory):\r
@@ -158,7 +156,7 @@ def main():
                 # This also handles someone specifying the Conf directory in the workspace. Using --conf=Conf\r
                 ConfDirectoryPath = os.path.join(GenFdsGlobalVariable.WorkSpaceDir, ConfDirectoryPath)\r
         else:\r
-            if "CONF_PATH" in os.environ.keys():\r
+            if "CONF_PATH" in os.environ:\r
                 ConfDirectoryPath = os.path.normcase(os.environ["CONF_PATH"])\r
             else:\r
                 # Get standard WORKSPACE/Conf, use the absolute path to the WORKSPACE/Conf\r
@@ -180,7 +178,7 @@ def main():
             # if no tool chain given in command line, get it from target.txt\r
             if not GenFdsGlobalVariable.ToolChainTag:\r
                 ToolChainList = TargetTxt.TargetTxtDictionary[DataType.TAB_TAT_DEFINES_TOOL_CHAIN_TAG]\r
-                if ToolChainList == None or len(ToolChainList) == 0:\r
+                if ToolChainList is None or len(ToolChainList) == 0:\r
                     EdkLogger.error("GenFds", RESOURCE_NOT_AVAILABLE, ExtraData="No toolchain given. Don't know how to build.")\r
                 if len(ToolChainList) != 1:\r
                     EdkLogger.error("GenFds", OPTION_VALUE_INVALID, ExtraData="Only allows one instance for ToolChain.")\r
@@ -218,11 +216,11 @@ def main():
         os.environ["WORKSPACE"] = Workspace\r
 \r
         # Use the -t and -b option as gGlobalDefines's TOOLCHAIN and TARGET if they are not defined\r
-        if "TARGET" not in GlobalData.gGlobalDefines.keys():\r
+        if "TARGET" not in GlobalData.gGlobalDefines:\r
             GlobalData.gGlobalDefines["TARGET"] = GenFdsGlobalVariable.TargetName\r
-        if "TOOLCHAIN" not in GlobalData.gGlobalDefines.keys():\r
+        if "TOOLCHAIN" not in GlobalData.gGlobalDefines:\r
             GlobalData.gGlobalDefines["TOOLCHAIN"] = GenFdsGlobalVariable.ToolChainTag\r
-        if "TOOL_CHAIN_TAG" not in GlobalData.gGlobalDefines.keys():\r
+        if "TOOL_CHAIN_TAG" not in GlobalData.gGlobalDefines:\r
             GlobalData.gGlobalDefines['TOOL_CHAIN_TAG'] = GenFdsGlobalVariable.ToolChainTag\r
 \r
         """call Workspace build create database"""\r
@@ -240,11 +238,11 @@ def main():
             ArchList = Options.archList.split(',')\r
         else:\r
 #            EdkLogger.error("GenFds", OPTION_MISSING, "Missing build ARCH")\r
-            ArchList = BuildWorkSpace.BuildObject[GenFdsGlobalVariable.ActivePlatform, 'COMMON', Options.BuildTarget, Options.ToolChain].SupArchList\r
+            ArchList = BuildWorkSpace.BuildObject[GenFdsGlobalVariable.ActivePlatform, TAB_COMMON, Options.BuildTarget, Options.ToolChain].SupArchList\r
 \r
-        TargetArchList = set(BuildWorkSpace.BuildObject[GenFdsGlobalVariable.ActivePlatform, 'COMMON', Options.BuildTarget, Options.ToolChain].SupArchList) & set(ArchList)\r
+        TargetArchList = set(BuildWorkSpace.BuildObject[GenFdsGlobalVariable.ActivePlatform, TAB_COMMON, Options.BuildTarget, Options.ToolChain].SupArchList) & set(ArchList)\r
         if len(TargetArchList) == 0:\r
-            EdkLogger.error("GenFds", GENFDS_ERROR, "Target ARCH %s not in platform supported ARCH %s" % (str(ArchList), str(BuildWorkSpace.BuildObject[GenFdsGlobalVariable.ActivePlatform, 'COMMON'].SupArchList)))\r
+            EdkLogger.error("GenFds", GENFDS_ERROR, "Target ARCH %s not in platform supported ARCH %s" % (str(ArchList), str(BuildWorkSpace.BuildObject[GenFdsGlobalVariable.ActivePlatform, TAB_COMMON].SupArchList)))\r
         \r
         for Arch in ArchList:\r
             GenFdsGlobalVariable.OutputDirFromDscDict[Arch] = NormPath(BuildWorkSpace.BuildObject[GenFdsGlobalVariable.ActivePlatform, Arch, Options.BuildTarget, Options.ToolChain].OutputDirectory)\r
@@ -280,28 +278,28 @@ def main():
             EdkLogger.error("GenFds", FORMAT_NOT_SUPPORTED, "Cycle Reference Detected in FDF file")\r
 \r
         if (Options.uiFdName) :\r
-            if Options.uiFdName.upper() in FdfParserObj.Profile.FdDict.keys():\r
+            if Options.uiFdName.upper() in FdfParserObj.Profile.FdDict:\r
                 GenFds.OnlyGenerateThisFd = Options.uiFdName\r
             else:\r
                 EdkLogger.error("GenFds", OPTION_VALUE_INVALID,\r
                                 "No such an FD in FDF file: %s" % Options.uiFdName)\r
 \r
         if (Options.uiFvName) :\r
-            if Options.uiFvName.upper() in FdfParserObj.Profile.FvDict.keys():\r
+            if Options.uiFvName.upper() in FdfParserObj.Profile.FvDict:\r
                 GenFds.OnlyGenerateThisFv = Options.uiFvName\r
             else:\r
                 EdkLogger.error("GenFds", OPTION_VALUE_INVALID,\r
                                 "No such an FV in FDF file: %s" % Options.uiFvName)\r
 \r
         if (Options.uiCapName) :\r
-            if Options.uiCapName.upper() in FdfParserObj.Profile.CapsuleDict.keys():\r
+            if Options.uiCapName.upper() in FdfParserObj.Profile.CapsuleDict:\r
                 GenFds.OnlyGenerateThisCap = Options.uiCapName\r
             else:\r
                 EdkLogger.error("GenFds", OPTION_VALUE_INVALID,\r
                                 "No such a Capsule in FDF file: %s" % Options.uiCapName)\r
 \r
         GenFdsGlobalVariable.WorkSpace = BuildWorkSpace\r
-        if ArchList != None:\r
+        if ArchList is not None:\r
             GenFdsGlobalVariable.ArchList = ArchList\r
 \r
         # Dsc Build Data will handle Pcd Settings from CommandLine.\r
@@ -328,7 +326,6 @@ def main():
                                     FvObj.FvRegionInFD = RegionObj.Size\r
                                     RegionObj.BlockInfoOfRegion(FdObj.BlockSizeList, FvObj)\r
 \r
-        GlobalData.BuildOptionPcd     = Options.OptionPcd if Options.OptionPcd else {}\r
         """Call GenFds"""\r
         GenFds.GenFd('', FdfParserObj, BuildWorkSpace, ArchList)\r
 \r
@@ -342,7 +339,7 @@ def main():
         EdkLogger.error(X.ToolName, FORMAT_INVALID, File=X.FileName, Line=X.LineNumber, ExtraData=X.Message, RaiseError=False)\r
         ReturnCode = FORMAT_INVALID\r
     except FatalError, X:\r
-        if Options.debug != None:\r
+        if Options.debug is not None:\r
             import traceback\r
             EdkLogger.quiet(traceback.format_exc())\r
         ReturnCode = X.args[0]\r
@@ -369,53 +366,6 @@ def SingleCheckCallback(option, opt_str, value, parser):
     else:\r
         parser.error("Option %s only allows one instance in command line!" % option)\r
 \r
-def CheckBuildOptionPcd():\r
-    for Arch in GenFdsGlobalVariable.ArchList:\r
-        PkgList  = GenFdsGlobalVariable.WorkSpace.GetPackageList(GenFdsGlobalVariable.ActivePlatform, Arch, GenFdsGlobalVariable.TargetName, GenFdsGlobalVariable.ToolChainTag)\r
-        for i, pcd in enumerate(GlobalData.BuildOptionPcd):\r
-            if type(pcd) is tuple:\r
-                continue\r
-            (pcdname, pcdvalue) = pcd.split('=')\r
-            if not pcdvalue:\r
-                EdkLogger.error('GenFds', OPTION_MISSING, "No Value specified for the PCD %s." % (pcdname))\r
-            if '.' in pcdname:\r
-                (TokenSpaceGuidCName, TokenCName) = pcdname.split('.')\r
-                HasTokenSpace = True\r
-            else:\r
-                TokenCName = pcdname\r
-                TokenSpaceGuidCName = ''\r
-                HasTokenSpace = False\r
-            TokenSpaceGuidCNameList = []\r
-            FoundFlag = False\r
-            PcdDatumType = ''\r
-            NewValue = ''\r
-            for package in PkgList:\r
-                for key in package.Pcds:\r
-                    PcdItem = package.Pcds[key]\r
-                    if HasTokenSpace:\r
-                        if (PcdItem.TokenCName, PcdItem.TokenSpaceGuidCName) == (TokenCName, TokenSpaceGuidCName):\r
-                            PcdDatumType = PcdItem.DatumType\r
-                            NewValue = BuildOptionPcdValueFormat(TokenSpaceGuidCName, TokenCName, PcdDatumType, pcdvalue)\r
-                            FoundFlag = True\r
-                    else:\r
-                        if PcdItem.TokenCName == TokenCName:\r
-                            if not PcdItem.TokenSpaceGuidCName in TokenSpaceGuidCNameList:\r
-                                if len (TokenSpaceGuidCNameList) < 1:\r
-                                    TokenSpaceGuidCNameList.append(PcdItem.TokenSpaceGuidCName)\r
-                                    PcdDatumType = PcdItem.DatumType\r
-                                    TokenSpaceGuidCName = PcdItem.TokenSpaceGuidCName\r
-                                    NewValue = BuildOptionPcdValueFormat(TokenSpaceGuidCName, TokenCName, PcdDatumType, pcdvalue)\r
-                                    FoundFlag = True\r
-                                else:\r
-                                    EdkLogger.error(\r
-                                            'GenFds',\r
-                                            PCD_VALIDATION_INFO_ERROR,\r
-                                            "The Pcd %s is found under multiple different TokenSpaceGuid: %s and %s." % (TokenCName, PcdItem.TokenSpaceGuidCName, TokenSpaceGuidCNameList[0])\r
-                                            )\r
-\r
-            GlobalData.BuildOptionPcd[i] = (TokenSpaceGuidCName, TokenCName, NewValue)\r
-\r
-\r
 ## FindExtendTool()\r
 #\r
 #  Find location of tools to process data\r
@@ -427,7 +377,7 @@ def CheckBuildOptionPcd():
 def FindExtendTool(KeyStringList, CurrentArchList, NameGuid):\r
     ToolDb = ToolDefClassObject.ToolDefDict(GenFdsGlobalVariable.ConfDir).ToolsDefTxtDatabase\r
     # if user not specify filter, try to deduce it from global data.\r
-    if KeyStringList == None or KeyStringList == []:\r
+    if KeyStringList is None or KeyStringList == []:\r
         Target = GenFdsGlobalVariable.TargetName\r
         ToolChain = GenFdsGlobalVariable.ToolChainTag\r
         if ToolChain not in ToolDb['TOOL_CHAIN_TAG']:\r
@@ -438,7 +388,7 @@ def FindExtendTool(KeyStringList, CurrentArchList, NameGuid):
                 KeyStringList.append(Target + '_' + ToolChain + '_' + Arch)\r
 \r
     if GenFdsGlobalVariable.GuidToolDefinition:\r
-        if NameGuid in GenFdsGlobalVariable.GuidToolDefinition.keys():\r
+        if NameGuid in GenFdsGlobalVariable.GuidToolDefinition:\r
             return GenFdsGlobalVariable.GuidToolDefinition[NameGuid]\r
 \r
     ToolDefinition = ToolDefClassObject.ToolDefDict(GenFdsGlobalVariable.ConfDir).ToolsDefTxtDictionary\r
@@ -448,7 +398,7 @@ def FindExtendTool(KeyStringList, CurrentArchList, NameGuid):
     ToolOptionKey = None\r
     KeyList = None\r
     for ToolDef in ToolDefinition.items():\r
-        if NameGuid == ToolDef[1]:\r
+        if NameGuid.lower() == ToolDef[1].lower() :\r
             KeyList = ToolDef[0].split('_')\r
             Key = KeyList[0] + \\r
                   '_' + \\r
@@ -460,7 +410,7 @@ def FindExtendTool(KeyStringList, CurrentArchList, NameGuid):
                 ToolOptionKey = Key + '_' + KeyList[3] + '_FLAGS'\r
                 ToolPath = ToolDefinition.get(ToolPathKey)\r
                 ToolOption = ToolDefinition.get(ToolOptionKey)\r
-                if ToolPathTmp == None:\r
+                if ToolPathTmp is None:\r
                     ToolPathTmp = ToolPath\r
                 else:\r
                     if ToolPathTmp != ToolPath:\r
@@ -500,10 +450,10 @@ def FindExtendTool(KeyStringList, CurrentArchList, NameGuid):
                     if Key in KeyStringList and KeyList[4] == 'GUID':\r
                         ToolPathKey   = Key + '_' + KeyList[3] + '_PATH'\r
                         ToolOptionKey = Key + '_' + KeyList[3] + '_FLAGS'\r
-        if ToolPathKey in BuildOption.keys():\r
-            ToolPathTmp = BuildOption.get(ToolPathKey)\r
-        if ToolOptionKey in BuildOption.keys():\r
-            ToolOption = BuildOption.get(ToolOptionKey)\r
+        if ToolPathKey in BuildOption:\r
+            ToolPathTmp = BuildOption[ToolPathKey]\r
+        if ToolOptionKey in BuildOption:\r
+            ToolOption = BuildOption[ToolOptionKey]\r
 \r
     GenFdsGlobalVariable.GuidToolDefinition[NameGuid] = (ToolPathTmp, ToolOption)\r
     return ToolPathTmp, ToolOption\r
@@ -572,63 +522,56 @@ class GenFds :
         GenFdsGlobalVariable.SetDir ('', FdfParser, WorkSpace, ArchList)\r
 \r
         GenFdsGlobalVariable.VerboseLogger(" Generate all Fd images and their required FV and Capsule images!")\r
-        if GenFds.OnlyGenerateThisCap != None and GenFds.OnlyGenerateThisCap.upper() in GenFdsGlobalVariable.FdfParser.Profile.CapsuleDict.keys():\r
-            CapsuleObj = GenFdsGlobalVariable.FdfParser.Profile.CapsuleDict.get(GenFds.OnlyGenerateThisCap.upper())\r
-            if CapsuleObj != None:\r
+        if GenFds.OnlyGenerateThisCap is not None and GenFds.OnlyGenerateThisCap.upper() in GenFdsGlobalVariable.FdfParser.Profile.CapsuleDict:\r
+            CapsuleObj = GenFdsGlobalVariable.FdfParser.Profile.CapsuleDict[GenFds.OnlyGenerateThisCap.upper()]\r
+            if CapsuleObj is not None:\r
                 CapsuleObj.GenCapsule()\r
                 return\r
 \r
-        if GenFds.OnlyGenerateThisFd != None and GenFds.OnlyGenerateThisFd.upper() in GenFdsGlobalVariable.FdfParser.Profile.FdDict.keys():\r
-            FdObj = GenFdsGlobalVariable.FdfParser.Profile.FdDict.get(GenFds.OnlyGenerateThisFd.upper())\r
-            if FdObj != None:\r
+        if GenFds.OnlyGenerateThisFd is not None and GenFds.OnlyGenerateThisFd.upper() in GenFdsGlobalVariable.FdfParser.Profile.FdDict:\r
+            FdObj = GenFdsGlobalVariable.FdfParser.Profile.FdDict[GenFds.OnlyGenerateThisFd.upper()]\r
+            if FdObj is not None:\r
                 FdObj.GenFd()\r
                 return\r
-        elif GenFds.OnlyGenerateThisFd == None and GenFds.OnlyGenerateThisFv == None:\r
-            for FdName in GenFdsGlobalVariable.FdfParser.Profile.FdDict.keys():\r
-                FdObj = GenFdsGlobalVariable.FdfParser.Profile.FdDict[FdName]\r
+        elif GenFds.OnlyGenerateThisFd is None and GenFds.OnlyGenerateThisFv is None:\r
+            for FdObj in GenFdsGlobalVariable.FdfParser.Profile.FdDict.values():\r
                 FdObj.GenFd()\r
 \r
         GenFdsGlobalVariable.VerboseLogger("\n Generate other FV images! ")\r
-        if GenFds.OnlyGenerateThisFv != None and GenFds.OnlyGenerateThisFv.upper() in GenFdsGlobalVariable.FdfParser.Profile.FvDict.keys():\r
-            FvObj = GenFdsGlobalVariable.FdfParser.Profile.FvDict.get(GenFds.OnlyGenerateThisFv.upper())\r
-            if FvObj != None:\r
+        if GenFds.OnlyGenerateThisFv is not None and GenFds.OnlyGenerateThisFv.upper() in GenFdsGlobalVariable.FdfParser.Profile.FvDict:\r
+            FvObj = GenFdsGlobalVariable.FdfParser.Profile.FvDict[GenFds.OnlyGenerateThisFv.upper()]\r
+            if FvObj is not None:\r
                 Buffer = StringIO.StringIO()\r
                 FvObj.AddToBuffer(Buffer)\r
                 Buffer.close()\r
                 return\r
-        elif GenFds.OnlyGenerateThisFv == None:\r
-            for FvName in GenFdsGlobalVariable.FdfParser.Profile.FvDict.keys():\r
+        elif GenFds.OnlyGenerateThisFv is None:\r
+            for FvObj in GenFdsGlobalVariable.FdfParser.Profile.FvDict.values():\r
                 Buffer = StringIO.StringIO('')\r
-                FvObj = GenFdsGlobalVariable.FdfParser.Profile.FvDict[FvName]\r
                 FvObj.AddToBuffer(Buffer)\r
                 Buffer.close()\r
         \r
-        if GenFds.OnlyGenerateThisFv == None and GenFds.OnlyGenerateThisFd == None and GenFds.OnlyGenerateThisCap == None:\r
+        if GenFds.OnlyGenerateThisFv is None and GenFds.OnlyGenerateThisFd is None and GenFds.OnlyGenerateThisCap is None:\r
             if GenFdsGlobalVariable.FdfParser.Profile.CapsuleDict != {}:\r
                 GenFdsGlobalVariable.VerboseLogger("\n Generate other Capsule images!")\r
-                for CapsuleName in GenFdsGlobalVariable.FdfParser.Profile.CapsuleDict.keys():\r
-                    CapsuleObj = GenFdsGlobalVariable.FdfParser.Profile.CapsuleDict[CapsuleName]\r
+                for CapsuleObj in GenFdsGlobalVariable.FdfParser.Profile.CapsuleDict.values():\r
                     CapsuleObj.GenCapsule()\r
 \r
             if GenFdsGlobalVariable.FdfParser.Profile.OptRomDict != {}:\r
                 GenFdsGlobalVariable.VerboseLogger("\n Generate all Option ROM!")\r
-                for DriverName in GenFdsGlobalVariable.FdfParser.Profile.OptRomDict.keys():\r
-                    OptRomObj = GenFdsGlobalVariable.FdfParser.Profile.OptRomDict[DriverName]\r
+                for OptRomObj in GenFdsGlobalVariable.FdfParser.Profile.OptRomDict.values():\r
                     OptRomObj.AddToBuffer(None)\r
     @staticmethod\r
     def GenFfsMakefile(OutputDir, FdfParser, WorkSpace, ArchList, GlobalData):\r
         GenFdsGlobalVariable.SetEnv(FdfParser, WorkSpace, ArchList, GlobalData)\r
-        for FdName in GenFdsGlobalVariable.FdfParser.Profile.FdDict.keys():\r
-            FdObj = GenFdsGlobalVariable.FdfParser.Profile.FdDict[FdName]\r
+        for FdObj in GenFdsGlobalVariable.FdfParser.Profile.FdDict.values():\r
             FdObj.GenFd(Flag=True)\r
 \r
-        for FvName in GenFdsGlobalVariable.FdfParser.Profile.FvDict.keys():\r
-            FvObj = GenFdsGlobalVariable.FdfParser.Profile.FvDict[FvName]\r
+        for FvObj in GenFdsGlobalVariable.FdfParser.Profile.FvDict.values():\r
             FvObj.AddToBuffer(Buffer=None, Flag=True)\r
 \r
         if GenFdsGlobalVariable.FdfParser.Profile.OptRomDict != {}:\r
-            for DriverName in GenFdsGlobalVariable.FdfParser.Profile.OptRomDict.keys():\r
-                OptRomObj = GenFdsGlobalVariable.FdfParser.Profile.OptRomDict[DriverName]\r
+            for OptRomObj in GenFdsGlobalVariable.FdfParser.Profile.OptRomDict.values():\r
                 OptRomObj.AddToBuffer(Buffer=None, Flag=True)\r
 \r
         return GenFdsGlobalVariable.FfsCmdDict\r
@@ -641,14 +584,14 @@ class GenFds :
     def GetFvBlockSize(FvObj):\r
         DefaultBlockSize = 0x1\r
         FdObj = None\r
-        if GenFds.OnlyGenerateThisFd != None and GenFds.OnlyGenerateThisFd.upper() in GenFdsGlobalVariable.FdfParser.Profile.FdDict.keys():\r
+        if GenFds.OnlyGenerateThisFd is not None and GenFds.OnlyGenerateThisFd.upper() in GenFdsGlobalVariable.FdfParser.Profile.FdDict:\r
             FdObj = GenFdsGlobalVariable.FdfParser.Profile.FdDict[GenFds.OnlyGenerateThisFd.upper()]\r
-        if FdObj == None:\r
+        if FdObj is None:\r
             for ElementFd in GenFdsGlobalVariable.FdfParser.Profile.FdDict.values():\r
                 for ElementRegion in ElementFd.RegionList:\r
                     if ElementRegion.RegionType == 'FV':\r
                         for ElementRegionData in ElementRegion.RegionDataList:\r
-                            if ElementRegionData != None and ElementRegionData.upper() == FvObj.UiFvName:\r
+                            if ElementRegionData is not None and ElementRegionData.upper() == FvObj.UiFvName:\r
                                 if FvObj.BlockSizeList != []:\r
                                     return FvObj.BlockSizeList[0][0]\r
                                 else:\r
@@ -660,7 +603,7 @@ class GenFds :
             for ElementRegion in FdObj.RegionList:\r
                     if ElementRegion.RegionType == 'FV':\r
                         for ElementRegionData in ElementRegion.RegionDataList:\r
-                            if ElementRegionData != None and ElementRegionData.upper() == FvObj.UiFvName:\r
+                            if ElementRegionData is not None and ElementRegionData.upper() == FvObj.UiFvName:\r
                                 if FvObj.BlockSizeList != []:\r
                                     return FvObj.BlockSizeList[0][0]\r
                                 else:\r
@@ -724,7 +667,7 @@ class GenFds :
     #   @retval None\r
     #\r
     def PreprocessImage(BuildDb, DscFile):\r
-        PcdDict = BuildDb.BuildObject[DscFile, 'COMMON', GenFdsGlobalVariable.TargetName, GenFdsGlobalVariable.ToolChainTag].Pcds\r
+        PcdDict = BuildDb.BuildObject[DscFile, TAB_COMMON, GenFdsGlobalVariable.TargetName, GenFdsGlobalVariable.ToolChainTag].Pcds\r
         PcdValue = ''\r
         for Key in PcdDict:\r
             PcdObj = PcdDict[Key]\r
@@ -743,9 +686,9 @@ class GenFds :
         if Int64PcdValue > 0:\r
             TopAddress = Int64PcdValue\r
             \r
-        ModuleDict = BuildDb.BuildObject[DscFile, 'COMMON', GenFdsGlobalVariable.TargetName, GenFdsGlobalVariable.ToolChainTag].Modules\r
+        ModuleDict = BuildDb.BuildObject[DscFile, TAB_COMMON, GenFdsGlobalVariable.TargetName, GenFdsGlobalVariable.ToolChainTag].Modules\r
         for Key in ModuleDict:\r
-            ModuleObj = BuildDb.BuildObject[Key, 'COMMON', GenFdsGlobalVariable.TargetName, GenFdsGlobalVariable.ToolChainTag]\r
+            ModuleObj = BuildDb.BuildObject[Key, TAB_COMMON, GenFdsGlobalVariable.TargetName, GenFdsGlobalVariable.ToolChainTag]\r
             print ModuleObj.BaseName + ' ' + ModuleObj.ModuleType\r
 \r
     def GenerateGuidXRefFile(BuildDb, ArchList, FdfParserObj):\r