]> git.proxmox.com Git - mirror_edk2.git/commitdiff
BaseTools/UPT: Porting UPT Tool from Python2 to Python3
authorYonghong Zhu <yonghong.zhu@intel.com>
Tue, 4 Sep 2018 02:39:47 +0000 (10:39 +0800)
committerYonghong Zhu <yonghong.zhu@intel.com>
Sat, 13 Oct 2018 01:57:16 +0000 (09:57 +0800)
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
25 files changed:
BaseTools/Source/Python/UPT/Core/FileHook.py
BaseTools/Source/Python/UPT/Core/IpiDb.py
BaseTools/Source/Python/UPT/GenMetaFile/GenDecFile.py
BaseTools/Source/Python/UPT/GenMetaFile/GenInfFile.py
BaseTools/Source/Python/UPT/Library/CommentGenerating.py
BaseTools/Source/Python/UPT/Library/CommentParsing.py
BaseTools/Source/Python/UPT/Library/ExpressionValidate.py
BaseTools/Source/Python/UPT/Library/Misc.py
BaseTools/Source/Python/UPT/Library/ParserValidate.py
BaseTools/Source/Python/UPT/Library/Parsing.py
BaseTools/Source/Python/UPT/Library/StringUtils.py
BaseTools/Source/Python/UPT/Library/UniClassObject.py
BaseTools/Source/Python/UPT/Logger/StringTable.py
BaseTools/Source/Python/UPT/MkPkg.py
BaseTools/Source/Python/UPT/Parser/DecParser.py
BaseTools/Source/Python/UPT/Parser/DecParserMisc.py
BaseTools/Source/Python/UPT/Parser/InfAsBuiltProcess.py
BaseTools/Source/Python/UPT/Parser/InfParser.py
BaseTools/Source/Python/UPT/Parser/InfSectionParser.py
BaseTools/Source/Python/UPT/PomAdapter/DecPomAlignment.py
BaseTools/Source/Python/UPT/UPT.py
BaseTools/Source/Python/UPT/UnitTest/DecParserTest.py
BaseTools/Source/Python/UPT/UnitTest/InfBinarySectionTest.py
BaseTools/Source/Python/UPT/Xml/IniToXml.py
BaseTools/Source/Python/UPT/Xml/XmlParserMisc.py

index ceae12fb37c9793b1df34bbe32bb84b2b12745a4..247dc4bd348a994dc4e12155955f13f8f00ffaee 100644 (file)
@@ -66,7 +66,7 @@ class RecoverMgr:
         arc = self._tryhook(path)\r
         if arc and os.path.isfile(path):\r
             self._createzip()\r
-            self.zip.write(path, arc.encode('utf_8'))\r
+            self.zip.write(path, arc)\r
             sta = os.stat(path)\r
             oldmode = stat.S_IMODE(sta.st_mode)\r
             self.rlist.append(_PathInfo(_CHMOD, path, oldmode))\r
index a781d358c86c0d742978ef6ee92366c0e791bc51..6c85c9756c4e5ece1b6e1e090e59fbafaa7a0b10 100644 (file)
@@ -44,7 +44,7 @@ class IpiDatabase(object):
         Dir = os.path.dirname(DbPath)\r
         if not os.path.isdir(Dir):\r
             os.mkdir(Dir)\r
-        self.Conn = sqlite3.connect(unicode(DbPath), isolation_level='DEFERRED')\r
+        self.Conn = sqlite3.connect(DbPath, isolation_level='DEFERRED')\r
         self.Conn.execute("PRAGMA page_size=4096")\r
         self.Conn.execute("PRAGMA synchronous=OFF")\r
         self.Cur = self.Conn.cursor()\r
