##\r
# Import Modules\r
#\r
+from __future__ import absolute_import\r
import re\r
from . import DataType\r
import Common.LongFilePathOs as os\r
# @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
#\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
#\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
# @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
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
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