]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/AutoGen/GenDepex.py
BaseTools: Refactor python except statements
[mirror_edk2.git] / BaseTools / Source / Python / AutoGen / GenDepex.py
index 7126fdcddf7aa6d34b4f7336a86cb2e889f97fdf..b69788c37e08ab2b06e9f733c336361efbc073af 100644 (file)
@@ -54,7 +54,7 @@ gType2Phase = {
 #\r
 class DependencyExpression:\r
 \r
-    ArchProtocols = set([\r
+    ArchProtocols = {\r
                         '665e3ff6-46cc-11d4-9a38-0090273fc14d',     #   'gEfiBdsArchProtocolGuid'\r
                         '26baccb1-6f42-11d4-bce7-0080c73c8881',     #   'gEfiCpuArchProtocolGuid'\r
                         '26baccb2-6f42-11d4-bce7-0080c73c8881',     #   'gEfiMetronomeArchProtocolGuid'\r
@@ -67,8 +67,7 @@ class DependencyExpression:
                         '6441f818-6362-4e44-b570-7dba31dd2453',     #   'gEfiVariableWriteArchProtocolGuid'\r
                         '1e5668e2-8481-11d4-bcf1-0080c73c8881',     #   'gEfiVariableArchProtocolGuid'\r
                         '665e3ff5-46cc-11d4-9a38-0090273fc14d'      #   'gEfiWatchdogTimerArchProtocolGuid'\r
-                        ]\r
-                    )\r
+                    }\r
 \r
     OpcodePriority = {\r
         DEPEX_OPCODE_AND   :   1,\r
@@ -272,10 +271,14 @@ class DependencyExpression:
 \r
     ## Simply optimize the dependency expression by removing duplicated operands\r
     def Optimize(self):\r
-        ValidOpcode = list(set(self.OpcodeList))\r
-        if len(ValidOpcode) != 1 or ValidOpcode[0] not in [DEPEX_OPCODE_AND, DEPEX_OPCODE_OR]:\r
+        OpcodeSet = set(self.OpcodeList)\r
+        # if there are isn't one in the set, return\r
+        if len(OpcodeSet) != 1:\r
+          return\r
+        Op = OpcodeSet.pop()\r
+        #if Op isn't either OR or AND, return\r
+        if Op not in [DEPEX_OPCODE_AND, DEPEX_OPCODE_OR]:\r
             return\r
-        Op = ValidOpcode[0]\r
         NewOperand = []\r
         AllOperand = set()\r
         for Token in self.PostfixNotation:\r
@@ -304,7 +307,7 @@ class DependencyExpression:
         # don't generate depex if all operands are architecture protocols\r
         if self.ModuleType in [SUP_MODULE_UEFI_DRIVER, SUP_MODULE_DXE_DRIVER, SUP_MODULE_DXE_RUNTIME_DRIVER, SUP_MODULE_DXE_SAL_DRIVER, SUP_MODULE_DXE_SMM_DRIVER, SUP_MODULE_MM_STANDALONE] and \\r
            Op == DEPEX_OPCODE_AND and \\r
-           self.ArchProtocols == set([GuidStructureStringToGuidString(Guid) for Guid in AllOperand]):\r
+           self.ArchProtocols == set(GuidStructureStringToGuidString(Guid) for Guid in AllOperand):\r
             self.PostfixNotation = []\r
             return\r
 \r
@@ -446,7 +449,7 @@ def Main():
                     os.utime(Option.OutputFile, None)\r
         else:\r
             Dpx.Generate()\r
-    except BaseException, X:\r
+    except BaseException as X:\r
         EdkLogger.quiet("")\r
         if Option is not None and Option.debug is not None:\r
             EdkLogger.quiet(traceback.format_exc())\r