]> git.proxmox.com Git - mirror_edk2.git/commitdiff
BaseTools/Scripts: Porting PackageDocumentTools code to use Python3
authorYunhua Feng <yunhuax.feng@intel.com>
Tue, 28 Aug 2018 09:00:24 +0000 (17:00 +0800)
committerYonghong Zhu <yonghong.zhu@intel.com>
Sat, 13 Oct 2018 01:57:16 +0000 (09:57 +0800)
Porting PackageDocumentTools code to Python3
DoxyGen 1.8.6
wxpython 4.0.3

Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
12 files changed:
BaseTools/Scripts/PackageDocumentTools/Readme.md
BaseTools/Scripts/PackageDocumentTools/packagedoc_cli.py
BaseTools/Scripts/PackageDocumentTools/packagedocapp.pyw
BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/basemodel/doxygen.py
BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/basemodel/efibinary.py
BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/basemodel/ini.py
BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/edk2/model/baseobject.py
BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/edk2/model/dec.py
BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/edk2/model/doxygengen.py
BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/edk2/model/doxygengen_spec.py
BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/edk2/model/dsc.py
BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/edk2/model/inf.py

index dfc2892c41503deeec7542ff4ca7a6b4d0bbad9e..f8f81e35ab2df1f0f6f58716e1bc3b3cd3f21d5b 100644 (file)
@@ -1,6 +1,6 @@
 Prerequisite Tools:\r
-1. Install Python 2.7.3 from https://www.python.org/download/releases/2.7.3/\r
-2. Install wxPython 2.8.12.1 from https://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1/\r
+1. Install Python 3.6.6 from https://www.python.org/downloads/release/python-366/\r
+2. Install wxPython 4.0.3 from https://pypi.org/project/wxPython/#files\r
    generally the libraries will be installed at python's subfolder, for example in windows: c:\python27\Lib\site-packages\\r
 3. Install DoxyGen 1.8.6 from https://sourceforge.net/projects/doxygen/files/rel-1.8.6/\r
 4. (Windows only) Install Htmlhelp tool from https://msdn.microsoft.com/en-us/library/windows/desktop/ms669985(v=vs.85).aspx\r
index 4deeee01a5e87ecb1e10b09e91c27efa9fae9216..94c004902f23f3a3cf1cb390f716cc2e8106314c 100644 (file)
 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 \r
-from __future__ import print_function\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
@@ -38,7 +37,7 @@ def parseCmdArgs():
                       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
index 28f6f9bf5cceaf941ee0feb46a187349c48e7e9b..f81ecfdc4cda849b485ebea2ce1bf14abeb7e7c2 100644 (file)
@@ -18,8 +18,8 @@ import os, sys, wx, logging
 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
@@ -42,7 +42,7 @@ class PackageDocApp(wx.App):
 \r
         frame.Show(True)\r
 \r
-        EVT_APP_CALLBACK( self, self.OnAppCallBack)\r
+        self.Bind(EVT_APP_CALLBACK, self.OnAppCallBack)\r
         return True\r
 \r
     def GetLogger(self):\r
@@ -60,13 +60,13 @@ class PackageDocApp(wx.App):
 \r
 class PackageDocMainFrame(wx.Frame):\r
     def __init__(self, parent, title):\r
-        wx.Frame.__init__(self, parent, -1, title, size=(550, 290), style=wx.MINIMIZE_BOX|wx.SYSTEM_MENU|wx.CAPTION|wx.CLOSE_BOX )\r
+        wx.Frame.__init__(self, parent, -1, title, size=(550, 350), style=wx.MINIMIZE_BOX|wx.SYSTEM_MENU|wx.CAPTION|wx.CLOSE_BOX )\r
 \r
         panel = wx.Panel(self)\r
         sizer = wx.BoxSizer(wx.VERTICAL)\r
 \r
         subsizer = wx.GridBagSizer(5, 10)\r
