tmp_dict[offset] = tmp_name\r
pcdname_num = int(pcdname_num_re.findall(t_name)[0],10)\r
uint = int(unit_num.findall(uint)[0],10)\r
- bit = uint / 8\r
+ bit = uint // 8\r
for i in range(1, pcdname_num):\r
offset += bit\r
tmp_name = pcdname2_re.findall(t_name)[0] + '[%s]' % i\r
import os, sys, logging, traceback, subprocess\r
from optparse import OptionParser\r
\r
-import plugins.EdkPlugins.edk2.model.baseobject as baseobject\r
-import plugins.EdkPlugins.edk2.model.doxygengen as doxygengen\r
+from .plugins.EdkPlugins.edk2.model import baseobject\r
+from .plugins.EdkPlugins.edk2.model import doxygengen\r
\r
gArchMarcoDict = {'ALL' : 'MDE_CPU_IA32 MDE_CPU_X64 MDE_CPU_EBC MDE_CPU_IPF _MSC_EXTENSIONS __GNUC__ __INTEL_COMPILER',\r
'IA32_MSFT': 'MDE_CPU_IA32 _MSC_EXTENSIONS',\r
help='Specify the absolute path of doxygen tools installation. For example: C:\\Program Files\\doxygen\bin\doxygen.exe')\r
parser.add_option('-o', '--output', action='store', dest='OutputPath',\r
help='Specify the document output path. For example: c:\\docoutput')\r
- parser.add_option('-a', '--arch', action='store', dest='Arch', choices=gArchMarcoDict.keys(),\r
+ parser.add_option('-a', '--arch', action='store', dest='Arch', choices=list(gArchMarcoDict.keys()),\r
help='Specify the architecture used in preprocess package\'s source. For example: -a IA32_MSFT')\r
parser.add_option('-m', '--mode', action='store', dest='DocumentMode', choices=['CHM', 'HTML'],\r
help='Specify the document mode from : CHM or HTML')\r
import wx.stc\r
import wx.lib.newevent\r
import wx.lib.agw.genericmessagedialog as GMD\r
-import plugins.EdkPlugins.edk2.model.baseobject as baseobject\r
-import plugins.EdkPlugins.edk2.model.doxygengen as doxygengen\r
+from plugins.EdkPlugins.edk2.model import baseobject\r
+from plugins.EdkPlugins.edk2.model import doxygengen\r
\r
if hasattr(sys, "frozen"):\r
appPath = os.path.abspath(os.path.dirname(sys.executable))\r
lines = f.readlines()\r
f.close()\r
bfound = False\r
- for index in xrange(len(lines)):\r
+ for index in range(len(lines)):\r
if lines[index].find('<a class="el" href="files.html" target="basefrm">File List</a>') != -1:\r
lines[index] = "<!-- %s" % lines[index]\r
bfound = True\r
fd = open(path, 'r')\r
text = fd.read()\r
fd.close()\r
- except Exception, e:\r
+ except Exception as e:\r
self.LogMessage (" <<<Fail to open file %s" % path)\r
return\r
text = text.replace ('.s.dox', '.s')\r
fd = open(path, 'w')\r
fd.write(text)\r
fd.close()\r
- except Exception, e:\r
+ except Exception as e:\r
self.LogMessage (" <<<Fail to fixup file %s" % path)\r
return\r
self.LogMessage(' >>> Finish to fixup .dox postfix for file %s \n' % path)\r
fd = open(path, 'r')\r
lines = fd.readlines()\r
fd.close()\r
- except Exception, e:\r
+ except Exception as e:\r
self.LogMessage (" <<<Fail to open file %s" % path)\r
return\r
for line in lines:\r
fd = open(path, 'w')\r
fd.write("".join(lines))\r
fd.close()\r
- except Exception, e:\r
+ except Exception as e:\r
self.LogMessage (" <<<Fail to fixup file %s" % path)\r
return\r
self.LogMessage(' >>> Finish to fixup .decdoxygen postfix for file %s \n' % path)\r
\r
def AddSection(self, section):\r
self.mSections.append(section)\r
- self.mSections.sort(cmp=lambda x, y: cmp(x.mName.lower(), y.mName.lower()))\r
+ self.mSections.sort(key=lambda x: x.mName.lower())\r
\r
def Generate(self):\r
if self.mIsMainPage:\r
self.mText.append(self.mDescription)\r
endIndex = len(self.mText)\r
\r
- self.mSections.sort()\r
+ self.mSections.sort(key=lambda x: x.mName.lower())\r
for sect in self.mSections:\r
self.mText += sect.Generate()\r
\r
# 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
-import plugins.EdkPlugins.basemodel.ini as ini\r
-import plugins.EdkPlugins.edk2.model.dsc as dsc\r
-import plugins.EdkPlugins.edk2.model.inf as inf\r
-import plugins.EdkPlugins.edk2.model.dec as dec\r
+from ...basemodel import ini\r
+from ...edk2.model import dsc\r
+from ...edk2.model import inf\r
+from ...edk2.model import dec\r
import os\r
-from plugins.EdkPlugins.basemodel.message import *\r
+from ...basemodel.message import *\r
\r
class SurfaceObject(object):\r
_objs = {}\r
return self._pcds\r
\r
def GetPpis(self):\r
- return self._ppis.values()\r
+ return list(self._ppis.values())\r
\r
def GetProtocols(self):\r
- return self._protocols.values()\r
+ return list(self._protocols.values())\r
\r
def GetGuids(self):\r
- return self._guids.values()\r
+ return list(self._guids.values())\r
\r
def Destroy(self):\r
for pcd in self._pcds.values():\r
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
#\r
\r
-import plugins.EdkPlugins.basemodel.ini as ini\r
+from ...basemodel import ini\r
import re, os\r
-from plugins.EdkPlugins.basemodel.message import *\r
+from ...basemodel.message import *\r
\r
class DECFile(ini.BaseINIFile):\r
\r
"""This file produce action class to generate doxygen document for edk2 codebase.\r
The action classes are shared by GUI and command line tools.\r
"""\r
-import plugins.EdkPlugins.basemodel.doxygen as doxygen\r
+from ...basemodel import doxygen\r
import os\r
try:\r
import wx\r
except:\r
gInGui = False\r
import re\r
-import plugins.EdkPlugins.edk2.model.inf as inf\r
-import plugins.EdkPlugins.edk2.model.dec as dec\r
-from plugins.EdkPlugins.basemodel.message import *\r
+from ...edk2.model import inf\r
+from ...edk2.model import dec\r
+from ...basemodel.message import *\r
\r
_ignore_dir = ['.svn', '_svn', 'cvs']\r
_inf_key_description_mapping_table = {\r
configFile.AddFile(path)\r
\r
no = 0\r
- for no in xrange(len(lines)):\r
+ for no in range(len(lines)):\r
if len(lines[no].strip()) == 0:\r
continue\r
if lines[no].strip()[:2] in ['##', '//', '/*', '*/']:\r
#file = textfile.TextFile(path)\r
\r
try:\r
- file = open(path, 'rb')\r
+ file = open(path, 'r')\r
except (IOError, OSError) as msg:\r
return None\r
\r
# 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
-import plugins.EdkPlugins.basemodel.doxygen as doxygen\r
+from ...basemodel import doxygen\r
import os\r
try:\r
import wx\r
except:\r
gInGui = False\r
import re\r
-import plugins.EdkPlugins.edk2.model.inf as inf\r
-import plugins.EdkPlugins.edk2.model.dec as dec\r
-from plugins.EdkPlugins.basemodel.message import *\r
+from ...edk2.model import inf\r
+from ...edk2.model import dec\r
+from ...basemodel.message import *\r
\r
_ignore_dir = ['.svn', '_svn', 'cvs']\r
_inf_key_description_mapping_table = {\r
configFile.AddFile(path)\r
return\r
no = 0\r
- for no in xrange(len(lines)):\r
+ for no in range(len(lines)):\r
if len(lines[no].strip()) == 0:\r
continue\r
if lines[no].strip()[:2] in ['##', '//', '/*', '*/']:\r
#file = textfile.TextFile(path)\r
\r
try:\r
- file = open(path, 'rb')\r
+ file = open(path, 'r')\r
except (IOError, OSError) as msg:\r
return None\r
\r
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
#\r
\r
-import plugins.EdkPlugins.basemodel.ini as ini\r
+from ...basemodel import ini\r
import re, os\r
-from plugins.EdkPlugins.basemodel.message import *\r
+from ...basemodel.message import *\r
\r
class DSCFile(ini.BaseINIFile):\r
def GetSectionInstance(self, parent, name, isCombined=False):\r
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
#\r
\r
-import plugins.EdkPlugins.basemodel.ini as ini\r
+from ...basemodel import ini\r
import re, os\r
-from plugins.EdkPlugins.basemodel.message import *\r
+from ...basemodel.message import *\r
\r
class INFFile(ini.BaseINIFile):\r
_libobjs = {}\r