]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/Common/ToolDefClassObject.py
BaseTools: Refactor python print statements
[mirror_edk2.git] / BaseTools / Source / Python / Common / ToolDefClassObject.py
index 73ebdaf6b1793646fffcfc3fe06e1835c510fe99..dd985ab30359adcfbf1c847a38fa7e3fa6cce373 100644 (file)
@@ -22,7 +22,7 @@ from BuildToolError import *
 from TargetTxtClassObject import *\r
 from Common.LongFilePathSupport import OpenLongFilePath as open\r
 from Common.Misc import PathClass\r
-from Common.String import NormPath\r
+from Common.StringUtils import NormPath\r
 import Common.GlobalData as GlobalData\r
 from Common import GlobalData\r
 from Common.MultipleWorkspace import MultipleWorkspace as mws\r
@@ -92,7 +92,9 @@ class ToolDefClassObject(object):
 \r
         KeyList = [TAB_TOD_DEFINES_TARGET, TAB_TOD_DEFINES_TOOL_CHAIN_TAG, TAB_TOD_DEFINES_TARGET_ARCH, TAB_TOD_DEFINES_COMMAND_TYPE]\r
         for Index in range(3, -1, -1):\r
-            for Key in dict(self.ToolsDefTxtDictionary):\r
+            # make a copy of the keys to enumerate over to prevent issues when\r
+            # adding/removing items from the original dict.\r
+            for Key in list(self.ToolsDefTxtDictionary.keys()):\r
                 List = Key.split('_')\r
                 if List[Index] == '*':\r
                     for String in self.ToolsDefTxtDatabase[KeyList[Index]]:\r
@@ -100,7 +102,6 @@ class ToolDefClassObject(object):
                         NewKey = '%s_%s_%s_%s_%s' % tuple(List)\r
                         if NewKey not in self.ToolsDefTxtDictionary:\r
                             self.ToolsDefTxtDictionary[NewKey] = self.ToolsDefTxtDictionary[Key]\r
-                        continue\r
                     del self.ToolsDefTxtDictionary[Key]\r
                 elif List[Index] not in self.ToolsDefTxtDatabase[KeyList[Index]]:\r
                     del self.ToolsDefTxtDictionary[Key]\r