-        subsizer.AddGrowableCol(1)\r
+        subsizer.AddGrowableCol(0)\r
         subsizer.Add(wx.StaticText(panel, -1, "Workspace Location : "), (0, 0), flag=wx.ALIGN_CENTER_VERTICAL)\r
         self._workspacePathCtrl = wx.ComboBox(panel, -1)\r
         list = self.GetConfigure("WorkspacePath")\r
@@ -76,9 +76,9 @@ class PackageDocMainFrame(wx.Frame):
             self._workspacePathCtrl.SetValue(list[len(list) - 1])\r
 \r
         subsizer.Add(self._workspacePathCtrl, (0, 1), flag=wx.ALIGN_CENTER_VERTICAL|wx.EXPAND)\r
-        self._workspacePathBt = wx.BitmapButton(panel, -1, bitmap=wx.ArtProvider_GetBitmap(wx.ART_FILE_OPEN))\r
+        self._workspacePathBt = wx.BitmapButton(panel, -1, bitmap=wx.ArtProvider.GetBitmap(wx.ART_FILE_OPEN))\r
         subsizer.Add(self._workspacePathBt, (0, 2), flag=wx.ALIGN_CENTER_VERTICAL)\r
-        wx.EVT_BUTTON(self._workspacePathBt, self._workspacePathBt.GetId(), self.OnBrowsePath)\r
+        self.Bind(wx.EVT_BUTTON, self.OnBrowsePath, self._workspacePathBt)\r
 \r
         subsizer.Add(wx.StaticText(panel, -1, "Package DEC Location : "), (1, 0), flag=wx.ALIGN_CENTER_VERTICAL|wx.EXPAND)\r
         self._packagePathCtrl = wx.ComboBox(panel, -1)\r
@@ -88,9 +88,9 @@ class PackageDocMainFrame(wx.Frame):
                 self._packagePathCtrl.Append(item)\r
             self._packagePathCtrl.SetValue(list[len(list) - 1])\r
         subsizer.Add(self._packagePathCtrl, (1, 1), flag=wx.ALIGN_CENTER_VERTICAL|wx.EXPAND)\r
-        self._packagePathBt = wx.BitmapButton(panel, -1, bitmap=wx.ArtProvider_GetBitmap(wx.ART_FILE_OPEN))\r
+        self._packagePathBt = wx.BitmapButton(panel, -1, bitmap=wx.ArtProvider.GetBitmap(wx.ART_FILE_OPEN))\r
         subsizer.Add(self._packagePathBt, (1, 2), flag=wx.ALIGN_CENTER_VERTICAL)\r
-        wx.EVT_BUTTON(self._packagePathBt, self._packagePathBt.GetId(), self.OnBrowsePath)\r
+        self.Bind(wx.EVT_BUTTON, self.OnBrowsePath, self._packagePathBt)\r
 \r
         subsizer.Add(wx.StaticText(panel, -1, "Doxygen Tool Location : "), (2, 0), flag=wx.ALIGN_CENTER_VERTICAL)\r
         self._doxygenPathCtrl = wx.TextCtrl(panel, -1)\r
@@ -103,10 +103,10 @@ class PackageDocMainFrame(wx.Frame):
             else:\r
                 self._doxygenPathCtrl.SetValue('/usr/bin/doxygen')\r
 \r
-        self._doxygenPathBt = wx.BitmapButton(panel, -1, bitmap=wx.ArtProvider_GetBitmap(wx.ART_FILE_OPEN))\r
+        self._doxygenPathBt = wx.BitmapButton(panel, -1, bitmap=wx.ArtProvider.GetBitmap(wx.ART_FILE_OPEN))\r
         subsizer.Add(self._doxygenPathCtrl, (2, 1), flag=wx.ALIGN_CENTER_VERTICAL|wx.EXPAND)\r
         subsizer.Add(self._doxygenPathBt, (2, 2), flag=wx.ALIGN_CENTER_VERTICAL)\r