index e2dd6a02dccc9c434cd3bc3131261a307f6945dd..a377dce9d9a243909ecdd7b8ff747d38e6079d94 100644 (file)
@@ -585,17 +585,17 @@ def GenPackageUNIEncodeFile(PackageObject, UniFileHeader = '', Encoding=TAB_ENCO
 \r
     ContainerFile = GetUniFileName(os.path.dirname(PackageObject.GetFullPath()), PackageObject.GetBaseName())\r
 \r
-    Content = UniFileHeader + '\r\n'\r
-    Content += '\r\n'\r
+    Content = UniFileHeader + '\n'\r
+    Content += '\n'\r
 \r
-    Content += FormatUniEntry('#string ' + TAB_DEC_PACKAGE_ABSTRACT, PackageObject.GetAbstract(), ContainerFile) + '\r\n'\r
+    Content += FormatUniEntry('#string ' + TAB_DEC_PACKAGE_ABSTRACT, PackageObject.GetAbstract(), ContainerFile) + '\n'\r
 \r
     Content += FormatUniEntry('#string ' + TAB_DEC_PACKAGE_DESCRIPTION, PackageObject.GetDescription(), ContainerFile) \\r
-    + '\r\n'\r
+    + '\n'\r
 \r
-    Content += FormatUniEntry('#string ' + TAB_DEC_BINARY_ABSTRACT, BinaryAbstract, ContainerFile) + '\r\n'\r
+    Content += FormatUniEntry('#string ' + TAB_DEC_BINARY_ABSTRACT, BinaryAbstract, ContainerFile) + '\n'\r
 \r
-    Content += FormatUniEntry('#string ' + TAB_DEC_BINARY_DESCRIPTION, BinaryDescription, ContainerFile) + '\r\n'\r
+    Content += FormatUniEntry('#string ' + TAB_DEC_BINARY_DESCRIPTION, BinaryDescription, ContainerFile) + '\n'\r
 \r
     PromptGenList = []\r
     HelpTextGenList = []\r
@@ -612,7 +612,7 @@ def GenPackageUNIEncodeFile(PackageObject, UniFileHeader = '', Encoding=TAB_ENCO
             if (PcdPromptStrName, Lang) not in PromptGenList:\r
                 TokenValueList.append((Lang, PromptStr))\r
                 PromptGenList.append((PcdPromptStrName, Lang))\r
-        PromptString = FormatUniEntry(PcdPromptStrName, TokenValueList, ContainerFile) + '\r\n'\r
+        PromptString = FormatUniEntry(PcdPromptStrName, TokenValueList, ContainerFile) + '\n'\r
         if PromptString not in Content:\r
             Content += PromptString\r
 \r
@@ -628,7 +628,7 @@ def GenPackageUNIEncodeFile(PackageObject, UniFileHeader = '', Encoding=TAB_ENCO
             if (PcdHelpStrName, Lang) not in HelpTextGenList:\r
                 TokenValueList.append((Lang, HelpStr))\r
                 HelpTextGenList.append((PcdHelpStrName, Lang))\r
-        HelpTextString = FormatUniEntry(PcdHelpStrName, TokenValueList, ContainerFile) + '\r\n'\r
+        HelpTextString = FormatUniEntry(PcdHelpStrName, TokenValueList, ContainerFile) + '\n'\r
         if HelpTextString not in Content:\r
             Content += HelpTextString\r
 \r
@@ -639,7 +639,7 @@ def GenPackageUNIEncodeFile(PackageObject, UniFileHeader = '', Encoding=TAB_ENCO
                 PcdErrStrName = '#string ' + TAB_STR_TOKENCNAME + TAB_UNDERLINE_SPLIT + Pcd.GetTokenSpaceGuidCName() \\r
                     + TAB_UNDERLINE_SPLIT + TAB_STR_TOKENERR \\r
                     + TAB_UNDERLINE_SPLIT + ErrorNo[2:]\r
-                PcdErrString = FormatUniEntry(PcdErrStrName, PcdError.GetErrorMessageList(), ContainerFile) + '\r\n'\r
+                PcdErrString = FormatUniEntry(PcdErrStrName, PcdError.GetErrorMessageList(), ContainerFile) + '\n'\r
                 if PcdErrString not in Content:\r
                     Content += PcdErrString\r
 \r
index c2a240a88410c965715c9b6a4958abab315f432d..82df4c62cfaa5b27c42fefd4c25adac54dc75bd1 100644 (file)
@@ -234,22 +234,22 @@ def GenModuleUNIEncodeFile(ModuleObject, UniFileHeader='', Encoding=DT.TAB_ENCOD
     if not os.path.exists(os.path.dirname(ModuleObject.GetFullPath())):\r
         os.makedirs(os.path.dirname(ModuleObject.GetFullPath()))\r
 \r
-    Content = UniFileHeader + '\r\n'\r
-    Content += '\r\n'\r
+    Content = UniFileHeader + '\n'\r
+    Content += '\n'\r
 \r
-    Content += FormatUniEntry('#string ' + DT.TAB_INF_ABSTRACT, ModuleObject.GetAbstract(), ContainerFile) + '\r\n'\r
+    Content += FormatUniEntry('#string ' + DT.TAB_INF_ABSTRACT, ModuleObject.GetAbstract(), ContainerFile) + '\n'\r
 \r
     Content += FormatUniEntry('#string ' + DT.TAB_INF_DESCRIPTION, ModuleObject.GetDescription(), ContainerFile) \\r
-            + '\r\n'\r
+            + '\n'\r
 \r
     BinaryAbstractString = FormatUniEntry('#string ' + DT.TAB_INF_BINARY_ABSTRACT, BinaryAbstract, ContainerFile)\r
     if BinaryAbstractString:\r
-        Content += BinaryAbstractString + '\r\n'\r
+        Content += BinaryAbstractString + '\n'\r
 \r
     BinaryDescriptionString = FormatUniEntry('#string ' + DT.TAB_INF_BINARY_DESCRIPTION, BinaryDescription, \\r
                                              ContainerFile)\r
     if BinaryDescriptionString:\r
-        Content += BinaryDescriptionString + '\r\n'\r
+        Content += BinaryDescriptionString + '\n'\r
 \r
     if not os.path.exists(ContainerFile):\r
         File = codecs.open(ContainerFile, 'wb', Encoding)\r
@@ -274,7 +274,7 @@ def GenDefines(ModuleObject):
         if not DefinesDict:\r
             continue\r
         for Statement in DefinesDict:\r
-            if Statement.split(DT.TAB_EQUAL_SPLIT) > 1:\r
+            if len(Statement.split(DT.TAB_EQUAL_SPLIT)) > 1:\r
                 Statement = (u'%s ' % Statement.split(DT.TAB_EQUAL_SPLIT, 1)[0]).ljust(LeftOffset) \\r
                              + u'= %s' % Statement.split(DT.TAB_EQUAL_SPLIT, 1)[1].lstrip()\r
             SortedArch = DT.TAB_ARCH_COMMON\r
@@ -409,7 +409,7 @@ def GenLibraryClasses(ModuleObject):
                 Statement += '|' + FFE\r
             ModuleList = LibraryClass.GetSupModuleList()\r
             ArchList = LibraryClass.GetSupArchList()\r
-            for Index in xrange(0, len(ArchList)):\r
+            for Index in range(0, len(ArchList)):\r
                 ArchList[Index] = ConvertArchForInstall(ArchList[Index])\r
             ArchList.sort()\r
             SortedArch = ' '.join(ArchList)\r
@@ -572,7 +572,7 @@ def GenUserExtensions(ModuleObject):
 #         if not Statement:\r
 #             continue\r
         ArchList = UserExtension.GetSupArchList()\r
-        for Index in xrange(0, len(ArchList)):\r
+        for Index in range(0, len(ArchList)):\r
             ArchList[Index] = ConvertArchForInstall(ArchList[Index])\r
         ArchList.sort()\r
         KeyList = []\r
index 4726629695803cfa2ef115486a3b43dc49bfe452..78d3c91581e18a65145a1f0ef556ad968c96a9f3 100644 (file)
@@ -124,50 +124,46 @@ def GenHeaderCommentSection(Abstract, Description, Copyright, License, IsBinaryH
     #\r
     # Convert special character to (c), (r) and (tm).\r
     #\r
-    if isinstance(Abstract, unicode):\r
-        Abstract = ConvertSpecialUnicodes(Abstract)\r
-    if isinstance(Description, unicode):\r
-        Description = ConvertSpecialUnicodes(Description)\r
     if IsBinaryHeader:\r
-        Content += CommChar * 2 + TAB_SPACE_SPLIT + TAB_BINARY_HEADER_COMMENT + '\r\n'\r
+        Content += CommChar * 2 + TAB_SPACE_SPLIT + TAB_BINARY_HEADER_COMMENT + '\n'\r
     elif CommChar == TAB_COMMENT_EDK1_SPLIT:\r
         Content += CommChar + TAB_SPACE_SPLIT + TAB_COMMENT_EDK1_START + TAB_STAR + TAB_SPACE_SPLIT +\\r
-         TAB_HEADER_COMMENT + '\r\n'\r
+         TAB_HEADER_COMMENT + '\n'\r
     else:\r
-        Content += CommChar * 2 + TAB_SPACE_SPLIT + TAB_HEADER_COMMENT + '\r\n'\r
+        Content += CommChar * 2 + TAB_SPACE_SPLIT + TAB_HEADER_COMMENT + '\n'\r
     if Abstract:\r
-        Abstract = Abstract.rstrip('\r\n')\r
-        Content += CommChar + TAB_SPACE_SPLIT + ('\r\n' + CommChar + TAB_SPACE_SPLIT).join(GetSplitValueList\\r
+        Abstract = Abstract.rstrip('\n')\r
+        Content += CommChar + TAB_SPACE_SPLIT + ('\n' + CommChar + TAB_SPACE_SPLIT).join(GetSplitValueList\\r
                                                                                                 (Abstract, '\n'))\r
-        Content += '\r\n' + CommChar + '\r\n'\r
+        Content += '\n' + CommChar + '\n'\r
     else:\r
-        Content += CommChar + '\r\n'\r
+        Content += CommChar + '\n'\r
 \r
     if Description:\r
-        Description = Description.rstrip('\r\n')\r
-        Content += CommChar + TAB_SPACE_SPLIT + ('\r\n' + CommChar + TAB_SPACE_SPLIT).join(GetSplitValueList\\r
+        Description = Description.rstrip('\n')\r
+        Content += CommChar + TAB_SPACE_SPLIT + ('\n' + CommChar + TAB_SPACE_SPLIT).join(GetSplitValueList\\r
                                                   (Description, '\n'))\r
-        Content += '\r\n' + CommChar + '\r\n'\r
+        Content += '\n' + CommChar + '\n'\r
 \r
     #\r
     # There is no '#\n' line to separate multiple copyright lines in code base\r
     #\r
     if Copyright:\r
-        Copyright = Copyright.rstrip('\r\n')\r
-        Content += CommChar + TAB_SPACE_SPLIT + ('\r\n' + CommChar + TAB_SPACE_SPLIT).join\\r
+        Copyright = Copyright.rstrip('\n')\r
+        Content += CommChar + TAB_SPACE_SPLIT + ('\n' + CommChar + TAB_SPACE_SPLIT).join\\r
         (GetSplitValueList(Copyright, '\n'))\r
-        Content += '\r\n' + CommChar + '\r\n'\r
+        Content += '\n' + CommChar + '\n'\r
 \r
     if License:\r
-        License = License.rstrip('\r\n')\r
-        Content += CommChar + TAB_SPACE_SPLIT + ('\r\n' + CommChar + TAB_SPACE_SPLIT).join(GetSplitValueList\\r
+        License = License.rstrip('\n')\r
+        Content += CommChar + TAB_SPACE_SPLIT + ('\n' + CommChar + TAB_SPACE_SPLIT).join(GetSplitValueList\\r
                                                   (License, '\n'))\r
-        Content += '\r\n' + CommChar + '\r\n'\r
+        Content += '\n' + CommChar + '\n'\r
 \r
     if CommChar == TAB_COMMENT_EDK1_SPLIT:\r
-        Content += CommChar + TAB_SPACE_SPLIT + TAB_STAR + TAB_COMMENT_EDK1_END + '\r\n'\r
+        Content += CommChar + TAB_SPACE_SPLIT + TAB_STAR + TAB_COMMENT_EDK1_END + '\n'\r
     else:\r
-        Content += CommChar * 2 + '\r\n'\r
+        Content += CommChar * 2 + '\n'\r
 \r
     return Content\r
 \r
index 285812c9c2f8465674e077449339333e8ff69480..8f9fec75959f05bc4de3d99f706125a4331812c8 100644 (file)
@@ -74,7 +74,7 @@ def ParseHeaderCommentSection(CommentList, FileName = None, IsBinaryHeader = Fal
     # first find the last copyright line\r
     #\r
     Last = 0\r
-    for Index in xrange(len(CommentList)-1, 0, -1):\r
+    for Index in range(len(CommentList)-1, 0, -1):\r
         Line = CommentList[Index][0]\r
         if _IsCopyrightLine(Line):\r
             Last = Index\r
@@ -206,17 +206,14 @@ def ParsePcdErrorCode (Value = None, ContainerFile = None, LineNum = None):
             Base = 16\r
         else:\r
             Base = 10\r
-        ErrorCode = long(Value, Base)\r
+        ErrorCode = int(Value, Base)\r
         if ErrorCode > PCD_ERR_CODE_MAX_SIZE or ErrorCode < 0:\r
             Logger.Error('Parser',\r
                         FORMAT_NOT_SUPPORTED,\r
                         "The format %s of ErrorCode is not valid, should be UNIT32 type or long type" % Value,\r
                         File = ContainerFile,\r
                         Line = LineNum)\r
-        #\r
-        # To delete the tailing 'L'\r
-        #\r
-        return hex(ErrorCode)[:-1]\r
+        return hex(ErrorCode)\r
     except ValueError as XStr:\r
         if XStr:\r
             pass\r
index 2e0253ab51016a962275c68b05f776f5375b9bb3..35b963ed0f3d93cc449d233aa8f8d464d1baf3c0 100644 (file)
@@ -14,7 +14,6 @@
 '''\r
 ExpressionValidate\r
 '''\r
-from __future__ import print_function\r
 \r
 ##\r
 # Import Modules\r
index 8c2a6787f0c16ef25cc13235e36e172c1b7b5cb7..f9ca8f32e068cdebce05f2c0e2b88daa07e61713 100644 (file)
@@ -32,7 +32,7 @@ from os import linesep
 from os import walk\r
 from os import environ\r
 import re\r
-from UserDict import IterableUserDict\r
+from collections import UserDict as IterableUserDict\r
 \r
 import Logger.Log as Logger\r
 from Logger import StringTable as ST\r
@@ -160,19 +160,23 @@ def RemoveDirectory(Directory, Recursively=False):
 #                              or not\r
 #\r
 def SaveFileOnChange(File, Content, IsBinaryFile=True):\r
-    if not IsBinaryFile:\r
-        Content = Content.replace("\n", linesep)\r
-\r
     if os.path.exists(File):\r
         try:\r
-            if Content == __FileHookOpen__(File, "rb").read():\r
-                return False\r
+            if isinstance(Content, bytes):\r
+                if Content == __FileHookOpen__(File, "rb").read():\r
+                    return False\r
+            else:\r
+                if Content == __FileHookOpen__(File, "r").read():\r
+                    return False\r
         except BaseException:\r
             Logger.Error(None, ToolError.FILE_OPEN_FAILURE, ExtraData=File)\r
 \r
     CreateDirectory(os.path.dirname(File))\r
     try:\r
-        FileFd = __FileHookOpen__(File, "wb")\r
+        if isinstance(Content, bytes):\r
+            FileFd = __FileHookOpen__(File, "wb")\r
+        else:\r
+            FileFd = __FileHookOpen__(File, "w")\r
         FileFd.write(Content)\r
         FileFd.close()\r
     except BaseException:\r
@@ -437,7 +441,7 @@ class Sdict(IterableUserDict):
 def CommonPath(PathList):\r
     Path1 = min(PathList).split(os.path.sep)\r
     Path2 = max(PathList).split(os.path.sep)\r
-    for Index in xrange(min(len(Path1), len(Path2))):\r
+    for Index in range(min(len(Path1), len(Path2))):\r
         if Path1[Index] != Path2[Index]:\r
             return os.path.sep.join(Path1[:Index])\r
     return os.path.sep.join(Path1)\r
@@ -890,7 +894,7 @@ def ProcessEdkComment(LineList):
             if FindEdkBlockComment:\r
                 if FirstPos == -1:\r
                     FirstPos = StartPos\r
-                for Index in xrange(StartPos, EndPos+1):\r
+                for Index in range(StartPos, EndPos+1):\r
                     LineList[Index] = ''\r
                 FindEdkBlockComment = False\r
         elif Line.find("//") != -1 and not Line.startswith("#"):\r
@@ -957,7 +961,7 @@ def GetLibInstanceInfo(String, WorkSpace, LineNo):
         FileLinesList = []\r
 \r
         try:\r
-            FInputfile = open(FullFileName, "rb", 0)\r
+            FInputfile = open(FullFileName, "r")\r
             try:\r
                 FileLinesList = FInputfile.readlines()\r
             except BaseException:\r
index 31b9b68cd57e70dde6fa3cfd3929364057f416b0..87d156fa4ce166f7056f839bbda40de38b5c3c95 100644 (file)
@@ -727,7 +727,7 @@ def IsValidUserId(UserId):
 #\r
 def CheckUTF16FileHeader(File):\r
     FileIn = open(File, 'rb').read(2)\r
-    if FileIn != '\xff\xfe':\r
+    if FileIn != b'\xff\xfe':\r
         return False\r
 \r
     return True\r
index 81729d6cdbf7b3a2c43e6bfaf6072117e128296d..0564080d35937caaed980fc8b2107fb337445427 100644 (file)
@@ -16,7 +16,6 @@
 '''\r
 Parsing\r
 '''\r
-from __future__ import absolute_import\r
 \r
 ##\r
 # Import Modules\r
@@ -974,7 +973,7 @@ def GenSection(SectionName, SectionDict, SplitArch=True, NeedBlankLine=False):
                     ArchList = GetSplitValueList(SectionAttrs, DataType.TAB_COMMENT_SPLIT)\r
                 else:\r
                     ArchList = [SectionAttrs]\r
-            for Index in xrange(0, len(ArchList)):\r
+            for Index in range(0, len(ArchList)):\r
                 ArchList[Index] = ConvertArchForInstall(ArchList[Index])\r
             Section = '[' + SectionName + '.' + (', ' + SectionName + '.').join(ArchList) + ']'\r
         else:\r
index c2148a44fb078b35c37c79c93f98c37d7b4ca001..011eb98ca6963f117a1e72dcdd24720a15ebe9a4 100644 (file)
@@ -20,7 +20,6 @@ StringUtils
 #\r
 import re\r
 import os.path\r
-from string import strip\r
 import Logger.Log as Logger\r
 import Library.DataType as DataType\r
 from Logger.ToolError import FORMAT_INVALID\r
@@ -44,7 +43,7 @@ gMACRO_PATTERN = re.compile("\$\(([_A-Z][_A-Z0-9]*)\)", re.UNICODE)
 #\r
 #\r
 def GetSplitValueList(String, SplitTag=DataType.TAB_VALUE_SPLIT, MaxSplit= -1):\r
-    return map(lambda l: l.strip(), String.split(SplitTag, MaxSplit))\r
+    return list(map(lambda l: l.strip(), String.split(SplitTag, MaxSplit)))\r
 \r
 ## MergeArches\r
 #\r
@@ -435,7 +434,7 @@ def GetSingleValueOfKeyFromLines(Lines, Dictionary, CommentCharacter, KeySplitCh
                 #\r
                 LineList[1] = CleanString(LineList[1], CommentCharacter)\r
                 if ValueSplitFlag:\r
-                    Value = map(strip, LineList[1].split(ValueSplitCharacter))\r
+                    Value = map(lambda x: x.strip(), LineList[1].split(ValueSplitCharacter))\r
                 else:\r
                     Value = CleanString(LineList[1], CommentCharacter).splitlines()\r
 \r
@@ -502,7 +501,7 @@ def PreCheck(FileName, FileContent, SupSectionTag):
         #\r
         # Regenerate FileContent\r
         #\r
-        NewFileContent = NewFileContent + Line + '\r\n'\r
+        NewFileContent = NewFileContent + Line + '\n'\r
 \r
     if IsFailed:\r
         Logger.Error("Parser", FORMAT_INVALID, Line=LineNo, File=FileName, RaiseError=Logger.IS_RAISE_ERROR)\r
@@ -938,14 +937,14 @@ def SplitPcdEntry(String):
 def IsMatchArch(Arch1, Arch2):\r
     if 'COMMON' in Arch1 or 'COMMON' in Arch2:\r
         return True\r
-    if isinstance(Arch1, basestring) and isinstance(Arch2, basestring):\r
+    if isinstance(Arch1, str) and isinstance(Arch2, str):\r
         if Arch1 == Arch2:\r
             return True\r
 \r
-    if isinstance(Arch1, basestring) and isinstance(Arch2, list):\r
+    if isinstance(Arch1, str) and isinstance(Arch2, list):\r
         return Arch1 in Arch2\r
 \r
-    if isinstance(Arch2, basestring) and isinstance(Arch1, list):\r
+    if isinstance(Arch2, str) and isinstance(Arch1, list):\r
         return Arch2 in Arch1\r
 \r
     if isinstance(Arch1, list) and isinstance(Arch2, list):\r
index 670cf3b4eeac19a9f945f06c575b593eed6463d0..549f278b05c9a8bcbc7921aae56e14961586e04f 100644 (file)
@@ -14,7 +14,6 @@
 """\r
 Collect all defined strings in multiple uni files\r
 """\r
-from __future__ import print_function\r
 \r
 ##\r
 # Import Modules\r
@@ -247,9 +246,9 @@ def FormatUniEntry(StrTokenName, TokenValueList, ContainerFile):
         for SubValue in ValueList:\r
             if SubValue.strip():\r
                 SubValueContent += \\r
-                ' ' * (PreFormatLength + len('#language en-US ')) + '\"%s\\n\"' % SubValue.strip() + '\r\n'\r
+                ' ' * (PreFormatLength + len('#language en-US ')) + '\"%s\\n\"' % SubValue.strip() + '\n'\r
         SubValueContent = SubValueContent[(PreFormatLength + len('#language en-US ')):SubValueContent.rfind('\\n')] \\r
-        + '\"' + '\r\n'\r
+        + '\"' + '\n'\r
         SubContent += ' '*PreFormatLength + '#language %-5s ' % Lang + SubValueContent\r
     if SubContent:\r
         SubContent = StrTokenName + ' '*(PreFormatLength - len(StrTokenName)) + SubContent[PreFormatLength:]\r
@@ -291,7 +290,7 @@ class StringDefClassObject(object):
     def UpdateValue(self, Value = None):\r
         if Value is not None:\r
             if self.StringValue:\r
-                self.StringValue = self.StringValue + '\r\n' + Value\r
+                self.StringValue = self.StringValue + '\n' + Value\r
             else:\r
                 self.StringValue = Value\r
             self.StringValueByteList = UniToHexList(self.StringValue)\r
@@ -465,7 +464,7 @@ class UniFileClassObject(object):
             if not Line.startswith(DT.TAB_COMMENT_EDK1_SPLIT) and HeaderStart and not HeaderEnd:\r
                 HeaderEnd = True\r
             if Line.startswith(DT.TAB_COMMENT_EDK1_SPLIT) and HeaderStart and not HeaderEnd and FirstGenHeader:\r
-                self.UniFileHeader += Line + '\r\n'\r
+                self.UniFileHeader += Line + '\n'\r
                 continue\r
 \r
         #\r
@@ -511,11 +510,11 @@ class UniFileClassObject(object):
                 if FileIn[LineCount].strip().startswith('#language'):\r
                     Line = Line + FileIn[LineCount]\r
                     FileIn[LineCount-1] = Line\r
-                    FileIn[LineCount] = '\r\n'\r
+                    FileIn[LineCount] = '\n'\r
                     LineCount -= 1\r
-                    for Index in xrange (LineCount + 1, len (FileIn) - 1):\r
+                    for Index in range (LineCount + 1, len (FileIn) - 1):\r
                         if (Index == len(FileIn) -1):\r
-                            FileIn[Index] = '\r\n'\r
+                            FileIn[Index] = '\n'\r
                         else:\r
                             FileIn[Index] = FileIn[Index + 1]\r
                     continue\r
@@ -867,12 +866,12 @@ class UniFileClassObject(object):
                                 Value = Value + Lines[IndexJ].strip()[1:-1]\r
                             CombineToken = False\r
                         else:\r
-                            Value = Value + Lines[IndexJ].strip()[1:-1] + '\r\n'\r
+                            Value = Value + Lines[IndexJ].strip()[1:-1] + '\n'\r
                     else:\r
                         IndexI = IndexJ\r
                         break\r
-                if Value.endswith('\r\n'):\r
-                    Value = Value[: Value.rfind('\r\n')]\r
+                if Value.endswith('\n'):\r
+                    Value = Value[: Value.rfind('\n')]\r
                 Language = GetLanguageCode(Language, self.IsCompatibleMode, self.File)\r
                 self.AddStringToList(Name, Language, Value)\r
                 continue\r
index c1c7732b40ce4747d2aa41d936be844db2b98ca1..061943925aaaf3ff4870c9d6964209e6c2fdb4b3 100644 (file)
@@ -42,7 +42,7 @@ MSG_USAGE_STRING = _("\n"
 MSG_VERSION_NUMBER = _("1.1")\r
 MSG_VERSION = _("UEFI Packaging Tool (UEFIPT) - Revision " + \\r
                 MSG_VERSION_NUMBER)\r
-MSG_COPYRIGHT = _("Copyright (c) 2011 - 2016 Intel Corporation All Rights Reserved.")\r
+MSG_COPYRIGHT = _("Copyright (c) 2011 - 2018 Intel Corporation All Rights Reserved.")\r
 MSG_VERSION_COPYRIGHT = _("\n  %s\n  %s" % (MSG_VERSION, MSG_COPYRIGHT))\r
 MSG_USAGE = _("%s [options]\n%s" % ("UPT", MSG_VERSION_COPYRIGHT))\r
 MSG_DESCRIPTION = _("The UEFIPT is used to create, " + \\r
index 053d1155477a912f7bb64a772cfc9564273190bd..49b507e0103e3bf60ebbd25028542bdc167865fa 100644 (file)
@@ -136,7 +136,7 @@ def Main(Options = None):
                 # strings in your desired encoding before passing them to\r
                 # write().\r
                 #\r
-                FromFile = os.path.normpath(FileObject.GetURI()).encode('utf_8')\r
+                FromFile = os.path.normpath(FileObject.GetURI())\r
                 FileFullPath = mws.join(WorkspaceDir, FromFile)\r
                 if FileFullPath in RePkgDict:\r
                     (DpGuid, DpVersion, DpName, Repackage) = RePkgDict[FileFullPath]\r
index a88b51d05529253f15c5254504afd3d484850596..51dc4b2bd24102f34a9f4e7dfe7ce2d489a1fb9a 100644 (file)
@@ -620,11 +620,11 @@ class _DecPcd(_DecBase):
         if not IsValidToken(PCD_TOKEN_PATTERN, Token):\r
             self._LoggerError(ST.ERR_DECPARSE_PCD_TOKEN % Token)\r
         elif not Token.startswith('0x') and not Token.startswith('0X'):\r
-            if long(Token) > 4294967295:\r
+            if int(Token) > 4294967295:\r
                 self._LoggerError(ST.ERR_DECPARSE_PCD_TOKEN_INT % Token)\r
-            Token = hex(long(Token))[:-1]\r
+            Token = hex(int(Token))\r
 \r
-        IntToken = long(Token, 0)\r
+        IntToken = int(Token, 0)\r
         if (Guid, IntToken) in self.TokenMap:\r
             if self.TokenMap[Guid, IntToken] != CName:\r
                 self._LoggerError(ST.ERR_DECPARSE_PCD_TOKEN_UNIQUE%(Token))\r
@@ -752,7 +752,7 @@ class _DecUserExtension(_DecBase):
 class Dec(_DecBase, _DecComments):\r
     def __init__(self, DecFile, Parse = True):\r
         try:\r
-            Content = ConvertSpecialChar(open(DecFile, 'rb').readlines())\r
+            Content = ConvertSpecialChar(open(DecFile, 'r').readlines())\r
         except BaseException:\r
             Logger.Error(TOOL_NAME, FILE_OPEN_FAILURE, File=DecFile,\r
                          ExtraData=ST.ERR_DECPARSE_FILEOPEN % DecFile)\r
index c5c35ede785b9fa8e7d421d216e657aa2dd17067..cd4d87224d22127317a3cd5b161a9a07f7975e56 100644 (file)
@@ -151,7 +151,7 @@ def IsValidNumValUint8(Token):
     else:\r
         Base = 10\r
     try:\r
-        TokenValue = long(Token, Base)\r
+        TokenValue = int(Token, Base)\r
     except BaseException:\r
         Valid, Cause = IsValidLogicalExpr(Token, True)\r
         if Cause:\r
@@ -262,7 +262,7 @@ def IsValidPcdDatum(Type, Value):
                 Value = Value.lstrip('0')\r
                 if not Value:\r
                     return True, ""\r
-            Value = long(Value, 0)\r
+            Value = int(Value, 0)\r
             TypeLenMap = {\r
                 #\r
                 # 0x00 - 0xff\r
index 029a436cec5d6c54c34b92d68ba869137b5b25ab..3c313a089d2f0801fc3eeb6a15470e6f12e91694 100644 (file)
@@ -205,7 +205,7 @@ def GetFileLineContent(FileName, WorkSpace, LineNo, OriginalString):
 \r
     try:\r
         FullFileName = FullFileName.replace('\\', '/')\r
-        Inputfile = open(FullFileName, "rb", 0)\r
+        Inputfile = open(FullFileName, "r")\r
         try:\r
             FileLinesList = Inputfile.readlines()\r
         except BaseException:\r
index cd99262e036249ffa1c68044ffd4bd15f8472e1b..d17d2c887bbef7fe5a38793490881601be3a7d46 100644 (file)
@@ -51,7 +51,7 @@ def OpenInfFile(Filename):
     FileLinesList = []\r
 \r
     try:\r
-        FInputfile = open(Filename, "rb", 0)\r
+        FInputfile = open(Filename, "r")\r
         try:\r
             FileLinesList = FInputfile.readlines()\r
         except BaseException:\r
@@ -86,7 +86,7 @@ class InfParser(InfSectionParser):
         #\r
         # Call parent class construct function\r
         #\r
-        super(InfParser, self).__init__()\r
+        super().__init__()\r
 \r
         self.WorkspaceDir    = WorkspaceDir\r
         self.SupArchList     = DT.ARCH_LIST\r
index 1f254058d1332685891585017ae8289dc030bd3f..44243b467b4151160f4844472b5244027186838e 100644 (file)
@@ -206,7 +206,7 @@ class InfSectionParser(InfDefinSectionParser,
         if FilePath in cls.MetaFiles:\r
             return cls.MetaFiles[FilePath]\r
         else:\r
-            ParserObject = super(InfSectionParser, cls).__new__(cls)\r
+            ParserObject = super().__new__(cls)\r
             cls.MetaFiles[FilePath] = ParserObject\r
             return ParserObject\r
 \r
@@ -227,7 +227,7 @@ class InfSectionParser(InfDefinSectionParser,
         self.InfBuildOptionSection = InfBuildOptionsObject()\r
         self.InfLibraryClassSection = InfLibraryClassObject()\r
         self.InfPackageSection = InfPackageObject()\r
-        self.InfPcdSection = InfPcdObject(self.MetaFiles.keys()[0])\r
+        self.InfPcdSection = InfPcdObject(list(self.MetaFiles.keys())[0])\r
         self.InfSourcesSection = InfSourcesObject()\r
         self.InfUserExtensionSection = InfUserExtensionObject()\r
         self.InfProtocolSection = InfProtocolObject()\r
@@ -455,7 +455,7 @@ class InfSectionParser(InfDefinSectionParser,
                     Arch = Match.groups(1)[0].upper()\r
                     ArchList.append(Arch)\r
             CommentSoFar = ''\r
-            for Index in xrange(1, len(List)):\r
+            for Index in range(1, len(List)):\r
                 Result = ParseComment(List[Index], DT.ALL_USAGE_TOKENS, TokenDict, [], False)\r
                 Usage = Result[0]\r
                 Type = Result[1]\r
index 5dc00affade8e8040d5c35e5f271ba2361f0d70b..5d27d415ea4ffe6f2cca49cd4a64908a5dbc7d78 100644 (file)
@@ -15,7 +15,6 @@
 '''\r
 DecPomAlignment\r
 '''\r
-from __future__ import print_function\r
 \r
 ##\r
 # Import Modules\r
index 004fc5ff2f3b5d2198efc9023b5dcc66cf42f0e7..930a8c1d4cd251bbbcdea57cd621d56e2a0308e5 100644 (file)
@@ -21,10 +21,6 @@ UPT
 #\r
 import locale\r
 import sys\r
-encoding = locale.getdefaultlocale()[1]\r
-if encoding:\r
-    reload(sys)\r
-    sys.setdefaultencoding(encoding)\r
 from Core import FileHook\r
 import os.path\r
 from sys import platform\r
index 0ea5ea1e0fa8f0583cc1d8659ea3fdb341512468..567cf03e1ddc59f842c64b201a2b07b8ef2f25ff 100644 (file)
@@ -11,7 +11,6 @@
 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
-from __future__ import print_function\r
 import os\r
 import unittest\r
 \r
index 9a10ec15c47953f8202d25b4adf93f1604f0143a..163e4cf7dfea7758fa0eafd020aa1d61dd70b250 100644 (file)
@@ -11,7 +11,6 @@
 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
-from __future__ import print_function\r
 import os\r
 #import Object.Parser.InfObject as InfObject\r
 from Object.Parser.InfCommonObject import CurrentLine\r
index 70d8fb19f2697d9b1c36aced87d26d1580a549f4..8125f183be5e26535f83efd1b5a216006e315251 100644 (file)
@@ -326,7 +326,7 @@ def IniToXml(IniFile):
     CurrentKey = ''\r
     PreMap = None\r
     Map = None\r
-    FileContent = ConvertSpecialChar(open(IniFile, 'rb').readlines())\r
+    FileContent = ConvertSpecialChar(open(IniFile, 'r').readlines())\r
     LastIndex = 0\r
     for Index in range(0, len(FileContent)):\r
         LastIndex = Index\r
index d170761aad8e5e5cbc5a2240d5d810de89c7b8a4..bf64d89f17d9ad830f78dfe1f7c0546eb149fd75 100644 (file)
@@ -53,7 +53,7 @@ def ConvertVariableName(VariableName):
         if SecondByte != 0:\r
             return None\r
 \r
-        if FirstByte not in xrange(0x20, 0x7F):\r
+        if FirstByte not in range(0x20, 0x7F):\r
             return None\r
         TransferedStr += ('%c')%FirstByte\r
         Index = Index + 2\r