]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/UPT/Library/Misc.py
BaseTools: Various typo
[mirror_edk2.git] / BaseTools / Source / Python / UPT / Library / Misc.py
index f9ca8f32e068cdebce05f2c0e2b88daa07e61713..e7ee27cc53d571907b96d4277812cce9c4f8e5d4 100644 (file)
@@ -32,7 +32,7 @@ from os import linesep
 from os import walk\r
 from os import environ\r
 import re\r
-from collections import UserDict as IterableUserDict\r
+from collections import OrderedDict\r
 \r
 import Logger.Log as Logger\r
 from Logger import StringTable as ST\r
@@ -161,26 +161,34 @@ def RemoveDirectory(Directory, Recursively=False):
 #\r
 def SaveFileOnChange(File, Content, IsBinaryFile=True):\r
     if os.path.exists(File):\r
-        try:\r
-            if isinstance(Content, bytes):\r
+        if IsBinaryFile:\r
+            try:\r
                 if Content == __FileHookOpen__(File, "rb").read():\r
                     return False\r
-            else:\r
+            except BaseException:\r
+                Logger.Error(None, ToolError.FILE_OPEN_FAILURE, ExtraData=File)\r
+        else:\r
+            try:\r
                 if Content == __FileHookOpen__(File, "r").read():\r
                     return False\r
-        except BaseException:\r
-            Logger.Error(None, ToolError.FILE_OPEN_FAILURE, ExtraData=File)\r
+            except BaseException:\r
+                Logger.Error(None, ToolError.FILE_OPEN_FAILURE, ExtraData=File)\r
 \r
     CreateDirectory(os.path.dirname(File))\r
-    try:\r
-        if isinstance(Content, bytes):\r
+    if IsBinaryFile:\r
+        try:\r
             FileFd = __FileHookOpen__(File, "wb")\r
-        else:\r
+            FileFd.write(Content)\r
+            FileFd.close()\r
+        except BaseException:\r
+            Logger.Error(None, ToolError.FILE_CREATE_FAILURE, ExtraData=File)\r
+    else:\r
+        try:\r
             FileFd = __FileHookOpen__(File, "w")\r
-        FileFd.write(Content)\r
-        FileFd.close()\r
-    except BaseException:\r
-        Logger.Error(None, ToolError.FILE_CREATE_FAILURE, ExtraData=File)\r
+            FileFd.write(Content)\r
+            FileFd.close()\r
+        except BaseException:\r
+            Logger.Error(None, ToolError.FILE_CREATE_FAILURE, ExtraData=File)\r
 \r
     return True\r
 \r
@@ -292,148 +300,6 @@ def RealPath2(File, Dir='', OverrideDir=''):
 \r
     return None, None\r
 \r