-        wx.EVT_BUTTON(self._doxygenPathBt, self._doxygenPathBt.GetId(), self.OnBrowsePath)\r
+        self.Bind(wx.EVT_BUTTON, self.OnBrowsePath, self._doxygenPathBt)\r
 \r
         subsizer.Add(wx.StaticText(panel, -1, "CHM Tool Location : "), (3, 0), flag=wx.ALIGN_CENTER_VERTICAL)\r
         self._chmPathCtrl = wx.TextCtrl(panel, -1)\r
@@ -116,10 +116,10 @@ class PackageDocMainFrame(wx.Frame):
         else:\r
             self._chmPathCtrl.SetValue('C:\\Program Files\\HTML Help Workshop\\hhc.exe')\r
 \r
-        self._chmPathBt = wx.BitmapButton(panel, -1, bitmap=wx.ArtProvider_GetBitmap(wx.ART_FILE_OPEN))\r
+        self._chmPathBt = wx.BitmapButton(panel, -1, bitmap=wx.ArtProvider.GetBitmap(wx.ART_FILE_OPEN))\r
         subsizer.Add(self._chmPathCtrl, (3, 1), flag=wx.ALIGN_CENTER_VERTICAL|wx.EXPAND)\r
         subsizer.Add(self._chmPathBt, (3, 2), flag=wx.ALIGN_CENTER_VERTICAL)\r
-        wx.EVT_BUTTON(self._chmPathBt, self._chmPathBt.GetId(), self.OnBrowsePath)\r
+        self.Bind(wx.EVT_BUTTON, self.OnBrowsePath, self._chmPathBt)\r
 \r
         subsizer.Add(wx.StaticText(panel, -1, "Output Location : "), (4, 0), flag=wx.ALIGN_CENTER_VERTICAL)\r
         self._outputPathCtrl = wx.ComboBox(panel, -1)\r
@@ -130,9 +130,9 @@ class PackageDocMainFrame(wx.Frame):
             self._outputPathCtrl.SetValue(list[len(list) - 1])\r
 \r
         subsizer.Add(self._outputPathCtrl, (4, 1), flag=wx.ALIGN_CENTER_VERTICAL|wx.EXPAND)\r
-        self._outputPathBt = wx.BitmapButton(panel, -1, bitmap=wx.ArtProvider_GetBitmap(wx.ART_FILE_OPEN))\r
+        self._outputPathBt = wx.BitmapButton(panel, -1, bitmap=wx.ArtProvider.GetBitmap(wx.ART_FILE_OPEN))\r
         subsizer.Add(self._outputPathBt, (4, 2), flag=wx.ALIGN_CENTER_VERTICAL|wx.EXPAND)\r
