From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=195.135.221.5; helo=smtp.nue.novell.com; envelope-from=glin@suse.com; receiver=edk2-devel@lists.01.org Received: from smtp.nue.novell.com (smtp.nue.novell.com [195.135.221.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 3C426210D5158 for ; Fri, 22 Jun 2018 01:21:51 -0700 (PDT) Received: from emea4-mta.ukb.novell.com ([10.120.13.87]) by smtp.nue.novell.com with ESMTP (TLS encrypted); Fri, 22 Jun 2018 10:21:50 +0200 Received: from GaryWorkstation (nwb-a10-snat.microfocus.com [10.120.13.201]) by emea4-mta.ukb.novell.com with ESMTP (TLS encrypted); Fri, 22 Jun 2018 09:21:28 +0100 Date: Fri, 22 Jun 2018 16:21:23 +0800 From: Gary Lin To: "Zhu, Yonghong" Cc: "edk2-devel@lists.01.org" , "Gao, Liming" Message-ID: <20180622082122.bj6rpjgfcbsbeohf@GaryWorkstation> References: <20180621044346.28495-1-glin@suse.com> <20180621044346.28495-6-glin@suse.com> <20180622020405.qyazporzykhww7u7@GaryWorkstation> MIME-Version: 1.0 In-Reply-To: User-Agent: NeoMutt/20170912 (1.9.0) Subject: Re: [PATCH v3 05/20] BaseTools: Use the python3-range functions X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Jun 2018 08:21:53 -0000 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Fri, Jun 22, 2018 at 05:29:21AM +0000, Zhu, Yonghong wrote: > Hi Gary, > > Patch 03 used some Tab characters, Patch 17 has some Trailing whitespace. You can use the BaseTools\Scripts\PatchCheck.py to check its format. > Ok, will fix them in the next version. > I try to build OVMF platform, it directly report error: > from .BuildReport import BuildReport > ValueError: Attempted relative import in non-package > I didn't see this in my system. Will investigate what's wrong. Thanks, Gary Lin > Best Regards, > Zhu Yonghong > > -----Original Message----- > From: Gary Lin [mailto:glin@suse.com] > Sent: Friday, June 22, 2018 10:04 AM > To: Zhu, Yonghong > Cc: edk2-devel@lists.01.org; Gao, Liming > Subject: Re: [edk2] [PATCH v3 05/20] BaseTools: Use the python3-range functions > > On Thu, Jun 21, 2018 at 12:40:29PM +0000, Zhu, Yonghong wrote: > > Hi Gary, > > > > Python 2.7 doesn't have the module builtins, if we apply this patch now, it will cause build failure on Python 2.7. > > > Urhh, I thought it's a "built-in" module but it's actually from > python-future. > > I'll revert this patch and post a new patchset. > BTW, would you might review the first patch? It's just a typo fix and I > just caught it while running the futurize script, so the patch is > actually independent from this patch series. > > Thanks, > > Gary Lin > > > Best Regards, > > Zhu Yonghong > > > > > > -----Original Message----- > > From: Gary Lin [mailto:glin@suse.com] > > Sent: Thursday, June 21, 2018 12:44 PM > > To: edk2-devel@lists.01.org > > Cc: Zhu, Yonghong ; Gao, Liming > > Subject: [PATCH v3 05/20] BaseTools: Use the python3-range functions > > > > Replace xrange() and range() with the newer range() function Based on "futurize -f libfuturize.fixes.fix_xrange_with_import" > > > > Contributed-under: TianoCore Contribution Agreement 1.1 > > Cc: Yonghong Zhu > > Cc: Liming Gao > > Signed-off-by: Gary Lin > > --- > > BaseTools/Scripts/BinToPcd.py | 3 ++- > > BaseTools/Scripts/ConvertMasmToNasm.py | 1 + > > BaseTools/Scripts/FormatDosFiles.py | 3 ++- > > BaseTools/Scripts/PackageDocumentTools/packagedoc_cli.py | 1 + > > BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/basemodel/efibinary.py | 1 + > > BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/basemodel/ini.py | 1 + > > BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/edk2/model/doxygengen.py | 3 ++- > > BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/edk2/model/doxygengen_spec.py | 3 ++- > > BaseTools/Scripts/PatchCheck.py | 5 +++-- > > BaseTools/Source/Python/AutoGen/AutoGen.py | 1 + > > BaseTools/Source/Python/AutoGen/BuildEngine.py | 1 + > > BaseTools/Source/Python/AutoGen/GenC.py | 1 + > > BaseTools/Source/Python/AutoGen/GenPcdDb.py | 23 ++++++++++---------- > > BaseTools/Source/Python/AutoGen/GenVar.py | 3 ++- > > BaseTools/Source/Python/AutoGen/InfSectionParser.py | 1 + > > BaseTools/Source/Python/AutoGen/StrGather.py | 1 + > > BaseTools/Source/Python/AutoGen/UniClassObject.py | 1 + > > BaseTools/Source/Python/AutoGen/ValidCheckingInfoObject.py | 1 + > > BaseTools/Source/Python/BPDG/GenVpd.py | 7 +++--- > > BaseTools/Source/Python/Common/Expression.py | 1 + > > BaseTools/Source/Python/Common/Misc.py | 3 ++- > > BaseTools/Source/Python/Common/Parsing.py | 1 + > > BaseTools/Source/Python/Common/RangeExpression.py | 1 + > > BaseTools/Source/Python/Common/StringUtils.py | 1 + > > BaseTools/Source/Python/Common/ToolDefClassObject.py | 1 + > > BaseTools/Source/Python/Ecc/Check.py | 1 + > > BaseTools/Source/Python/Ecc/MetaDataParser.py | 3 ++- > > BaseTools/Source/Python/Ecc/MetaFileWorkspace/MetaFileParser.py | 1 + > > BaseTools/Source/Python/Eot/Eot.py | 1 + > > BaseTools/Source/Python/Eot/InfParserLite.py | 1 + > > BaseTools/Source/Python/GenFds/AprioriSection.py | 1 + > > BaseTools/Source/Python/GenFds/FfsFileStatement.py | 1 + > > BaseTools/Source/Python/GenFds/Fv.py | 1 + > > BaseTools/Source/Python/GenFds/GenFds.py | 1 + > > BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py | 1 + > > BaseTools/Source/Python/GenFds/Region.py | 3 ++- > > BaseTools/Source/Python/PatchPcdValue/PatchPcdValue.py | 1 + > > BaseTools/Source/Python/Pkcs7Sign/Pkcs7Sign.py | 3 ++- > > BaseTools/Source/Python/Rsa2048Sha256Sign/Rsa2048Sha256GenerateKeys.py | 3 ++- > > BaseTools/Source/Python/Rsa2048Sha256Sign/Rsa2048Sha256Sign.py | 3 ++- > > BaseTools/Source/Python/Trim/Trim.py | 1 + > > BaseTools/Source/Python/UPT/GenMetaFile/GenInfFile.py | 5 +++-- > > BaseTools/Source/Python/UPT/Library/CommentParsing.py | 3 ++- > > BaseTools/Source/Python/UPT/Library/Misc.py | 5 +++-- > > BaseTools/Source/Python/UPT/Library/Parsing.py | 3 ++- > > BaseTools/Source/Python/UPT/Library/StringUtils.py | 1 + > > BaseTools/Source/Python/UPT/Library/UniClassObject.py | 3 ++- > > BaseTools/Source/Python/UPT/Parser/DecParserMisc.py | 1 + > > BaseTools/Source/Python/UPT/Parser/InfSectionParser.py | 3 ++- > > BaseTools/Source/Python/UPT/PomAdapter/DecPomAlignment.py | 1 + > > BaseTools/Source/Python/UPT/UPT.py | 1 + > > BaseTools/Source/Python/UPT/UnitTest/InfBinarySectionTest.py | 1 + > > BaseTools/Source/Python/UPT/Xml/IniToXml.py | 1 + > > BaseTools/Source/Python/UPT/Xml/XmlParser.py | 1 + > > BaseTools/Source/Python/UPT/Xml/XmlParserMisc.py | 3 ++- > > BaseTools/Source/Python/Workspace/DscBuildData.py | 1 + > > BaseTools/Source/Python/Workspace/InfBuildData.py | 1 + > > BaseTools/Source/Python/Workspace/MetaFileParser.py | 1 + > > BaseTools/Tests/TestTools.py | 3 ++- > > BaseTools/Tests/TianoCompress.py | 1 + > > BaseTools/gcc/mingw-gcc-build.py | 1 + > > 61 files changed, 98 insertions(+), 37 deletions(-) > > > > diff --git a/BaseTools/Scripts/BinToPcd.py b/BaseTools/Scripts/BinToPcd.py index 10b5043325cc..88c46c35aa33 100644 > > --- a/BaseTools/Scripts/BinToPcd.py > > +++ b/BaseTools/Scripts/BinToPcd.py > > @@ -16,6 +16,7 @@ BinToPcd > > ''' > > from __future__ import print_function > > > > +from builtins import range > > import sys > > import argparse > > import re > > @@ -100,7 +101,7 @@ if __name__ == '__main__': > > help = "Increase output messages") > > parser.add_argument ("-q", "--quiet", dest = 'Quiet', action = "store_true", > > help = "Reduce output messages") > > - parser.add_argument ("--debug", dest = 'Debug', type = int, metavar = '[0-9]', choices = range (0, 10), default = 0, > > + parser.add_argument ("--debug", dest = 'Debug', type = int, metavar > > + = '[0-9]', choices = list(range(0, 10)), default = 0, > > help = "Set debug level") > > > > # > > diff --git a/BaseTools/Scripts/ConvertMasmToNasm.py b/BaseTools/Scripts/ConvertMasmToNasm.py > > index 5b83724b3124..e7b5b096fccc 100755 > > --- a/BaseTools/Scripts/ConvertMasmToNasm.py > > +++ b/BaseTools/Scripts/ConvertMasmToNasm.py > > @@ -17,6 +17,7 @@ from __future__ import print_function # # Import Modules # > > +from builtins import range > > import argparse > > import io > > import os.path > > diff --git a/BaseTools/Scripts/FormatDosFiles.py b/BaseTools/Scripts/FormatDosFiles.py > > index 3b16af5a4413..ce9d829ee430 100644 > > --- a/BaseTools/Scripts/FormatDosFiles.py > > +++ b/BaseTools/Scripts/FormatDosFiles.py > > @@ -17,6 +17,7 @@ > > # Import Modules > > # > > from __future__ import print_function > > +from builtins import range > > import argparse > > import os > > import os.path > > @@ -75,7 +76,7 @@ if __name__ == "__main__": > > help='increase output messages') > > parser.add_argument('-q', '--quiet', dest='Quiet', action='store_true', > > help='reduce output messages') > > - parser.add_argument('--debug', dest='Debug', type=int, metavar='[0-9]', choices=range(0, 10), default=0, > > + parser.add_argument('--debug', dest='Debug', type=int, > > + metavar='[0-9]', choices=list(range(0, 10)), default=0, > > help='set debug level') > > parser.add_argument('--exclude', dest='Exclude', nargs='+', help="directory name or file name which will be excluded") > > args = parser.parse_args() > > diff --git a/BaseTools/Scripts/PackageDocumentTools/packagedoc_cli.py b/BaseTools/Scripts/PackageDocumentTools/packagedoc_cli.py > > index 4deeee01a5e8..b45b5e69bc54 100644 > > --- a/BaseTools/Scripts/PackageDocumentTools/packagedoc_cli.py > > +++ b/BaseTools/Scripts/PackageDocumentTools/packagedoc_cli.py > > @@ -13,6 +13,7 @@ > > # > > > > from __future__ import print_function > > +from builtins import range > > import os, sys, logging, traceback, subprocess from optparse import OptionParser > > > > diff --git a/BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/basemodel/efibinary.py b/BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/basemodel/efibinary.py > > index 290287b817e7..5e5f6526d3a6 100644 > > --- a/BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/basemodel/efibinary.py > > +++ b/BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/basemode > > +++ l/efibinary.py > > @@ -12,6 +12,7 @@ > > # > > > > from __future__ import print_function > > +from builtins import range > > import array > > import uuid > > import re > > diff --git a/BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/basemodel/ini.py b/BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/basemodel/ini.py > > index ea83327052f2..d7a4a3e4c42a 100644 > > --- a/BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/basemodel/ini.py > > +++ b/BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/basemode > > +++ l/ini.py > > @@ -11,6 +11,7 @@ > > # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. > > # > > > > +from builtins import range > > from message import * > > import re > > import os > > diff --git a/BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/edk2/model/doxygengen.py b/BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/edk2/model/doxygengen.py > > index c22d362ff3e1..f5562a05b426 100644 > > --- a/BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/edk2/model/doxygengen.py > > +++ b/BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/edk2/mod > > +++ el/doxygengen.py > > @@ -16,6 +16,7 @@ > > """This file produce action class to generate doxygen document for edk2 codebase. > > The action classes are shared by GUI and command line tools. > > """ > > +from builtins import range > > import plugins.EdkPlugins.basemodel.doxygen as doxygen import os > > try: > > @@ -386,7 +387,7 @@ class PackageDocumentAction(DoxygenAction): > > configFile.AddFile(path) > > > > no = 0 > > - for no in xrange(len(lines)): > > + for no in range(len(lines)): > > if len(lines[no].strip()) == 0: > > continue > > if lines[no].strip()[:2] in ['##', '//', '/*', '*/']: > > diff --git a/BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/edk2/model/doxygengen_spec.py b/BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/edk2/model/doxygengen_spec.py > > index 4bae6968a96e..b8446032aa77 100644 > > --- a/BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/edk2/model/doxygengen_spec.py > > +++ b/BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/edk2/mod > > +++ el/doxygengen_spec.py > > @@ -13,6 +13,7 @@ > > # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. > > > > +from builtins import range > > import plugins.EdkPlugins.basemodel.doxygen as doxygen import os > > try: > > @@ -388,7 +389,7 @@ class PackageDocumentAction(DoxygenAction): > > configFile.AddFile(path) > > return > > no = 0 > > - for no in xrange(len(lines)): > > + for no in range(len(lines)): > > if len(lines[no].strip()) == 0: > > continue > > if lines[no].strip()[:2] in ['##', '//', '/*', '*/']: > > diff --git a/BaseTools/Scripts/PatchCheck.py b/BaseTools/Scripts/PatchCheck.py index 43bfc2495c6b..51d4adf08b60 100755 > > --- a/BaseTools/Scripts/PatchCheck.py > > +++ b/BaseTools/Scripts/PatchCheck.py > > @@ -15,6 +15,7 @@ > > > > from __future__ import print_function > > > > +from builtins import range > > VersionNumber = '0.1' > > __copyright__ = "Copyright (c) 2015 - 2016, Intel Corporation All rights reserved." > > > > @@ -26,7 +27,7 @@ import subprocess > > import sys > > > > class Verbose: > > - SILENT, ONELINE, NORMAL = range(3) > > + SILENT, ONELINE, NORMAL = list(range(3)) > > level = NORMAL > > > > class CommitMessageCheck: > > @@ -234,7 +235,7 @@ class CommitMessageCheck: > > break > > last_sig_line = line.strip() > > > > -(START, PRE_PATCH, PATCH) = range(3) > > +(START, PRE_PATCH, PATCH) = list(range(3)) > > > > class GitDiffCheck: > > """Checks the contents of a git diff.""" > > diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py b/BaseTools/Source/Python/AutoGen/AutoGen.py > > index d7485909414d..cfe3b8118716 100644 > > --- a/BaseTools/Source/Python/AutoGen/AutoGen.py > > +++ b/BaseTools/Source/Python/AutoGen/AutoGen.py > > @@ -16,6 +16,7 @@ > > ## Import Modules > > # > > from __future__ import print_function > > +from builtins import range > > import Common.LongFilePathOs as os > > import re > > import os.path as path > > diff --git a/BaseTools/Source/Python/AutoGen/BuildEngine.py b/BaseTools/Source/Python/AutoGen/BuildEngine.py > > index cab4c993dc44..4d81ffa3436f 100644 > > --- a/BaseTools/Source/Python/AutoGen/BuildEngine.py > > +++ b/BaseTools/Source/Python/AutoGen/BuildEngine.py > > @@ -15,6 +15,7 @@ > > # Import Modules > > # > > from __future__ import print_function > > +from builtins import range > > import Common.LongFilePathOs as os > > import re > > import copy > > diff --git a/BaseTools/Source/Python/AutoGen/GenC.py b/BaseTools/Source/Python/AutoGen/GenC.py > > index ae3af085a16b..2f10b3787a2d 100644 > > --- a/BaseTools/Source/Python/AutoGen/GenC.py > > +++ b/BaseTools/Source/Python/AutoGen/GenC.py > > @@ -13,6 +13,7 @@ > > > > ## Import Modules > > # > > +from builtins import range > > import string > > import collections > > import struct > > diff --git a/BaseTools/Source/Python/AutoGen/GenPcdDb.py b/BaseTools/Source/Python/AutoGen/GenPcdDb.py > > index 25e4f7246e3a..d2958384a97f 100644 > > --- a/BaseTools/Source/Python/AutoGen/GenPcdDb.py > > +++ b/BaseTools/Source/Python/AutoGen/GenPcdDb.py > > @@ -10,6 +10,7 @@ > > # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. > > # > > +from builtins import range > > from StringIO import StringIO > > from Common.Misc import * > > from Common.StringUtils import StringToArray @@ -257,7 +258,7 @@ class DbItemList: > > # Variable length, need to calculate one by one > > # > > assert(Index < len(self.RawDataList)) > > - for ItemIndex in xrange(Index): > > + for ItemIndex in range(Index): > > Offset += len(self.RawDataList[ItemIndex]) > > else: > > Offset = self.ItemSize * Index @@ -344,7 +345,7 @@ class DbComItemList (DbItemList): > > assert(False) > > else: > > assert(Index < len(self.RawDataList)) > > - for ItemIndex in xrange(Index): > > + for ItemIndex in range(Index): > > Offset += len(self.RawDataList[ItemIndex]) * self.ItemSize > > > > return Offset > > @@ -410,7 +411,7 @@ class DbStringHeadTableItemList(DbItemList): > > # Variable length, need to calculate one by one > > # > > assert(Index < len(self.RawDataList)) > > - for ItemIndex in xrange(Index): > > + for ItemIndex in range(Index): > > Offset += len(self.RawDataList[ItemIndex]) > > else: > > for innerIndex in range(Index): > > @@ -494,14 +495,14 @@ class DbStringItemList (DbComItemList): > > assert(len(RawDataList) == len(LenList)) > > DataList = [] > > # adjust DataList according to the LenList > > - for Index in xrange(len(RawDataList)): > > + for Index in range(len(RawDataList)): > > Len = LenList[Index] > > RawDatas = RawDataList[Index] > > assert(Len >= len(RawDatas)) > > ActualDatas = [] > > - for i in xrange(len(RawDatas)): > > + for i in range(len(RawDatas)): > > ActualDatas.append(RawDatas[i]) > > - for i in xrange(len(RawDatas), Len): > > + for i in range(len(RawDatas), Len): > > ActualDatas.append(0) > > DataList.append(ActualDatas) > > self.LenList = LenList > > @@ -510,7 +511,7 @@ class DbStringItemList (DbComItemList): > > Offset = 0 > > > > assert(Index < len(self.LenList)) > > - for ItemIndex in xrange(Index): > > + for ItemIndex in range(Index): > > Offset += self.LenList[ItemIndex] > > > > return Offset > > @@ -698,7 +699,7 @@ def BuildExDataBase(Dict): > > > > # Get offset of SkuId table in the database > > SkuIdTableOffset = FixedHeaderLen > > - for DbIndex in xrange(len(DbTotal)): > > + for DbIndex in range(len(DbTotal)): > > if DbTotal[DbIndex] is SkuidValue: > > break > > SkuIdTableOffset += DbItemTotal[DbIndex].GetListSize() > > @@ -710,7 +711,7 @@ def BuildExDataBase(Dict): > > for (LocalTokenNumberTableIndex, (Offset, Table)) in enumerate(LocalTokenNumberTable): > > DbIndex = 0 > > DbOffset = FixedHeaderLen > > - for DbIndex in xrange(len(DbTotal)): > > + for DbIndex in range(len(DbTotal)): > > if DbTotal[DbIndex] is Table: > > DbOffset += DbItemTotal[DbIndex].GetInterOffset(Offset) > > break > > @@ -736,7 +737,7 @@ def BuildExDataBase(Dict): > > (VariableHeadGuidIndex, VariableHeadStringIndex, SKUVariableOffset, VariableOffset, VariableRefTable, VariableAttribute) = VariableEntryPerSku[:] > > DbIndex = 0 > > DbOffset = FixedHeaderLen > > - for DbIndex in xrange(len(DbTotal)): > > + for DbIndex in range(len(DbTotal)): > > if DbTotal[DbIndex] is VariableRefTable: > > DbOffset += DbItemTotal[DbIndex].GetInterOffset(VariableOffset) > > break > > @@ -756,7 +757,7 @@ def BuildExDataBase(Dict): > > > > # calculate various table offset now > > DbTotalLength = FixedHeaderLen > > - for DbIndex in xrange(len(DbItemTotal)): > > + for DbIndex in range(len(DbItemTotal)): > > if DbItemTotal[DbIndex] is DbLocalTokenNumberTable: > > LocalTokenNumberTableOffset = DbTotalLength > > elif DbItemTotal[DbIndex] is DbExMapTable: > > diff --git a/BaseTools/Source/Python/AutoGen/GenVar.py b/BaseTools/Source/Python/AutoGen/GenVar.py > > index 3675be8de994..faaa955431d5 100644 > > --- a/BaseTools/Source/Python/AutoGen/GenVar.py > > +++ b/BaseTools/Source/Python/AutoGen/GenVar.py > > @@ -14,6 +14,7 @@ > > # # > > # Import Modules > > # > > +from builtins import range > > from struct import pack,unpack > > import collections > > import copy > > @@ -92,7 +93,7 @@ class VariableMgr(object): > > for current_valuedict_key in ordered_valuedict_keys: > > if current_valuedict_key < len(var_value): > > raise > > - for _ in xrange(current_valuedict_key - len(var_value)): > > + for _ in range(current_valuedict_key - len(var_value)): > > var_value.append('0x00') > > var_value += valuedict[current_valuedict_key] > > return var_value > > diff --git a/BaseTools/Source/Python/AutoGen/InfSectionParser.py b/BaseTools/Source/Python/AutoGen/InfSectionParser.py > > index 2cd5a6667a02..3d74e91f1f78 100644 > > --- a/BaseTools/Source/Python/AutoGen/InfSectionParser.py > > +++ b/BaseTools/Source/Python/AutoGen/InfSectionParser.py > > @@ -14,6 +14,7 @@ > > ## Import Modules > > # > > > > +from builtins import range > > import Common.EdkLogger as EdkLogger > > from Common.BuildToolError import * > > from Common.DataType import * > > diff --git a/BaseTools/Source/Python/AutoGen/StrGather.py b/BaseTools/Source/Python/AutoGen/StrGather.py > > index ce8866f480d5..844d2d8d8856 100644 > > --- a/BaseTools/Source/Python/AutoGen/StrGather.py > > +++ b/BaseTools/Source/Python/AutoGen/StrGather.py > > @@ -14,6 +14,7 @@ > > ## > > # Import Modules > > # > > +from builtins import range > > import re > > import Common.EdkLogger as EdkLogger > > from Common.BuildToolError import * > > diff --git a/BaseTools/Source/Python/AutoGen/UniClassObject.py b/BaseTools/Source/Python/AutoGen/UniClassObject.py > > index 3a931c6f2766..438f3394d55b 100644 > > --- a/BaseTools/Source/Python/AutoGen/UniClassObject.py > > +++ b/BaseTools/Source/Python/AutoGen/UniClassObject.py > > @@ -17,6 +17,7 @@ > > # Import Modules > > # > > from __future__ import print_function > > +from builtins import range > > import Common.LongFilePathOs as os, codecs, re import distutils.util import Common.EdkLogger as EdkLogger diff --git a/BaseTools/Source/Python/AutoGen/ValidCheckingInfoObject.py b/BaseTools/Source/Python/AutoGen/ValidCheckingInfoObject.py > > index 64d4965e9662..20356c6bcfab 100644 > > --- a/BaseTools/Source/Python/AutoGen/ValidCheckingInfoObject.py > > +++ b/BaseTools/Source/Python/AutoGen/ValidCheckingInfoObject.py > > @@ -14,6 +14,7 @@ > > # # > > # Import Modules > > # > > +from builtins import range > > import os > > from Common.RangeExpression import RangeExpression from Common.Misc import * diff --git a/BaseTools/Source/Python/BPDG/GenVpd.py b/BaseTools/Source/Python/BPDG/GenVpd.py > > index 69a9665f5a76..999cadf3437d 100644 > > --- a/BaseTools/Source/Python/BPDG/GenVpd.py > > +++ b/BaseTools/Source/Python/BPDG/GenVpd.py > > @@ -13,6 +13,7 @@ > > # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. > > # > > > > +from builtins import range > > import Common.LongFilePathOs as os > > import StringIO > > import StringTable as st > > @@ -229,7 +230,7 @@ class PcdEntry: > > > > ReturnArray = array.array('B') > > > > - for Index in xrange(len(ValueList)): > > + for Index in range(len(ValueList)): > > Value = None > > if ValueList[Index].lower().startswith('0x'): > > # translate hex value > > @@ -255,7 +256,7 @@ class PcdEntry: > > > > ReturnArray.append(Value) > > > > - for Index in xrange(len(ValueList), Size): > > + for Index in range(len(ValueList), Size): > > ReturnArray.append(0) > > > > self.PcdValue = ReturnArray.tolist() @@ -290,7 +291,7 @@ class PcdEntry: > > "Invalid unicode character %s in unicode string %s(File: %s Line: %s)" % \ > > (Value, UnicodeString, self.FileName, self.Lineno)) > > > > - for Index in xrange(len(UnicodeString) * 2, Size): > > + for Index in range(len(UnicodeString) * 2, Size): > > ReturnArray.append(0) > > > > self.PcdValue = ReturnArray.tolist() diff --git a/BaseTools/Source/Python/Common/Expression.py b/BaseTools/Source/Python/Common/Expression.py > > index c63030a16e6e..a4afe1783e33 100644 > > --- a/BaseTools/Source/Python/Common/Expression.py > > +++ b/BaseTools/Source/Python/Common/Expression.py > > @@ -13,6 +13,7 @@ > > ## Import Modules > > # > > from __future__ import print_function > > +from builtins import range > > from Common.GlobalData import * > > from CommonDataClass.Exceptions import BadExpression from CommonDataClass.Exceptions import WrnExpression diff --git a/BaseTools/Source/Python/Common/Misc.py b/BaseTools/Source/Python/Common/Misc.py > > index 01171adb9b9e..ebf706a55d7e 100644 > > --- a/BaseTools/Source/Python/Common/Misc.py > > +++ b/BaseTools/Source/Python/Common/Misc.py > > @@ -14,6 +14,7 @@ > > ## > > # Import Modules > > # > > +from builtins import range > > import Common.LongFilePathOs as os > > import sys > > import string > > @@ -1634,7 +1635,7 @@ def SplitOption(OptionString): > > def CommonPath(PathList): > > P1 = min(PathList).split(os.path.sep) > > P2 = max(PathList).split(os.path.sep) > > - for Index in xrange(min(len(P1), len(P2))): > > + for Index in range(min(len(P1), len(P2))): > > if P1[Index] != P2[Index]: > > return os.path.sep.join(P1[:Index]) > > return os.path.sep.join(P1) > > diff --git a/BaseTools/Source/Python/Common/Parsing.py b/BaseTools/Source/Python/Common/Parsing.py > > index 527852a50c09..717bc569d1c9 100644 > > --- a/BaseTools/Source/Python/Common/Parsing.py > > +++ b/BaseTools/Source/Python/Common/Parsing.py > > @@ -14,6 +14,7 @@ > > ## > > # Import Modules > > # > > +from builtins import range > > from StringUtils import * > > from CommonDataClass.DataClass import * from DataType import * diff --git a/BaseTools/Source/Python/Common/RangeExpression.py b/BaseTools/Source/Python/Common/RangeExpression.py > > index 4c29bc9ee4bd..284ee9c16334 100644 > > --- a/BaseTools/Source/Python/Common/RangeExpression.py > > +++ b/BaseTools/Source/Python/Common/RangeExpression.py > > @@ -13,6 +13,7 @@ > > # # Import Modules > > # > > from __future__ import print_function > > +from builtins import range > > from Common.GlobalData import * > > from CommonDataClass.Exceptions import BadExpression from CommonDataClass.Exceptions import WrnExpression diff --git a/BaseTools/Source/Python/Common/StringUtils.py b/BaseTools/Source/Python/Common/StringUtils.py > > index 2292a263b985..833bdcf5614b 100644 > > --- a/BaseTools/Source/Python/Common/StringUtils.py > > +++ b/BaseTools/Source/Python/Common/StringUtils.py > > @@ -14,6 +14,7 @@ > > ## > > # Import Modules > > # > > +from builtins import range > > import re > > import DataType > > import Common.LongFilePathOs as os > > diff --git a/BaseTools/Source/Python/Common/ToolDefClassObject.py b/BaseTools/Source/Python/Common/ToolDefClassObject.py > > index dd985ab30359..3a1cb13ff690 100644 > > --- a/BaseTools/Source/Python/Common/ToolDefClassObject.py > > +++ b/BaseTools/Source/Python/Common/ToolDefClassObject.py > > @@ -14,6 +14,7 @@ > > ## > > # Import Modules > > # > > +from builtins import range > > import Common.LongFilePathOs as os > > import re > > import EdkLogger > > diff --git a/BaseTools/Source/Python/Ecc/Check.py b/BaseTools/Source/Python/Ecc/Check.py > > index ea739043e0bc..4a60e9bab0e4 100644 > > --- a/BaseTools/Source/Python/Ecc/Check.py > > +++ b/BaseTools/Source/Python/Ecc/Check.py > > @@ -10,6 +10,7 @@ > > # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. > > # > > +from builtins import range > > import Common.LongFilePathOs as os > > import re > > from CommonDataClass.DataClass import * diff --git a/BaseTools/Source/Python/Ecc/MetaDataParser.py b/BaseTools/Source/Python/Ecc/MetaDataParser.py > > index 82ede3eb330c..9b8b96aa4b43 100644 > > --- a/BaseTools/Source/Python/Ecc/MetaDataParser.py > > +++ b/BaseTools/Source/Python/Ecc/MetaDataParser.py > > @@ -11,6 +11,7 @@ > > # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. > > # > > > > +from builtins import range > > import Common.LongFilePathOs as os > > from CommonDataClass.DataClass import * from EccToolError import * @@ -112,7 +113,7 @@ def ParseHeaderCommentSection(CommentList, FileName = None): > > # > > Last = 0 > > HeaderCommentStage = HEADER_COMMENT_NOT_STARTED > > - for Index in xrange(len(CommentList)-1, 0, -1): > > + for Index in range(len(CommentList)-1, 0, -1): > > Line = CommentList[Index][0] > > if _IsCopyrightLine(Line): > > Last = Index > > diff --git a/BaseTools/Source/Python/Ecc/MetaFileWorkspace/MetaFileParser.py b/BaseTools/Source/Python/Ecc/MetaFileWorkspace/MetaFileParser.py > > index fd96bb9a3c0b..d22945434711 100644 > > --- a/BaseTools/Source/Python/Ecc/MetaFileWorkspace/MetaFileParser.py > > +++ b/BaseTools/Source/Python/Ecc/MetaFileWorkspace/MetaFileParser.py > > @@ -14,6 +14,7 @@ > > ## > > # Import Modules > > # > > +from builtins import range > > import Common.LongFilePathOs as os > > import re > > import time > > diff --git a/BaseTools/Source/Python/Eot/Eot.py b/BaseTools/Source/Python/Eot/Eot.py > > index dfd1146af749..1862d71f7342 100644 > > --- a/BaseTools/Source/Python/Eot/Eot.py > > +++ b/BaseTools/Source/Python/Eot/Eot.py > > @@ -14,6 +14,7 @@ > > ## > > # Import Modules > > # > > +from builtins import range > > import Common.LongFilePathOs as os, time, glob import Common.EdkLogger as EdkLogger import EotGlobalData diff --git a/BaseTools/Source/Python/Eot/InfParserLite.py b/BaseTools/Source/Python/Eot/InfParserLite.py > > index 24f0d50246e5..5a2eab9b0413 100644 > > --- a/BaseTools/Source/Python/Eot/InfParserLite.py > > +++ b/BaseTools/Source/Python/Eot/InfParserLite.py > > @@ -15,6 +15,7 @@ > > # Import Modules > > # > > from __future__ import print_function > > +from builtins import range > > import Common.LongFilePathOs as os > > import Common.EdkLogger as EdkLogger > > from Common.DataType import * > > diff --git a/BaseTools/Source/Python/GenFds/AprioriSection.py b/BaseTools/Source/Python/GenFds/AprioriSection.py > > index 6b81b42620d7..decc0dd7c98d 100644 > > --- a/BaseTools/Source/Python/GenFds/AprioriSection.py > > +++ b/BaseTools/Source/Python/GenFds/AprioriSection.py > > @@ -15,6 +15,7 @@ > > ## > > # Import Modules > > # > > +from builtins import range > > from struct import * > > import Common.LongFilePathOs as os > > import StringIO > > diff --git a/BaseTools/Source/Python/GenFds/FfsFileStatement.py b/BaseTools/Source/Python/GenFds/FfsFileStatement.py > > index ba8e0465ef34..c3bccb47be2c 100644 > > --- a/BaseTools/Source/Python/GenFds/FfsFileStatement.py > > +++ b/BaseTools/Source/Python/GenFds/FfsFileStatement.py > > @@ -15,6 +15,7 @@ > > ## > > # Import Modules > > # > > +from builtins import range > > import Ffs > > import Rule > > import Common.LongFilePathOs as os > > diff --git a/BaseTools/Source/Python/GenFds/Fv.py b/BaseTools/Source/Python/GenFds/Fv.py > > index 6714838f6fc9..21c2579f0b51 100644 > > --- a/BaseTools/Source/Python/GenFds/Fv.py > > +++ b/BaseTools/Source/Python/GenFds/Fv.py > > @@ -15,6 +15,7 @@ > > ## > > # Import Modules > > # > > +from builtins import range > > import Common.LongFilePathOs as os > > import subprocess > > import StringIO > > diff --git a/BaseTools/Source/Python/GenFds/GenFds.py b/BaseTools/Source/Python/GenFds/GenFds.py > > index 1552ab4ee3a8..6b6511915eb3 100644 > > --- a/BaseTools/Source/Python/GenFds/GenFds.py > > +++ b/BaseTools/Source/Python/GenFds/GenFds.py > > @@ -16,6 +16,7 @@ > > # Import Modules > > # > > from __future__ import print_function > > +from builtins import range > > from optparse import OptionParser > > import sys > > import Common.LongFilePathOs as os > > diff --git a/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py b/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py > > index 73b52030d929..3388d5b098a8 100644 > > --- a/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py > > +++ b/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py > > @@ -16,6 +16,7 @@ > > # Import Modules > > # > > from __future__ import print_function > > +from builtins import range > > import Common.LongFilePathOs as os > > import sys > > import subprocess > > diff --git a/BaseTools/Source/Python/GenFds/Region.py b/BaseTools/Source/Python/GenFds/Region.py > > index 9d632b6321e2..a662692ad5d4 100644 > > --- a/BaseTools/Source/Python/GenFds/Region.py > > +++ b/BaseTools/Source/Python/GenFds/Region.py > > @@ -15,6 +15,7 @@ > > ## > > # Import Modules > > # > > +from builtins import range > > from struct import * > > from GenFdsGlobalVariable import GenFdsGlobalVariable import StringIO @@ -57,7 +58,7 @@ class Region(RegionClassObject): > > PadByte = pack('B', 0xFF) > > else: > > PadByte = pack('B', 0) > > - PadData = ''.join(PadByte for i in xrange(0, Size)) > > + PadData = ''.join(PadByte for i in range(0, Size)) > > Buffer.write(PadData) > > > > ## AddToBuffer() > > diff --git a/BaseTools/Source/Python/PatchPcdValue/PatchPcdValue.py b/BaseTools/Source/Python/PatchPcdValue/PatchPcdValue.py > > index cf2fc7c4f70a..0ba4a94950c6 100644 > > --- a/BaseTools/Source/Python/PatchPcdValue/PatchPcdValue.py > > +++ b/BaseTools/Source/Python/PatchPcdValue/PatchPcdValue.py > > @@ -14,6 +14,7 @@ > > ## > > # Import Modules > > # > > +from builtins import range > > import Common.LongFilePathOs as os > > from Common.LongFilePathSupport import OpenLongFilePath as open import sys diff --git a/BaseTools/Source/Python/Pkcs7Sign/Pkcs7Sign.py b/BaseTools/Source/Python/Pkcs7Sign/Pkcs7Sign.py > > index 11d11700ed99..becf3e8eb9e8 100644 > > --- a/BaseTools/Source/Python/Pkcs7Sign/Pkcs7Sign.py > > +++ b/BaseTools/Source/Python/Pkcs7Sign/Pkcs7Sign.py > > @@ -21,6 +21,7 @@ Pkcs7Sign > > ''' > > from __future__ import print_function > > > > +from builtins import range > > import os > > import sys > > import argparse > > @@ -88,7 +89,7 @@ if __name__ == '__main__': > > parser.add_argument("--signature-size", dest='SignatureSizeStr', type=str, help="specify the signature size for decode process.") > > parser.add_argument("-v", "--verbose", dest='Verbose', action="store_true", help="increase output messages") > > parser.add_argument("-q", "--quiet", dest='Quiet', action="store_true", help="reduce output messages") > > - parser.add_argument("--debug", dest='Debug', type=int, metavar='[0-9]', choices=range(0,10), default=0, help="set debug level") > > + parser.add_argument("--debug", dest='Debug', type=int, > > + metavar='[0-9]', choices=list(range(0,10)), default=0, help="set debug > > + level") > > parser.add_argument(metavar="input_file", dest='InputFile', type=argparse.FileType('rb'), help="specify the input filename") > > > > # > > diff --git a/BaseTools/Source/Python/Rsa2048Sha256Sign/Rsa2048Sha256GenerateKeys.py b/BaseTools/Source/Python/Rsa2048Sha256Sign/Rsa2048Sha256GenerateKeys.py > > index ca4f64864790..ca0093bf117e 100644 > > --- a/BaseTools/Source/Python/Rsa2048Sha256Sign/Rsa2048Sha256GenerateKeys.py > > +++ b/BaseTools/Source/Python/Rsa2048Sha256Sign/Rsa2048Sha256GenerateKey > > +++ s.py > > @@ -24,6 +24,7 @@ Rsa2048Sha256GenerateKeys ''' > > from __future__ import print_function > > > > +from builtins import range > > import os > > import sys > > import argparse > > @@ -51,7 +52,7 @@ if __name__ == '__main__': > > parser.add_argument("--public-key-hash-c", dest='PublicKeyHashCFile', type=argparse.FileType('wb'), help="specify the public key hash filename that is SHA 256 hash of 2048 bit RSA public key in C structure format") > > parser.add_argument("-v", "--verbose", dest='Verbose', action="store_true", help="increase output messages") > > parser.add_argument("-q", "--quiet", dest='Quiet', action="store_true", help="reduce output messages") > > - parser.add_argument("--debug", dest='Debug', type=int, metavar='[0-9]', choices=range(0,10), default=0, help="set debug level") > > + parser.add_argument("--debug", dest='Debug', type=int, > > + metavar='[0-9]', choices=list(range(0,10)), default=0, help="set debug > > + level") > > > > # > > # Parse command line arguments > > diff --git a/BaseTools/Source/Python/Rsa2048Sha256Sign/Rsa2048Sha256Sign.py b/BaseTools/Source/Python/Rsa2048Sha256Sign/Rsa2048Sha256Sign.py > > index 2e164c4a2da6..ff9721d0deae 100644 > > --- a/BaseTools/Source/Python/Rsa2048Sha256Sign/Rsa2048Sha256Sign.py > > +++ b/BaseTools/Source/Python/Rsa2048Sha256Sign/Rsa2048Sha256Sign.py > > @@ -19,6 +19,7 @@ Rsa2048Sha256Sign > > ''' > > from __future__ import print_function > > > > +from builtins import range > > import os > > import sys > > import argparse > > @@ -71,7 +72,7 @@ if __name__ == '__main__': > > parser.add_argument("--private-key", dest='PrivateKeyFile', type=argparse.FileType('rb'), help="specify the private key filename. If not specified, a test signing key is used.") > > parser.add_argument("-v", "--verbose", dest='Verbose', action="store_true", help="increase output messages") > > parser.add_argument("-q", "--quiet", dest='Quiet', action="store_true", help="reduce output messages") > > - parser.add_argument("--debug", dest='Debug', type=int, metavar='[0-9]', choices=range(0,10), default=0, help="set debug level") > > + parser.add_argument("--debug", dest='Debug', type=int, > > + metavar='[0-9]', choices=list(range(0,10)), default=0, help="set debug > > + level") > > parser.add_argument(metavar="input_file", dest='InputFile', type=argparse.FileType('rb'), help="specify the input filename") > > > > # > > diff --git a/BaseTools/Source/Python/Trim/Trim.py b/BaseTools/Source/Python/Trim/Trim.py > > index b512d15243f8..1a690cde5933 100644 > > --- a/BaseTools/Source/Python/Trim/Trim.py > > +++ b/BaseTools/Source/Python/Trim/Trim.py > > @@ -14,6 +14,7 @@ > > ## > > # Import Modules > > # > > +from builtins import range > > import Common.LongFilePathOs as os > > import sys > > import re > > diff --git a/BaseTools/Source/Python/UPT/GenMetaFile/GenInfFile.py b/BaseTools/Source/Python/UPT/GenMetaFile/GenInfFile.py > > index bfd422b196ba..448b85700948 100644 > > --- a/BaseTools/Source/Python/UPT/GenMetaFile/GenInfFile.py > > +++ b/BaseTools/Source/Python/UPT/GenMetaFile/GenInfFile.py > > @@ -15,6 +15,7 @@ > > ''' > > GenInf > > ''' > > +from builtins import range > > import os > > import stat > > import codecs > > @@ -409,7 +410,7 @@ def GenLibraryClasses(ModuleObject): > > Statement += '|' + FFE > > ModuleList = LibraryClass.GetSupModuleList() > > ArchList = LibraryClass.GetSupArchList() > > - for Index in xrange(0, len(ArchList)): > > + for Index in range(0, len(ArchList)): > > ArchList[Index] = ConvertArchForInstall(ArchList[Index]) > > ArchList.sort() > > SortedArch = ' '.join(ArchList) @@ -574,7 +575,7 @@ def GenUserExtensions(ModuleObject): > > # if not Statement: > > # continue > > ArchList = UserExtension.GetSupArchList() > > - for Index in xrange(0, len(ArchList)): > > + for Index in range(0, len(ArchList)): > > ArchList[Index] = ConvertArchForInstall(ArchList[Index]) > > ArchList.sort() > > KeyList = [] > > diff --git a/BaseTools/Source/Python/UPT/Library/CommentParsing.py b/BaseTools/Source/Python/UPT/Library/CommentParsing.py > > index 8ee788bd7724..3ad69ebc1902 100644 > > --- a/BaseTools/Source/Python/UPT/Library/CommentParsing.py > > +++ b/BaseTools/Source/Python/UPT/Library/CommentParsing.py > > @@ -19,6 +19,7 @@ CommentParsing > > ## > > # Import Modules > > # > > +from builtins import range > > import re > > > > from Library.StringUtils import GetSplitValueList @@ -74,7 +75,7 @@ def ParseHeaderCommentSection(CommentList, FileName = None, IsBinaryHeader = Fal > > # first find the last copyright line > > # > > Last = 0 > > - for Index in xrange(len(CommentList)-1, 0, -1): > > + for Index in range(len(CommentList)-1, 0, -1): > > Line = CommentList[Index][0] > > if _IsCopyrightLine(Line): > > Last = Index > > diff --git a/BaseTools/Source/Python/UPT/Library/Misc.py b/BaseTools/Source/Python/UPT/Library/Misc.py > > index e16d309ef883..733abc6ff5de 100644 > > --- a/BaseTools/Source/Python/UPT/Library/Misc.py > > +++ b/BaseTools/Source/Python/UPT/Library/Misc.py > > @@ -19,6 +19,7 @@ Misc > > ## > > # Import Modules > > # > > +from builtins import range > > import os.path > > from os import access > > from os import F_OK > > @@ -437,7 +438,7 @@ class Sdict(IterableUserDict): > > def CommonPath(PathList): > > Path1 = min(PathList).split(os.path.sep) > > Path2 = max(PathList).split(os.path.sep) > > - for Index in xrange(min(len(Path1), len(Path2))): > > + for Index in range(min(len(Path1), len(Path2))): > > if Path1[Index] != Path2[Index]: > > return os.path.sep.join(Path1[:Index]) > > return os.path.sep.join(Path1) > > @@ -890,7 +891,7 @@ def ProcessEdkComment(LineList): > > if FindEdkBlockComment: > > if FirstPos == -1: > > FirstPos = StartPos > > - for Index in xrange(StartPos, EndPos+1): > > + for Index in range(StartPos, EndPos+1): > > LineList[Index] = '' > > FindEdkBlockComment = False > > elif Line.find("//") != -1 and not Line.startswith("#"): > > diff --git a/BaseTools/Source/Python/UPT/Library/Parsing.py b/BaseTools/Source/Python/UPT/Library/Parsing.py > > index 22030e7587c1..22faabfa4bb0 100644 > > --- a/BaseTools/Source/Python/UPT/Library/Parsing.py > > +++ b/BaseTools/Source/Python/UPT/Library/Parsing.py > > @@ -20,6 +20,7 @@ Parsing > > ## > > # Import Modules > > # > > +from builtins import range > > import os.path > > import re > > > > @@ -973,7 +974,7 @@ def GenSection(SectionName, SectionDict, SplitArch=True, NeedBlankLine=False): > > ArchList = GetSplitValueList(SectionAttrs, DataType.TAB_COMMENT_SPLIT) > > else: > > ArchList = [SectionAttrs] > > - for Index in xrange(0, len(ArchList)): > > + for Index in range(0, len(ArchList)): > > ArchList[Index] = ConvertArchForInstall(ArchList[Index]) > > Section = '[' + SectionName + '.' + (', ' + SectionName + '.').join(ArchList) + ']' > > else: > > diff --git a/BaseTools/Source/Python/UPT/Library/StringUtils.py b/BaseTools/Source/Python/UPT/Library/StringUtils.py > > index a7a7b8667143..dccaff744617 100644 > > --- a/BaseTools/Source/Python/UPT/Library/StringUtils.py > > +++ b/BaseTools/Source/Python/UPT/Library/StringUtils.py > > @@ -18,6 +18,7 @@ StringUtils > > ## > > # Import Modules > > # > > +from builtins import range > > import re > > import os.path > > from string import strip > > diff --git a/BaseTools/Source/Python/UPT/Library/UniClassObject.py b/BaseTools/Source/Python/UPT/Library/UniClassObject.py > > index a464cbf702f7..7e4362fd8ddd 100644 > > --- a/BaseTools/Source/Python/UPT/Library/UniClassObject.py > > +++ b/BaseTools/Source/Python/UPT/Library/UniClassObject.py > > @@ -19,6 +19,7 @@ from __future__ import print_function ## # Import Modules # > > +from builtins import range > > import os, codecs, re > > import distutils.util > > from Logger import ToolError > > @@ -513,7 +514,7 @@ class UniFileClassObject(object): > > FileIn[LineCount-1] = Line > > FileIn[LineCount] = '\r\n' > > LineCount -= 1 > > - for Index in xrange (LineCount + 1, len (FileIn) - 1): > > + for Index in range (LineCount + 1, len (FileIn) - 1): > > if (Index == len(FileIn) -1): > > FileIn[Index] = '\r\n' > > else: > > diff --git a/BaseTools/Source/Python/UPT/Parser/DecParserMisc.py b/BaseTools/Source/Python/UPT/Parser/DecParserMisc.py > > index 22a50680fb8f..14539b0bd6c1 100644 > > --- a/BaseTools/Source/Python/UPT/Parser/DecParserMisc.py > > +++ b/BaseTools/Source/Python/UPT/Parser/DecParserMisc.py > > @@ -17,6 +17,7 @@ DecParserMisc > > > > ## Import modules > > # > > +from builtins import range > > import os > > import Logger.Log as Logger > > from Logger.ToolError import FILE_PARSE_FAILURE diff --git a/BaseTools/Source/Python/UPT/Parser/InfSectionParser.py b/BaseTools/Source/Python/UPT/Parser/InfSectionParser.py > > index 8ba4c3fc0819..9e0a74c31d75 100644 > > --- a/BaseTools/Source/Python/UPT/Parser/InfSectionParser.py > > +++ b/BaseTools/Source/Python/UPT/Parser/InfSectionParser.py > > @@ -18,6 +18,7 @@ InfSectionParser > > ## > > # Import Modules > > # > > +from builtins import range > > from copy import deepcopy > > import re > > > > @@ -455,7 +456,7 @@ class InfSectionParser(InfDefinSectionParser, > > Arch = Match.groups(1)[0].upper() > > ArchList.append(Arch) > > CommentSoFar = '' > > - for Index in xrange(1, len(List)): > > + for Index in range(1, len(List)): > > Result = ParseComment(List[Index], DT.ALL_USAGE_TOKENS, TokenDict, [], False) > > Usage = Result[0] > > Type = Result[1] > > diff --git a/BaseTools/Source/Python/UPT/PomAdapter/DecPomAlignment.py b/BaseTools/Source/Python/UPT/PomAdapter/DecPomAlignment.py > > index 074aa311f31d..4c28b7f5d22a 100644 > > --- a/BaseTools/Source/Python/UPT/PomAdapter/DecPomAlignment.py > > +++ b/BaseTools/Source/Python/UPT/PomAdapter/DecPomAlignment.py > > @@ -20,6 +20,7 @@ from __future__ import print_function ## # Import Modules # > > +from builtins import range > > import os.path > > from os import sep > > import platform > > diff --git a/BaseTools/Source/Python/UPT/UPT.py b/BaseTools/Source/Python/UPT/UPT.py > > index 2644dbed31e9..930f0c1b9d54 100644 > > --- a/BaseTools/Source/Python/UPT/UPT.py > > +++ b/BaseTools/Source/Python/UPT/UPT.py > > @@ -19,6 +19,7 @@ UPT > > > > ## import modules > > # > > +from builtins import range > > import locale > > import sys > > encoding = locale.getdefaultlocale()[1] diff --git a/BaseTools/Source/Python/UPT/UnitTest/InfBinarySectionTest.py b/BaseTools/Source/Python/UPT/UnitTest/InfBinarySectionTest.py > > index 626f17426de7..2c21823194e2 100644 > > --- a/BaseTools/Source/Python/UPT/UnitTest/InfBinarySectionTest.py > > +++ b/BaseTools/Source/Python/UPT/UnitTest/InfBinarySectionTest.py > > @@ -12,6 +12,7 @@ > > # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. > > > > from __future__ import print_function > > +from builtins import range > > import os > > #import Object.Parser.InfObject as InfObject from Object.Parser.InfCommonObject import CurrentLine diff --git a/BaseTools/Source/Python/UPT/Xml/IniToXml.py b/BaseTools/Source/Python/UPT/Xml/IniToXml.py > > index aa6f23011b17..529668895eb3 100644 > > --- a/BaseTools/Source/Python/UPT/Xml/IniToXml.py > > +++ b/BaseTools/Source/Python/UPT/Xml/IniToXml.py > > @@ -16,6 +16,7 @@ > > IniToXml > > ''' > > > > +from builtins import range > > import os.path > > import re > > from time import strftime > > diff --git a/BaseTools/Source/Python/UPT/Xml/XmlParser.py b/BaseTools/Source/Python/UPT/Xml/XmlParser.py > > index dba3b7f5892c..dccc7a88f1d9 100644 > > --- a/BaseTools/Source/Python/UPT/Xml/XmlParser.py > > +++ b/BaseTools/Source/Python/UPT/Xml/XmlParser.py > > @@ -19,6 +19,7 @@ XmlParser > > ## > > # Import Modules > > # > > +from builtins import range > > import re > > > > from Library.Xml.XmlRoutines import XmlNode diff --git a/BaseTools/Source/Python/UPT/Xml/XmlParserMisc.py b/BaseTools/Source/Python/UPT/Xml/XmlParserMisc.py > > index 7e3dc94edf64..28b146ff9183 100644 > > --- a/BaseTools/Source/Python/UPT/Xml/XmlParserMisc.py > > +++ b/BaseTools/Source/Python/UPT/Xml/XmlParserMisc.py > > @@ -15,6 +15,7 @@ > > ''' > > XmlParserMisc > > ''' > > +from builtins import range > > from Object.POM.CommonObject import TextObject from Logger.StringTable import ERR_XML_PARSER_REQUIRED_ITEM_MISSING > > from Logger.ToolError import PARSER_ERROR @@ -53,7 +54,7 @@ def ConvertVariableName(VariableName): > > if SecondByte != 0: > > return None > > > > - if FirstByte not in xrange(0x20, 0x7F): > > + if FirstByte not in range(0x20, 0x7F): > > return None > > TransferedStr += ('%c')%FirstByte > > Index = Index + 2 > > diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py b/BaseTools/Source/Python/Workspace/DscBuildData.py > > index a80c07bc1e55..462b06944a94 100644 > > --- a/BaseTools/Source/Python/Workspace/DscBuildData.py > > +++ b/BaseTools/Source/Python/Workspace/DscBuildData.py > > @@ -18,6 +18,7 @@ > > # into PlatformBuildClassObject form for easier use for AutoGen. > > # > > from __future__ import print_function > > +from builtins import range > > from Common.StringUtils import * > > from Common.DataType import * > > from Common.Misc import * > > diff --git a/BaseTools/Source/Python/Workspace/InfBuildData.py b/BaseTools/Source/Python/Workspace/InfBuildData.py > > index 165e03f78964..658f86ac891c 100644 > > --- a/BaseTools/Source/Python/Workspace/InfBuildData.py > > +++ b/BaseTools/Source/Python/Workspace/InfBuildData.py > > @@ -12,6 +12,7 @@ > > # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. > > # > > > > +from builtins import range > > from Common.StringUtils import * > > from Common.DataType import * > > from Common.Misc import * > > diff --git a/BaseTools/Source/Python/Workspace/MetaFileParser.py b/BaseTools/Source/Python/Workspace/MetaFileParser.py > > index 2815c83af1b3..baa5ddbb3917 100644 > > --- a/BaseTools/Source/Python/Workspace/MetaFileParser.py > > +++ b/BaseTools/Source/Python/Workspace/MetaFileParser.py > > @@ -16,6 +16,7 @@ > > # Import Modules > > # > > from __future__ import print_function > > +from builtins import range > > import Common.LongFilePathOs as os > > import re > > import time > > diff --git a/BaseTools/Tests/TestTools.py b/BaseTools/Tests/TestTools.py index be7b4ad42856..37338fd60db7 100644 > > --- a/BaseTools/Tests/TestTools.py > > +++ b/BaseTools/Tests/TestTools.py > > @@ -16,6 +16,7 @@ from __future__ import print_function ## # Import Modules # > > +from builtins import range > > import base64 > > import os > > import os.path > > @@ -162,7 +163,7 @@ class BaseToolsTest(unittest.TestCase): > > if maxlen is None: maxlen = minlen > > return ''.join( > > [chr(random.randint(0,255)) > > - for x in xrange(random.randint(minlen, maxlen)) > > + for x in range(random.randint(minlen, maxlen)) > > ]) > > > > def setUp(self): > > diff --git a/BaseTools/Tests/TianoCompress.py b/BaseTools/Tests/TianoCompress.py > > index f6a4a6ae9c5d..65f783d1be9e 100644 > > --- a/BaseTools/Tests/TianoCompress.py > > +++ b/BaseTools/Tests/TianoCompress.py > > @@ -16,6 +16,7 @@ > > # Import Modules > > # > > from __future__ import print_function > > +from builtins import range > > import os > > import random > > import sys > > diff --git a/BaseTools/gcc/mingw-gcc-build.py b/BaseTools/gcc/mingw-gcc-build.py > > index 643fec58a457..f7d0308bd9fa 100755 > > --- a/BaseTools/gcc/mingw-gcc-build.py > > +++ b/BaseTools/gcc/mingw-gcc-build.py > > @@ -18,6 +18,7 @@ > > > > > > from __future__ import print_function > > +from builtins import range > > from optparse import OptionParser > > import os > > import shutil > > -- > > 2.17.1 > > > > _______________________________________________ > > edk2-devel mailing list > > edk2-devel@lists.01.org > > https://lists.01.org/mailman/listinfo/edk2-devel > > >