diff options
author | Carsey, Jaben <jaben.carsey@intel.com> | 2018-04-17 22:40:15 +0800 |
---|---|---|
committer | Yonghong Zhu <yonghong.zhu@intel.com> | 2018-04-18 22:15:36 +0800 |
commit | 9eb87141eca12b1f15afa4b769af04d1395891c6 (patch) | |
tree | 82ac481092b68ea3684f94bf7dc90c3c584aea52 /BaseTools/Source/Python/Common | |
parent | 55c84777ee638be8735a5c421941e7eb71633bdf (diff) | |
download | edk2-9eb87141eca12b1f15afa4b769af04d1395891c6.tar.gz edk2-9eb87141eca12b1f15afa4b769af04d1395891c6.tar.bz2 edk2-9eb87141eca12b1f15afa4b769af04d1395891c6.zip |
BaseTools: refactor and remove un-needed use of .keys() on dictionaries
sometimes just delete it.
sometimes the loop needed .values() instead
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
Diffstat (limited to 'BaseTools/Source/Python/Common')
-rw-r--r-- | BaseTools/Source/Python/Common/EdkIIWorkspace.py | 7 | ||||
-rw-r--r-- | BaseTools/Source/Python/Common/Expression.py | 4 | ||||
-rw-r--r-- | BaseTools/Source/Python/Common/Misc.py | 2 | ||||
-rw-r--r-- | BaseTools/Source/Python/Common/Parsing.py | 15 | ||||
-rw-r--r-- | BaseTools/Source/Python/Common/String.py | 4 | ||||
-rw-r--r-- | BaseTools/Source/Python/Common/VpdInfoFile.py | 8 |
6 files changed, 17 insertions, 23 deletions
diff --git a/BaseTools/Source/Python/Common/EdkIIWorkspace.py b/BaseTools/Source/Python/Common/EdkIIWorkspace.py index c14b4eb52d..d75b9f8025 100644 --- a/BaseTools/Source/Python/Common/EdkIIWorkspace.py +++ b/BaseTools/Source/Python/Common/EdkIIWorkspace.py @@ -1,7 +1,7 @@ ## @file
# This is the base class for applications that operate on an EDK II Workspace
#
-# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
@@ -259,10 +259,7 @@ def ConvertDictionaryToTextFile(FileName, Dictionary, CommentCharacter, KeySplit except:
Lines = []
Keys = Dictionary.keys()
- MaxLength = 0
- for Key in Keys:
- if len(Key) > MaxLength:
- MaxLength = len(Key)
+ MaxLength = max(map(len,Keys))
Index = 0
for Line in Lines:
LineList = Line.split(KeySplitCharacter, 1)
diff --git a/BaseTools/Source/Python/Common/Expression.py b/BaseTools/Source/Python/Common/Expression.py index 462e8f93f8..9a3415ccaa 100644 --- a/BaseTools/Source/Python/Common/Expression.py +++ b/BaseTools/Source/Python/Common/Expression.py @@ -151,7 +151,7 @@ def ReplaceExprMacro(String, Macros, ExceptionList = None): InQuote = True
MacroStartPos = String.find('$(')
if MacroStartPos < 0:
- for Pcd in gPlatformPcds.keys():
+ for Pcd in gPlatformPcds:
if Pcd in String:
if Pcd not in gConditionalPcds:
gConditionalPcds.append(Pcd)
@@ -908,7 +908,7 @@ class ValueExpressionEx(ValueExpression): for Label in LabelList:
if not IsValidCName(Label):
raise BadExpression('%s is not a valid c variable name' % Label)
- if Label not in LabelDict.keys():
+ if Label not in LabelDict:
LabelDict[Label] = str(LabelOffset)
if Item.startswith('UINT8'):
LabelOffset = LabelOffset + 1
diff --git a/BaseTools/Source/Python/Common/Misc.py b/BaseTools/Source/Python/Common/Misc.py index 5ffd8cd022..4f2bfd63cf 100644 --- a/BaseTools/Source/Python/Common/Misc.py +++ b/BaseTools/Source/Python/Common/Misc.py @@ -1918,7 +1918,7 @@ class DefaultStore(): if not self.DefaultStores or "0" in self.DefaultStores:
return "0",TAB_DEFAULT_STORES_DEFAULT
else:
- minvalue = min([int(value_str) for value_str in self.DefaultStores.keys()])
+ minvalue = min([int(value_str) for value_str in self.DefaultStores])
return (str(minvalue), self.DefaultStores[str(minvalue)])
def GetMin(self,DefaultSIdList):
if not DefaultSIdList:
diff --git a/BaseTools/Source/Python/Common/Parsing.py b/BaseTools/Source/Python/Common/Parsing.py index d199d1e40d..453c2039e3 100644 --- a/BaseTools/Source/Python/Common/Parsing.py +++ b/BaseTools/Source/Python/Common/Parsing.py @@ -1,7 +1,7 @@ ## @file
# This file is used to define common parsing related functions used in parsing INF/DEC/DSC process
#
-# Copyright (c) 2008 - 2014, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2008 - 2018, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
@@ -37,16 +37,14 @@ def ParseDefineMacro2(Table, RecordSets, GlobalMacro): #
# Overrided by Global Macros
#
- for Key in GlobalMacro.keys():
- Macros[Key] = GlobalMacro[Key]
+ Macros.update(GlobalMacro)
#
# Replace the Macros
#
- for Key in RecordSets.keys():
- if RecordSets[Key] != []:
- for Item in RecordSets[Key]:
- Item[0] = ReplaceMacro(Item[0], Macros)
+ for Value in (v for v in RecordSets.values() if v):
+ for Item in Value:
+ Item[0] = ReplaceMacro(Item[0], Macros)
## ParseDefineMacro
#
@@ -79,8 +77,7 @@ def ParseDefineMacro(Table, GlobalMacro): #
# Overrided by Global Macros
#
- for Key in GlobalMacro.keys():
- Macros[Key] = GlobalMacro[Key]
+ Macros.update(GlobalMacro)
#
# Found all defined macro and replaced
diff --git a/BaseTools/Source/Python/Common/String.py b/BaseTools/Source/Python/Common/String.py index 5dc5b85dc5..ee26d7f7b1 100644 --- a/BaseTools/Source/Python/Common/String.py +++ b/BaseTools/Source/Python/Common/String.py @@ -1,7 +1,7 @@ ## @file
# This file is used to define common string related functions used in parsing process
#
-# Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
@@ -110,7 +110,7 @@ def GetSplitList(String, SplitStr=DataType.TAB_VALUE_SPLIT, MaxSplit= -1): # @param Arch: The Arch to be added or merged
#
def MergeArches(Dict, Key, Arch):
- if Key in Dict.keys():
+ if Key in Dict:
Dict[Key].append(Arch)
else:
Dict[Key] = Arch.split()
diff --git a/BaseTools/Source/Python/Common/VpdInfoFile.py b/BaseTools/Source/Python/Common/VpdInfoFile.py index b1baf06b9c..5559a88b97 100644 --- a/BaseTools/Source/Python/Common/VpdInfoFile.py +++ b/BaseTools/Source/Python/Common/VpdInfoFile.py @@ -6,7 +6,7 @@ # is pointed by *_*_*_VPD_TOOL_GUID in conf/tools_def.txt
#
#
-# Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
@@ -107,7 +107,7 @@ class VpdInfoFile: EdkLogger.error("VpdInfoFile", BuildToolError.PARAMETER_INVALID,
"Invalid max datum size for VPD PCD %s.%s" % (Vpd.TokenSpaceGuidCName, Vpd.TokenCName))
- if Vpd not in self._VpdArray.keys():
+ if Vpd not in self._VpdArray:
#
# If there is no Vpd instance in dict, that imply this offset for a given SKU is a new one
#
@@ -180,12 +180,12 @@ class VpdInfoFile: if (TokenSpaceName, PcdTokenName) not in self._VpdInfo:
self._VpdInfo[(TokenSpaceName, PcdTokenName)] = []
self._VpdInfo[(TokenSpaceName, PcdTokenName)].append((SkuId,Offset, Value))
- for VpdObject in self._VpdArray.keys():
+ for VpdObject in self._VpdArray:
VpdObjectTokenCName = VpdObject.TokenCName
for PcdItem in GlobalData.MixedPcd:
if (VpdObject.TokenCName, VpdObject.TokenSpaceGuidCName) in GlobalData.MixedPcd[PcdItem]:
VpdObjectTokenCName = PcdItem[0]
- for sku in VpdObject.SkuInfoList.keys():
+ for sku in VpdObject.SkuInfoList:
if VpdObject.TokenSpaceGuidCName == TokenSpaceName and VpdObjectTokenCName == PcdTokenName.strip() and sku == SkuId:
if self._VpdArray[VpdObject][sku] == "*":
if Offset == "*":
|