-        wx.EVT_BUTTON(self._outputPathBt, self._outputPathBt.GetId(), self.OnBrowsePath)\r
+        self.Bind(wx.EVT_BUTTON, self.OnBrowsePath, self._outputPathBt)\r
 \r
         subsizer.Add(wx.StaticText(panel, -1, "Architecture Specified : "), (5, 0), flag=wx.ALIGN_CENTER_VERTICAL)\r
         self._archCtrl = wx.ComboBox(panel, -1, value='ALL', choices=['ALL', 'IA32/MSFT', 'IA32/GNU', 'X64/INTEL', 'X64/GNU', 'IPF/MSFT', 'IPF/GNU', 'EBC/INTEL'],\r
@@ -164,7 +164,7 @@ class PackageDocMainFrame(wx.Frame):
     def SaveConfigure(self, name, value):\r
         if value ==None or len(value) == 0:\r
             return\r
-        config = wx.ConfigBase_Get()\r
+        config = wx.ConfigBase.Get()\r
         oldvalues = config.Read(name, '').split(';')\r
         if len(oldvalues) >= 10:\r
             oldvalues.remove(oldvalues[0])\r
@@ -177,7 +177,7 @@ class PackageDocMainFrame(wx.Frame):
         config.Write(name, ';'.join(oldvalues))\r
 \r
     def GetConfigure(self, name):\r
-        config = wx.ConfigBase_Get()\r
+        config = wx.ConfigBase.Get()\r
         values = config.Read(name, '').split(';')\r
         list = []\r
         for item in values:\r
@@ -416,10 +416,10 @@ class ProgressDialog(wx.Dialog):
         logging.getLogger('').addHandler(self._loghandle)\r
         logging.getLogger('app').addHandler(self._loghandle)\r
 \r
-        wx.EVT_BUTTON(self._closeBt, self._closeBt.GetId(), self.OnButtonClose)\r
-        wx.EVT_UPDATE_UI(self, self._closeBt.GetId(), self.OnUpdateCloseButton)\r
-        wx.EVT_BUTTON(self._gotoOuputBt, self._gotoOuputBt.GetId(), self.OnGotoOutput)\r
-        EVT_LOG(self, self.OnPostLog)\r
+        self.Bind(wx.EVT_BUTTON, self.OnButtonClose, self._closeBt)\r
+        self.Bind(wx.EVT_UPDATE_UI, self.OnUpdateCloseButton)\r
+        self.Bind(wx.EVT_BUTTON, self.OnGotoOutput, self._gotoOuputBt)\r
+        self.Bind(EVT_LOG, self.OnPostLog)\r
 \r
         self._process     = None\r
         self._pid         = None\r
@@ -720,7 +720,7 @@ class ProgressDialog(wx.Dialog):
             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
@@ -745,7 +745,7 @@ class ProgressDialog(wx.Dialog):
             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 not bfound:\r
                     if lines[index].find('<param name="Local" value="files.html">') != -1:\r
                         lines[index] = '<!-- %s' % lines[index]\r
@@ -969,7 +969,7 @@ class ProgressDialog(wx.Dialog):
             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
@@ -982,7 +982,7 @@ class ProgressDialog(wx.Dialog):
             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
@@ -993,7 +993,7 @@ class ProgressDialog(wx.Dialog):
             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
@@ -1004,7 +1004,7 @@ class ProgressDialog(wx.Dialog):
             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
index d1e21135cf052925745df67cf750de0cb6af6d06..4b3303c658497cf82259e825ded7e30575ef6a77 100644 (file)
@@ -11,8 +11,6 @@
 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 \r
-from __future__ import print_function\r
-from __future__ import absolute_import\r
 import os\r
 \r
 from .message import *\r
@@ -67,7 +65,7 @@ class Page(BaseDoxygeItem):
 \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
@@ -80,7 +78,7 @@ class Page(BaseDoxygeItem):
             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
@@ -92,7 +90,7 @@ class Page(BaseDoxygeItem):
             self.mText.insert(endIndex, '<ul>')\r
             endIndex += 1\r
             if self.mIsSort:\r
-                self.mSubPages.sort(cmp=lambda x, y: cmp(x.mName.lower(), y.mName.lower()))\r
+                self.mSubPages.sort(key=lambda x: x.mName.lower())\r
             for page in self.mSubPages:\r
                 self.mText.insert(endIndex, '<li>\subpage %s \"%s\" </li>' % (page.mTag, page.mName))\r
                 endIndex += 1\r
index 290287b817e775367c7ebc00b1c2a09aee9362d6..d522e33c4a491cea180bf32f9a6cf2632ddf474e 100644 (file)
@@ -11,7 +11,6 @@
 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 \r
-from __future__ import print_function\r
 import array\r
 import uuid\r
 import re\r
index 6e6f3f4b97952d572d145980955b40bcab7a36aa..d5299e60bcdbdf8903cb65e0807e066ca615df4d 100644 (file)
@@ -11,7 +11,6 @@
 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
 \r
-from __future__ import absolute_import\r
 from .message import *\r
 import re\r
 import os\r
@@ -25,7 +24,7 @@ class BaseINIFile(object):
         @return: instance of this class\r
 \r
         """\r
-        if len(args) == 0: return object.__new__(cls, *args, **kwargs)\r
+        if len(args) == 0: return object.__new__(cls)\r
         filename = args[0]\r
         parent   = None\r
         if len(args) > 1:\r
@@ -33,7 +32,7 @@ class BaseINIFile(object):
 \r
         key = os.path.normpath(filename)\r
         if key not in cls._objs.keys():\r
-            cls._objs[key] = object.__new__(cls, *args, **kwargs)\r
+            cls._objs[key] = object.__new__(cls)\r
 \r
         if parent is not None:\r
             cls._objs[key].AddParent(parent)\r
index b49c87c8bdab3353d3ef76ae300b6bcf24856914..f123f6a915ae94034a51a3de5ec7de491774885f 100644 (file)
 # 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 as ini\r
+from ..model import dsc as dsc\r
+from ..model import inf as inf\r
+from ..model import dec as dec\r
 import os\r
-from plugins.EdkPlugins.basemodel.message import *\r
+from ...basemodel.message import *\r
 \r
 class SurfaceObject(object):\r
     _objs = {}\r
@@ -25,7 +25,7 @@ class SurfaceObject(object):
         @return: instance of this class\r
 \r
         """\r
-        obj = object.__new__(cls, *args, **kwargs)\r
+        obj = object.__new__(cls)\r
         if "None" not in cls._objs:\r
             cls._objs["None"] = []\r
         cls._objs["None"].append(obj)\r
@@ -846,7 +846,7 @@ class SurfaceItem(object):
                 ErrorMsg("%s item is duplicated defined in packages: %s and %s" %\r
                          (name, parent.GetFilename(), cls._objs[name].GetParent().GetFilename()))\r
                 return None\r
-            obj = object.__new__(cls, *args, **kwargs)\r
+            obj = object.__new__(cls)\r
             cls._objs[name] = obj\r
             return obj\r
         elif issubclass(parent.__class__, Module):\r
index 9ff0df3851543f62f47076371f0aea4d3d24ee9d..3d210f72ac74a0555d2bc9670020fd81fef8239f 100644 (file)
@@ -11,9 +11,9 @@
 # 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
index c22d362ff3e12acba99a54c172162c604270d480..25b6a613b14be65dbb22d79b44bb4b50667fd6e7 100644 (file)
@@ -16,7 +16,7 @@
 """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
@@ -24,9 +24,9 @@ try:
 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 ..model import inf\r
+from ..model import dec\r
+from ...basemodel.message import *\r
 \r
 _ignore_dir = ['.svn', '_svn', 'cvs']\r
 _inf_key_description_mapping_table = {\r
@@ -386,7 +386,7 @@ class PackageDocumentAction(DoxygenAction):
         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
@@ -1000,7 +1000,7 @@ class PackageDocumentAction(DoxygenAction):
         #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
index 4bae6968a96e9513b4a0f8c966c5ef1fe7fc6160..c9f67f2e40b06864b5bec98d20262af9120162c7 100644 (file)
@@ -13,7 +13,7 @@
 # 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
@@ -21,9 +21,9 @@ try:
 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 ..model import inf\r
+from ..model import dec\r
+from ...basemodel.message import *\r
 \r
 _ignore_dir = ['.svn', '_svn', 'cvs']\r
 _inf_key_description_mapping_table = {\r
@@ -388,7 +388,7 @@ class PackageDocumentAction(DoxygenAction):
         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
@@ -1003,7 +1003,7 @@ class PackageDocumentAction(DoxygenAction):
         #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
index 0628fa7408261f2463f7c84b1cd4bca750314373..6f59e566b8f6d12f53cac7a1a07f25829cdb13c8 100644 (file)
@@ -11,9 +11,9 @@
 # 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
index 793e95efedcc7167fea997037908a13906af2351..cf2e49d3afebaf6a7d8d460b9f64340076c8ff90 100644 (file)
@@ -11,9 +11,9 @@
 # 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