]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/Common/StringUtils.py
Revert BaseTools: PYTHON3 migration
[mirror_edk2.git] / BaseTools / Source / Python / Common / StringUtils.py
index 794f4573fec2e5ea20db0d30f81b27e4466cd9ab..d5afde7a95a5c1ad9edf317fc195dbd387bf03de 100644 (file)
@@ -14,6 +14,7 @@
 ##\r
 # Import Modules\r
 #\r
+from __future__ import absolute_import\r
 import re\r
 from . import DataType\r
 import Common.LongFilePathOs as os\r
@@ -98,7 +99,7 @@ def GetSplitValueList(String, SplitTag=DataType.TAB_VALUE_SPLIT, MaxSplit= -1):
 # @retval list() A list for splitted string\r
 #\r
 def GetSplitList(String, SplitStr=DataType.TAB_VALUE_SPLIT, MaxSplit= -1):\r
-    return list(map(lambda l: l.strip(), String.split(SplitStr, MaxSplit)))\r
+    return map(lambda l: l.strip(), String.split(SplitStr, MaxSplit))\r
 \r
 ## MergeArches\r
 #\r
@@ -544,7 +545,7 @@ def GetSingleValueOfKeyFromLines(Lines, Dictionary, CommentCharacter, KeySplitCh
                 #\r
                 LineList[1] = CleanString(LineList[1], CommentCharacter)\r
                 if ValueSplitFlag:\r
-                    Value = list(map(string.strip, LineList[1].split(ValueSplitCharacter)))\r
+                    Value = map(string.strip, LineList[1].split(ValueSplitCharacter))\r
                 else:\r
                     Value = CleanString(LineList[1], CommentCharacter).splitlines()\r
 \r
@@ -612,7 +613,7 @@ def PreCheck(FileName, FileContent, SupSectionTag):
         #\r
         # Regenerate FileContent\r
         #\r
-        NewFileContent = NewFileContent + Line + '\n'\r
+        NewFileContent = NewFileContent + Line + '\r\n'\r
 \r
     if IsFailed:\r
        EdkLogger.error("Parser", FORMAT_INVALID, Line=LineNo, File=FileName, RaiseError=EdkLogger.IsRaiseError)\r
@@ -750,7 +751,7 @@ def SplitString(String):
 # @param StringList:  A list for strings to be converted\r
 #\r
 def ConvertToSqlString(StringList):\r
-    return list(map(lambda s: s.replace("'", "''"), StringList))\r
+    return map(lambda s: s.replace("'", "''"), StringList)\r
 \r
 ## Convert To Sql String\r
 #\r
@@ -815,7 +816,11 @@ def GetHelpTextList(HelpTextClassList):
     return List\r
 \r
 def StringToArray(String):\r
-    if String.startswith('L"'):\r
+    if isinstance(String, unicode):\r
+        if len(unicode) == 0:\r
+            return "{0x00,0x00}"\r
+        return "{%s,0x00,0x00}" % ",".join("0x%02x,0x00" % ord(C) for C in String)\r
+    elif String.startswith('L"'):\r
         if String == "L\"\"":\r
             return "{0x00,0x00}"\r
         else:\r
@@ -838,7 +843,9 @@ def StringToArray(String):
             return '{%s,0,0}' % ','.join(String.split())\r
 \r
 def StringArrayLength(String):\r
-    if String.startswith('L"'):\r
+    if isinstance(String, unicode):\r
+        return (len(String) + 1) * 2 + 1;\r
+    elif String.startswith('L"'):\r
         return (len(String) - 3 + 1) * 2\r
     elif String.startswith('"'):\r
         return (len(String) - 2 + 1)\r