## @file\r
# Collect all defined strings in multiple uni files.\r
#\r
-# Copyright (c) 2014 - 2017, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.<BR>\r
#\r
# This program and the accompanying materials are licensed and made available \r
# under the terms and conditions of the BSD License which accompanies this \r
TAB = u'\t'\r
BACK_SPLASH = u'\\'\r
\r
-gINCLUDE_PATTERN = re.compile("^!include[\s]+([\S]+)[\s]*$", re.MULTILINE | re.UNICODE)\r
-\r
gLANG_CONV_TABLE = {'eng':'en', 'fra':'fr', \\r
'aar':'aa', 'abk':'ab', 'ave':'ae', 'afr':'af', 'aka':'ak', 'amh':'am', \\r
'arg':'an', 'ara':'ar', 'asm':'as', 'ava':'av', 'aym':'ay', 'aze':'az', \\r
for Key in gLANG_CONV_TABLE.keys():\r
if gLANG_CONV_TABLE.get(Key) == LangName[0:2].lower():\r
return Key\r
- if LangName[0:3].isalpha() and gLANG_CONV_TABLE.get(LangName.lower()) == None and LangName[3] == '-':\r
+ if LangName[0:3].isalpha() and gLANG_CONV_TABLE.get(LangName.lower()) is None and LangName[3] == '-':\r
for Key in gLANG_CONV_TABLE.keys():\r
if Key == LangName[0:3].lower():\r
return Key\r
if IsCompatibleMode:\r
if length == 3 and LangName.isalpha():\r
TempLangName = gLANG_CONV_TABLE.get(LangName.lower())\r
- if TempLangName != None:\r
+ if TempLangName is not None:\r
return TempLangName\r
return LangName\r
else:\r
if LangName.isalpha():\r
return LangName\r
elif length == 3:\r
- if LangName.isalpha() and gLANG_CONV_TABLE.get(LangName.lower()) == None:\r
+ if LangName.isalpha() and gLANG_CONV_TABLE.get(LangName.lower()) is None:\r
return LangName\r
elif length == 5:\r
if LangName[0:2].isalpha() and LangName[2] == '-':\r
elif length >= 6:\r
if LangName[0:2].isalpha() and LangName[2] == '-':\r
return LangName\r
- if LangName[0:3].isalpha() and gLANG_CONV_TABLE.get(LangName.lower()) == None and LangName[3] == '-':\r
+ if LangName[0:3].isalpha() and gLANG_CONV_TABLE.get(LangName.lower()) is None and LangName[3] == '-':\r
return LangName\r
\r
EdkLogger.Error("Unicode File Parser", \r
self.UseOtherLangDef = UseOtherLangDef\r
self.Length = 0\r
\r
- if Name != None:\r
+ if Name is not None:\r
self.StringName = Name\r
self.StringNameByteList = UniToHexList(Name)\r
- if Value != None:\r
+ if Value is not None:\r
self.StringValue = Value\r
self.StringValueByteList = UniToHexList(self.StringValue)\r
self.Length = len(self.StringValueByteList)\r
- if Token != None:\r
+ if Token is not None:\r
self.Token = Token\r
\r
def __str__(self):\r
repr(self.UseOtherLangDef)\r
\r
def UpdateValue(self, Value = None):\r
- if Value != None:\r
+ if Value is not None:\r
if self.StringValue:\r
self.StringValue = self.StringValue + '\r\n' + Value\r
else:\r
# Check the string name is the upper character\r
if Name != '':\r
MatchString = re.match('[A-Z0-9_]+', Name, re.UNICODE)\r
- if MatchString == None or MatchString.end(0) != len(Name):\r
+ if MatchString is None or MatchString.end(0) != len(Name):\r
EdkLogger.Error("Unicode File Parser", \r
ToolError.FORMAT_INVALID,\r
'The string token name %s in UNI file %s must be upper case character.' %(Name, self.File))\r
Line = Line.replace(u'\t', u' ')\r
Line = Line.replace(u'\u0006', u'\\')\r
\r
- # IncList = gINCLUDE_PATTERN.findall(Line)\r
- IncList = []\r
- if len(IncList) == 1:\r
- for Dir in [File.Dir] + self.IncludePathList:\r
- IncFile = PathClass(str(IncList[0]), Dir)\r
- self.IncFileList.append(IncFile)\r
- if os.path.isfile(IncFile.Path):\r
- Lines.extend(self.PreProcess(IncFile, True))\r
- break\r
- else:\r
- EdkLogger.Error("Unicode File Parser", \r
- ToolError.FILE_NOT_FOUND, \r
- Message="Cannot find include file", \r
- ExtraData=str(IncList[0]))\r
- continue\r
-\r
#\r
# Check if single line has correct '"'\r
#\r
# Load a .uni file\r
#\r
def LoadUniFile(self, File = None):\r
- if File == None:\r
+ if File is None:\r
EdkLogger.Error("Unicode File Parser", \r
ToolError.PARSER_ERROR, \r
Message='No unicode file is given', \r
IsAdded = True\r
if Name in self.OrderedStringDict[Language]:\r
IsAdded = False\r
- if Value != None:\r
+ if Value is not None:\r
ItemIndexInList = self.OrderedStringDict[Language][Name]\r
Item = self.OrderedStringList[Language][ItemIndexInList]\r
Item.UpdateValue(Value)\r