BaseTools/Scripts: Porting PackageDocumentTools code to use Python3

Porting PackageDocumentTools code to support python2 and python3

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Zhiju.Fan <zhijux.fan@intel.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Bob Feng <bob.c.feng@intel.com>
This commit is contained in:
Zhijux Fan 2018-12-17 00:04:04 +08:00 committed by Feng, Bob C
parent fe90631298
commit 7cc7e054f8
10 changed files with 39 additions and 39 deletions

View File

@ -135,7 +135,7 @@ class parser_lst(object):
tmp_dict[offset] = tmp_name
pcdname_num = int(pcdname_num_re.findall(t_name)[0],10)
uint = int(unit_num.findall(uint)[0],10)
bit = uint / 8
bit = uint // 8
for i in range(1, pcdname_num):
offset += bit
tmp_name = pcdname2_re.findall(t_name)[0] + '[%s]' % i

View File

@ -16,8 +16,8 @@ from __future__ import print_function
import os, sys, logging, traceback, subprocess
from optparse import OptionParser
import plugins.EdkPlugins.edk2.model.baseobject as baseobject
import plugins.EdkPlugins.edk2.model.doxygengen as doxygengen
from .plugins.EdkPlugins.edk2.model import baseobject
from .plugins.EdkPlugins.edk2.model import doxygengen
gArchMarcoDict = {'ALL' : 'MDE_CPU_IA32 MDE_CPU_X64 MDE_CPU_EBC MDE_CPU_IPF _MSC_EXTENSIONS __GNUC__ __INTEL_COMPILER',
'IA32_MSFT': 'MDE_CPU_IA32 _MSC_EXTENSIONS',
@ -38,7 +38,7 @@ def parseCmdArgs():
help='Specify the absolute path of doxygen tools installation. For example: C:\\Program Files\\doxygen\bin\doxygen.exe')
parser.add_option('-o', '--output', action='store', dest='OutputPath',
help='Specify the document output path. For example: c:\\docoutput')
parser.add_option('-a', '--arch', action='store', dest='Arch', choices=gArchMarcoDict.keys(),
parser.add_option('-a', '--arch', action='store', dest='Arch', choices=list(gArchMarcoDict.keys()),
help='Specify the architecture used in preprocess package\'s source. For example: -a IA32_MSFT')
parser.add_option('-m', '--mode', action='store', dest='DocumentMode', choices=['CHM', 'HTML'],
help='Specify the document mode from : CHM or HTML')

View File

@ -18,8 +18,8 @@ import os, sys, wx, logging
import wx.stc
import wx.lib.newevent
import wx.lib.agw.genericmessagedialog as GMD
import plugins.EdkPlugins.edk2.model.baseobject as baseobject
import plugins.EdkPlugins.edk2.model.doxygengen as doxygengen
from plugins.EdkPlugins.edk2.model import baseobject
from plugins.EdkPlugins.edk2.model import doxygengen
if hasattr(sys, "frozen"):
appPath = os.path.abspath(os.path.dirname(sys.executable))
@ -720,7 +720,7 @@ class ProgressDialog(wx.Dialog):
lines = f.readlines()
f.close()
bfound = False
for index in xrange(len(lines)):
for index in range(len(lines)):
if lines[index].find('<a class="el" href="files.html" target="basefrm">File List</a>') != -1:
lines[index] = "<!-- %s" % lines[index]
bfound = True
@ -969,7 +969,7 @@ class ProgressDialog(wx.Dialog):
fd = open(path, 'r')
text = fd.read()
fd.close()
except Exception, e:
except Exception as e:
self.LogMessage (" <<<Fail to open file %s" % path)
return
text = text.replace ('.s.dox', '.s')
@ -982,7 +982,7 @@ class ProgressDialog(wx.Dialog):
fd = open(path, 'w')
fd.write(text)
fd.close()
except Exception, e:
except Exception as e:
self.LogMessage (" <<<Fail to fixup file %s" % path)
return
self.LogMessage(' >>> Finish to fixup .dox postfix for file %s \n' % path)
@ -993,7 +993,7 @@ class ProgressDialog(wx.Dialog):
fd = open(path, 'r')
lines = fd.readlines()
fd.close()
except Exception, e:
except Exception as e:
self.LogMessage (" <<<Fail to open file %s" % path)
return
for line in lines:
@ -1004,7 +1004,7 @@ class ProgressDialog(wx.Dialog):
fd = open(path, 'w')
fd.write("".join(lines))
fd.close()
except Exception, e:
except Exception as e:
self.LogMessage (" <<<Fail to fixup file %s" % path)
return
self.LogMessage(' >>> Finish to fixup .decdoxygen postfix for file %s \n' % path)

View File

@ -67,7 +67,7 @@ class Page(BaseDoxygeItem):
def AddSection(self, section):
self.mSections.append(section)
self.mSections.sort(cmp=lambda x, y: cmp(x.mName.lower(), y.mName.lower()))
self.mSections.sort(key=lambda x: x.mName.lower())
def Generate(self):
if self.mIsMainPage:
@ -80,7 +80,7 @@ class Page(BaseDoxygeItem):
self.mText.append(self.mDescription)
endIndex = len(self.mText)
self.mSections.sort()
self.mSections.sort(key=lambda x: x.mName.lower())
for sect in self.mSections:
self.mText += sect.Generate()

View File

@ -10,12 +10,12 @@
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
import plugins.EdkPlugins.basemodel.ini as ini
import plugins.EdkPlugins.edk2.model.dsc as dsc
import plugins.EdkPlugins.edk2.model.inf as inf
import plugins.EdkPlugins.edk2.model.dec as dec
from ...basemodel import ini
from ...edk2.model import dsc
from ...edk2.model import inf
from ...edk2.model import dec
import os
from plugins.EdkPlugins.basemodel.message import *
from ...basemodel.message import *
class SurfaceObject(object):
_objs = {}
@ -655,13 +655,13 @@ class Package(SurfaceObject):
return self._pcds
def GetPpis(self):
return self._ppis.values()
return list(self._ppis.values())
def GetProtocols(self):
return self._protocols.values()
return list(self._protocols.values())
def GetGuids(self):
return self._guids.values()
return list(self._guids.values())
def Destroy(self):
for pcd in self._pcds.values():

View File

@ -11,9 +11,9 @@
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
import plugins.EdkPlugins.basemodel.ini as ini
from ...basemodel import ini
import re, os
from plugins.EdkPlugins.basemodel.message import *
from ...basemodel.message import *
class DECFile(ini.BaseINIFile):

View File

@ -16,7 +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.
"""
import plugins.EdkPlugins.basemodel.doxygen as doxygen
from ...basemodel import doxygen
import os
try:
import wx
@ -24,9 +24,9 @@ try:
except:
gInGui = False
import re
import plugins.EdkPlugins.edk2.model.inf as inf
import plugins.EdkPlugins.edk2.model.dec as dec
from plugins.EdkPlugins.basemodel.message import *
from ...edk2.model import inf
from ...edk2.model import dec
from ...basemodel.message import *
_ignore_dir = ['.svn', '_svn', 'cvs']
_inf_key_description_mapping_table = {
@ -386,7 +386,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 ['##', '//', '/*', '*/']:
@ -1000,7 +1000,7 @@ class PackageDocumentAction(DoxygenAction):
#file = textfile.TextFile(path)
try:
file = open(path, 'rb')
file = open(path, 'r')
except (IOError, OSError) as msg:
return None

View File

@ -13,7 +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.
import plugins.EdkPlugins.basemodel.doxygen as doxygen
from ...basemodel import doxygen
import os
try:
import wx
@ -21,9 +21,9 @@ try:
except:
gInGui = False
import re
import plugins.EdkPlugins.edk2.model.inf as inf
import plugins.EdkPlugins.edk2.model.dec as dec
from plugins.EdkPlugins.basemodel.message import *
from ...edk2.model import inf
from ...edk2.model import dec
from ...basemodel.message import *
_ignore_dir = ['.svn', '_svn', 'cvs']
_inf_key_description_mapping_table = {
@ -388,7 +388,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 ['##', '//', '/*', '*/']:
@ -1003,7 +1003,7 @@ class PackageDocumentAction(DoxygenAction):
#file = textfile.TextFile(path)
try:
file = open(path, 'rb')
file = open(path, 'r')
except (IOError, OSError) as msg:
return None

View File

@ -11,9 +11,9 @@
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
import plugins.EdkPlugins.basemodel.ini as ini
from ...basemodel import ini
import re, os
from plugins.EdkPlugins.basemodel.message import *
from ...basemodel.message import *
class DSCFile(ini.BaseINIFile):
def GetSectionInstance(self, parent, name, isCombined=False):

View File

@ -11,9 +11,9 @@
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
import plugins.EdkPlugins.basemodel.ini as ini
from ...basemodel import ini
import re, os
from plugins.EdkPlugins.basemodel.message import *
from ...basemodel.message import *
class INFFile(ini.BaseINIFile):
_libobjs = {}