-## A dict which can access its keys and/or values orderly\r
-#\r
-#  The class implements a new kind of dict which its keys or values can be\r
-#  accessed in the order they are added into the dict. It guarantees the order\r
-#  by making use of an internal list to keep a copy of keys.\r
-#\r
-class Sdict(IterableUserDict):\r
-    ## Constructor\r
-    #\r
-    def __init__(self):\r
-        IterableUserDict.__init__(self)\r
-        self._key_list = []\r
-\r
-    ## [] operator\r
-    #\r
-    def __setitem__(self, Key, Value):\r
-        if Key not in self._key_list:\r
-            self._key_list.append(Key)\r
-        IterableUserDict.__setitem__(self, Key, Value)\r
-\r
-    ## del operator\r
-    #\r
-    def __delitem__(self, Key):\r
-        self._key_list.remove(Key)\r
-        IterableUserDict.__delitem__(self, Key)\r
-\r
-    ## used in "for k in dict" loop to ensure the correct order\r
-    #\r
-    def __iter__(self):\r
-        return self.iterkeys()\r
-\r
-    ## len() support\r
-    #\r
-    def __len__(self):\r
-        return len(self._key_list)\r
-\r
-    ## "in" test support\r
-    #\r
-    def __contains__(self, Key):\r
-        return Key in self._key_list\r
-\r
-    ## indexof support\r
-    #\r
-    def index(self, Key):\r
-        return self._key_list.index(Key)\r
-\r
-    ## insert support\r
-    #\r
-    def insert(self, Key, Newkey, Newvalue, Order):\r
-        Index = self._key_list.index(Key)\r
-        if Order == 'BEFORE':\r
-            self._key_list.insert(Index, Newkey)\r
-            IterableUserDict.__setitem__(self, Newkey, Newvalue)\r
-        elif Order == 'AFTER':\r
-            self._key_list.insert(Index + 1, Newkey)\r
-            IterableUserDict.__setitem__(self, Newkey, Newvalue)\r
-\r
-    ## append support\r
-    #\r
-    def append(self, Sdict2):\r
-        for Key in Sdict2:\r
-            if Key not in self._key_list:\r
-                self._key_list.append(Key)\r
-            IterableUserDict.__setitem__(self, Key, Sdict2[Key])\r
-    ## hash key\r
-    #\r
-    def has_key(self, Key):\r
-        return Key in self._key_list\r
-\r
-    ## Empty the dict\r
-    #\r
-    def clear(self):\r
-        self._key_list = []\r
-        IterableUserDict.clear(self)\r
-\r
-    ## Return a copy of keys\r
-    #\r
-    def keys(self):\r
-        Keys = []\r
-        for Key in self._key_list:\r
-            Keys.append(Key)\r
-        return Keys\r
-\r
-    ## Return a copy of values\r
-    #\r
-    def values(self):\r
-        Values = []\r
-        for Key in self._key_list:\r
-            Values.append(self[Key])\r
-        return Values\r
-\r
-    ## Return a copy of (key, value) list\r
-    #\r
-    def items(self):\r
-        Items = []\r
-        for Key in self._key_list:\r
-            Items.append((Key, self[Key]))\r
-        return Items\r
-\r
-    ## Iteration support\r
-    #\r
-    def iteritems(self):\r
-        return iter(self.items())\r
-\r
-    ## Keys interation support\r
-    #\r
-    def iterkeys(self):\r
-        return iter(self.keys())\r
-\r
-    ## Values interation support\r
-    #\r
-    def itervalues(self):\r
-        return iter(self.values())\r
-\r
-    ## Return value related to a key, and remove the (key, value) from the dict\r
-    #\r
-    def pop(self, Key, *Dv):\r
-        Value = None\r
-        if Key in self._key_list:\r
-            Value = self[Key]\r
-            self.__delitem__(Key)\r
-        elif len(Dv) != 0 :\r
-            Value = Dv[0]\r
-        return Value\r
-\r
-    ## Return (key, value) pair, and remove the (key, value) from the dict\r
-    #\r
-    def popitem(self):\r
-        Key = self._key_list[-1]\r
-        Value = self[Key]\r
-        self.__delitem__(Key)\r
-        return Key, Value\r
-    ## update method\r
-    #\r
-    def update(self, Dict=None, **Kwargs):\r
-        if Dict is not None:\r
-            for Key1, Val1 in Dict.items():\r
-                self[Key1] = Val1\r
-        if len(Kwargs):\r
-            for Key1, Val1 in Kwargs.items():\r
-                self[Key1] = Val1\r
-\r
 ## CommonPath\r
 #\r
 # @param PathList: PathList\r
@@ -922,7 +788,7 @@ def GetLibInstanceInfo(String, WorkSpace, LineNo):
     FileGuidString = ""\r
     VerString = ""\r
 \r
-    OrignalString = String\r
+    OriginalString = String\r
     String = String.strip()\r
     if not String:\r
         return None, None\r
@@ -942,7 +808,7 @@ def GetLibInstanceInfo(String, WorkSpace, LineNo):
                      ST.ERR_FILELIST_EXIST % (String),\r
                      File=GlobalData.gINF_MODULE_NAME,\r
                      Line=LineNo,\r
-                     ExtraData=OrignalString)\r
+                     ExtraData=OriginalString)\r
 \r
     #\r
     # Validate file exist/format.\r
@@ -955,7 +821,7 @@ def GetLibInstanceInfo(String, WorkSpace, LineNo):
                      ST.ERR_INF_PARSER_FILE_NOT_EXIST_OR_NAME_INVALID % (String),\r
                      File=GlobalData.gINF_MODULE_NAME,\r
                      Line=LineNo,\r
-                     ExtraData=OrignalString)\r
+                     ExtraData=OriginalString)\r
         return False\r
     if IsValidFileFlag:\r
         FileLinesList = []\r
@@ -1107,7 +973,7 @@ def ValidateUNIFilePath(Path):
                         ExtraData=Path)\r
 \r
     #\r
-    # Check if '..' in the file name(without suffixe)\r
+    # Check if '..' in the file name(without suffix)\r
     #\r
     if (TAB_SPLIT + TAB_SPLIT) in Path:\r
         Logger.Error("Unicode File Parser",\r