epydoc-commits Mailing List for Python API documentation generation tool
Brought to you by:
edloper
You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
(77) |
May
|
Jun
(6) |
Jul
(8) |
Aug
(91) |
Sep
(67) |
Oct
(4) |
Nov
|
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(17) |
Feb
(135) |
Mar
(25) |
Apr
|
May
(1) |
Jun
(1) |
Jul
(7) |
Aug
|
Sep
(62) |
Oct
(1) |
Nov
(3) |
Dec
|
2008 |
Jan
(40) |
Feb
(102) |
Mar
(5) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
20
|
21
(34) |
22
(17) |
23
(17) |
24
(11) |
25
(1) |
26
|
27
|
28
|
29
(10) |
30
(1) |
31
|
|
|
From: <ed...@us...> - 2006-08-30 01:52:13
|
Revision: 1337 Author: edloper Date: 2006-08-29 18:52:10 -0700 (Tue, 29 Aug 2006) ViewCVS: http://svn.sourceforge.net/epydoc/?rev=1337&view=rev Log Message: ----------- - Added tools directory & custom rst2html script. Added Paths: ----------- trunk/epydoc/src/tools/ trunk/epydoc/src/tools/rst2html.py Added: trunk/epydoc/src/tools/rst2html.py =================================================================== --- trunk/epydoc/src/tools/rst2html.py (rev 0) +++ trunk/epydoc/src/tools/rst2html.py 2006-08-30 01:52:10 UTC (rev 1337) @@ -0,0 +1,40 @@ +#!/usr/bin/python + +r""" +A customized driver for converting docutils reStructuredText documents +into HTML. This is used to generated HTML versions of the regression +files, for the webpage. +""" + +# Docutils imports +from docutils.core import publish_cmdline, default_description +from docutils.writers.html4css1 import HTMLTranslator, Writer as HTMLWriter +import docutils.nodes + +# Epydoc imports. Make sure path contains the 'right' epydoc. +import sys +sys.path.insert(0, '../') +from epydoc.markup.doctest import doctest_to_html + +class CustomizedHTMLWriter(HTMLWriter): + settings_defaults = (HTMLWriter.settings_defaults or {}).copy() + settings_defaults.update({ + 'stylesheet': 'doctest.css', + 'stylesheet_path': None, + 'output_encoding': 'ascii', + 'output_encoding_error_handler': 'xmlcharrefreplace', + }) + + def __init__(self): + HTMLWriter.__init__(self) + self.translator_class = CustomizedHTMLTranslator + +class CustomizedHTMLTranslator(HTMLTranslator): + def visit_doctest_block(self, node): + self.body.append(doctest_to_html(str(node[0]))) + raise docutils.nodes.SkipNode + +description = ('Generates HTML documents from reStructuredText ' + 'documents. ' + default_description) +writer = CustomizedHTMLWriter() +docutils.core.publish_cmdline(writer=writer, description=description) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ed...@us...> - 2006-08-29 22:20:31
|
Revision: 1336 Author: edloper Date: 2006-08-29 15:20:29 -0700 (Tue, 29 Aug 2006) ViewCVS: http://svn.sourceforge.net/epydoc/?rev=1336&view=rev Log Message: ----------- - Addded 'feedback' section Modified Paths: -------------- trunk/epydoc/doc/index.html Modified: trunk/epydoc/doc/index.html =================================================================== --- trunk/epydoc/doc/index.html 2006-08-29 22:14:11 UTC (rev 1335) +++ trunk/epydoc/doc/index.html 2006-08-29 22:20:29 UTC (rev 1336) @@ -69,6 +69,20 @@ </div> +<!-- ================= Documentation ================= --> +<div class="box"> +<h2 class="box-title">Feedback</h2> +<ul> + <li> <a + href="http://sourceforge.net/tracker/?func=add&group_id=32455&atid=405618">Report a bug</a> </li> + <li> <a + href="http://sourceforge.net/tracker/?func=add&group_id=32455&atid=405621">Suggest + a feature</a> </li> + +</ul> + +</div> + <!-- NEXT COLUMN --> </td><td width="50%" class="transparent"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ed...@us...> - 2006-08-29 22:14:17
|
Revision: 1335 Author: edloper Date: 2006-08-29 15:14:11 -0700 (Tue, 29 Aug 2006) ViewCVS: http://svn.sourceforge.net/epydoc/?rev=1335&view=rev Log Message: ----------- - Fixed typo Modified Paths: -------------- trunk/epydoc/doc/index.html Modified: trunk/epydoc/doc/index.html =================================================================== --- trunk/epydoc/doc/index.html 2006-08-29 22:12:20 UTC (rev 1334) +++ trunk/epydoc/doc/index.html 2006-08-29 22:14:11 UTC (rev 1335) @@ -118,7 +118,7 @@ href="http://sourceforge.net/project/showfiles.php?group_id=32455">SourceForge download page</a>. See the <a href="whatsnew.html">What's New</a> page for details. Epydoc is under active development; if you wish to -keep up on the latest developments, you get epydoc from the <a +keep up on the latest developments, you can get epydoc from the <a href="installing.html#subversion">subversion repository</a>. If you find any bugs, or have suggestions for improving it, please report them on sourceforge.</p> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ed...@us...> - 2006-08-29 22:12:23
|
Revision: 1334 Author: edloper Date: 2006-08-29 15:12:20 -0700 (Tue, 29 Aug 2006) ViewCVS: http://svn.sourceforge.net/epydoc/?rev=1334&view=rev Log Message: ----------- - Updated to refer to epydoc-3.0alpha3 instead of epydoc2.1 Modified Paths: -------------- trunk/epydoc/doc/installing.html Modified: trunk/epydoc/doc/installing.html =================================================================== --- trunk/epydoc/doc/installing.html 2006-08-29 22:10:39 UTC (rev 1333) +++ trunk/epydoc/doc/installing.html 2006-08-29 22:12:20 UTC (rev 1334) @@ -83,13 +83,13 @@ <div class="screen"><pre> <code class="prompt">[/tmp]$</code> <code class="user">su</code> Password: -<code class="prompt">[/tmp]#</code> <code class="user">rpm -i epydoc-2.1.noarch.rpm</code> +<code class="prompt">[/tmp]#</code> <code class="user">rpm -i epydoc-3.0alpha3.noarch.rpm</code> </pre></div></li> <li> Once epydoc is installed, you can delete the RPM file. <div class="screen"><pre> -<code class="prompt">[/tmp]#</code> <code class="user">rm epydoc-2.1.rpm</code> +<code class="prompt">[/tmp]#</code> <code class="user">rm epydoc-3.0alpha3.rpm</code> </pre></div> </li> </ol> @@ -97,10 +97,10 @@ <h2> Installing from the Windows Installer </h2> <ol> - <li> Download and run <code>epydoc-2.1.win32.exe</code>. </li> + <li> Download and run <code>epydoc-3.0alpha3.win32.exe</code>. </li> <li> Follow the on-screen instructions. Epydoc will be installed in the <code>epydoc</code> subdirectory of your Python installation - directory (typically <code>C:\Python22\</code>). </li> + directory (typically <code>C:\Python23\</code>). </li> <li> The windows installer creates two scripts in the <code>Scripts</code> subdirectory of your Python installation directory: <code>epydoc.pyw</code> opens the graphical user @@ -109,7 +109,7 @@ scripts to more convenient locations (such as your desktop or start menu). </li> <li> Once epydoc is installed, you can delete - <code>epydoc-2.1.win32.exe</code>. </li> + <code>epydoc-3.0alpha3.win32.exe</code>. </li> </ol> <a name="src"></a> @@ -120,19 +120,19 @@ to a directory of your choice, and uncompress it. <div class="screen"><pre> -<code class="prompt">[/tmp]$</code> <code class="user">wget -q http://prdownloads.sourceforge.net/epydoc/epydoc-2.1.tar.gz</code> -<code class="prompt">[/tmp]$</code> <code class="user">gunzip epydoc-2.1.tar.gz</code> -<code class="prompt">[/tmp]$</code> <code class="user">tar -xvf epydoc-2.1.tar</code> +<code class="prompt">[/tmp]$</code> <code class="user">wget -q http://prdownloads.sourceforge.net/epydoc/epydoc-3.0alpha3.tar.gz</code> +<code class="prompt">[/tmp]$</code> <code class="user">gunzip epydoc-3.0alpha3.tar.gz</code> +<code class="prompt">[/tmp]$</code> <code class="user">tar -xvf epydoc-3.0alpha3.tar</code> </pre></div></li> - <li> Use "<code>make install</code>" in the <code>eydoc-2.1/</code> + <li> Use "<code>make install</code>" in the <code>eydoc-3.0alpha3/</code> directory to install epydoc. <div class="screen"><pre> -<code class="prompt">[/tmp]$</code> <code class="user">cd epydoc-2.1/</code> -<code class="prompt">[/tmp/epydoc-2.1]$</code> <code class="user">su</code> +<code class="prompt">[/tmp]$</code> <code class="user">cd epydoc-3.0alpha3/</code> +<code class="prompt">[/tmp/epydoc-3.0alpha3]$</code> <code class="user">su</code> Password: -<code class="prompt">[/tmp/epydoc-2.1]#</code> <code class="user">make install</code> +<code class="prompt">[/tmp/epydoc-3.0alpha3]#</code> <code class="user">make install</code> running install running build <i>[...]</i> @@ -150,16 +150,16 @@ running "<code>make installdocs</code>". <div class="screen"><pre> -<code class="prompt">[/tmp/epydoc-2.1]#</code> <code class="user">make installdocs</code> +<code class="prompt">[/tmp/epydoc-3.0alpha3]#</code> <code class="user">make installdocs</code> </pre></div></li> <li> Once epydoc is installed, you can delete the installation directory and the source distribution file. <div class="screen"><pre> -<code class="prompt">[/tmp/epydoc-2.1]#</code> <code class="user">cd ..</code> -<code class="prompt">[/tmp]#</code> <code class="user">rm -r epydoc-2.1</code> -<code class="prompt">[/tmp]#</code> <code class="user">rm epydoc-2.1.tar</code> +<code class="prompt">[/tmp/epydoc-3.0alpha3]#</code> <code class="user">cd ..</code> +<code class="prompt">[/tmp]#</code> <code class="user">rm -r epydoc-3.0alpha3</code> +<code class="prompt">[/tmp]#</code> <code class="user">rm epydoc-3.0alpha3.tar</code> </pre></div> </li> </ol> @@ -171,25 +171,25 @@ to a directory of your choice, and uncompress it. <div class="screen"><pre> -<code class="prompt">[/tmp]$</code> <code class="user">wget -q http://prdownloads.sourceforge.net/epydoc/epydoc-2.1.tar.gz</code> -<code class="prompt">[/tmp]$</code> <code class="user">gunzip epydoc-2.1.tar.gz</code> -<code class="prompt">[/tmp]$</code> <code class="user">tar -xvf epydoc-2.1.tar</code> +<code class="prompt">[/tmp]$</code> <code class="user">wget -q http://prdownloads.sourceforge.net/epydoc/epydoc-3.0alpha3.tar.gz</code> +<code class="prompt">[/tmp]$</code> <code class="user">gunzip epydoc-3.0alpha3.tar.gz</code> +<code class="prompt">[/tmp]$</code> <code class="user">tar -xvf epydoc-3.0alpha3.tar</code> </pre></div></li> <li> Use the <code>setup.py</code> script in the - <code>eydoc-2.1/</code> directory to install epydoc. + <code>eydoc-3.0alpha3/</code> directory to install epydoc. <div class="screen"><pre> -<code class="prompt">[/tmp]$</code> <code class="user">cd epydoc-2.1/</code> -<code class="prompt">[/tmp/epydoc-2.1]$</code> <code class="user">su</code> +<code class="prompt">[/tmp]$</code> <code class="user">cd epydoc-3.0alpha3/</code> +<code class="prompt">[/tmp/epydoc-3.0alpha3]$</code> <code class="user">su</code> Password: -<code class="prompt">[/tmp/epydoc-2.1]#</code> <code class="user">python setup.py install</code> +<code class="prompt">[/tmp/epydoc-3.0alpha3]#</code> <code class="user">python setup.py install</code> running install running build <i>[...]</i> copying build/scripts/epydoc -> /usr/bin changing mode of /usr/bin/epydoc to 100775 -<code class="prompt">[/tmp/epydoc-2.1]#</code> <code class="user">cd ..</code> +<code class="prompt">[/tmp/epydoc-3.0alpha3]#</code> <code class="user">cd ..</code> <code class="prompt">[/tmp]#</code> </pre></div></li> @@ -199,16 +199,16 @@ as <code>/usr/share/man/</code>. <div class="screen"><pre> -<code class="prompt">[/tmp]#</code> <code class="user">cp -r epydoc-2.1/doc/ /usr/share/doc/epydoc/</code> -<code class="prompt">[/tmp]#</code> <code class="user">cp epydoc-2.1/man/* /usr/share/man/</code> +<code class="prompt">[/tmp]#</code> <code class="user">cp -r epydoc-3.0alpha3/doc/ /usr/share/doc/epydoc/</code> +<code class="prompt">[/tmp]#</code> <code class="user">cp epydoc-3.0alpha3/man/* /usr/share/man/</code> </pre></div> </li> <li> Once epydoc is installed, you can delete the installation directory and the source distribution file. <div class="screen"><pre> -<code class="prompt">[/tmp]#</code> <code class="user">rm -r epydoc-2.1</code> -<code class="prompt">[/tmp]#</code> <code class="user">rm epydoc-2.1.tar</code> +<code class="prompt">[/tmp]#</code> <code class="user">rm -r epydoc-3.0alpha3</code> +<code class="prompt">[/tmp]#</code> <code class="user">rm epydoc-3.0alpha3.tar</code> </pre></div> </li> </ol> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ed...@us...> - 2006-08-29 22:10:43
|
Revision: 1333 Author: edloper Date: 2006-08-29 15:10:39 -0700 (Tue, 29 Aug 2006) ViewCVS: http://svn.sourceforge.net/epydoc/?rev=1333&view=rev Log Message: ----------- - Reorganized epydoc homepage. Modified Paths: -------------- trunk/epydoc/doc/index.html Modified: trunk/epydoc/doc/index.html =================================================================== --- trunk/epydoc/doc/index.html 2006-08-29 21:51:16 UTC (rev 1332) +++ trunk/epydoc/doc/index.html 2006-08-29 22:10:39 UTC (rev 1333) @@ -28,61 +28,13 @@ href="http://epydoc.sourceforge.net/stdlib/">Python 2.4</a>. </p> </div> -<!-- ================= News ================= --> +<!-- ================= Documentation ================= --> <div class="box"> -<h2 class="box-title">News</h2> +<h2 class="box-title">Documentation</h2> -<p><b>Epydoc 3.0 alpha 3 released [August 2006]</b></br /> The third -alpha release of epydoc 3.0 is now available on the <a -href="http://sourceforge.net/project/showfiles.php?group_id=32455">SourceForge -download page</a>. See the <a href="whatsnew.html">What's New</a> -page for details. Epydoc is under active development; if you wish to -keep up on the latest developments, you get epydoc from the <a -href="installing.html#subversion">subversion repository</a>. If you -find any bugs, or have suggestions for improving it, please report -them on sourceforge.</p> +<table class="transparent" cellpadding="0"> +<tr valign="top"><td class="transparent"> -<p><b>Presentation at PyCon [March 2004]</b><br /> Epydoc was -presented at <a href="http://www.python.org/pycon/">PyCon</a> by -Edward Loper. <a href="pycon-epydoc.html">Video and audio from the -presentation</a> are available for download. </p> -</div> - -<!-- ================= Screenshots ================= --> -<div class="box"> -<h2 class="box-title">Screenshots</h2> -<center> -<table class="transparent" cellspacing="10"> - <tr> - <td class="transparent" valign="top"><a href="http://sourceforge.net/project/screenshots.php?group_id=32455&ssid=40524"><img src="http://sourceforge.net/dbimage.php?id=85862" alt="Generated HTML documentation for epydoc" border="0" /></a><br /> - <!-- Generated HTML documentation for epydoc --> </td> - <td class="transparent" valign="top"><a href="http://sourceforge.net/project/screenshots.php?group_id=32455&ssid=40525"><img src="http://sourceforge.net/dbimage.php?id=85864" alt="Example of a UML graph generated by epydoc" border="0" /></a><br /> - <!-- Example of a UML graph generated by epydoc --> </td> - <td class="transparent" valign="top"><a href="http://sourceforge.net/project/screenshots.php?group_id=32455&ssid=40526"><img src="http://sourceforge.net/dbimage.php?id=85866" alt="Example of syntax highlighted source, w/ links to API docs" border="0" /></a><br /> - <!-- Example of syntax highlighted source, w/ links to API docs --> </td> - <td class="transparent" valign="top"><a href="http://sourceforge.net/project/screenshots.php?group_id=32455&ssid=40527"><img src="http://sourceforge.net/dbimage.php?id=85868" alt="Identifier index page for generated Python 2.4 docs" border="0" /></a><br /> - <!-- Identifier index page for generated Python 2.4 docs --> </td> - </tr> -</table> -</center> -</div> - -<!-- NEXT COLUMN --> -</td><td width="50%" class="transparent"> - -<!-- ================= Latest Release ================= --> -<div class="box"> -<h2 class="box-title">Latest Release</h2> -<p> The latest stable release of epydoc (version 2.1) can be -downloaded from the <a -href="http://sourceforge.net/project/showfiles.php?group_id=32455">SourceForge -download page</a>. See <a href="installing.html">Installing -Epydoc</a> for more information. </p> -</div> - -<!-- ================= Documentation ================= --> -<div class="box"> -<h2 class="box-title">Documentation</h2> <p><b>Using Epydoc</b> <ul class="nomargin"> <li><a href="installing.html">Installing Epydoc</a> </li> @@ -101,6 +53,8 @@ <li> <a href="fields.html">Epydoc Fields</a> </li> </ul></p> +</td><td class="transparent"> + <p><b>Related Information</b> <ul class="nomargin"> <li> <a href="license.html">Open Source License</a></li> @@ -111,8 +65,70 @@ <li> <a href="doctest/index.html">Regression Tests</a> </li> </ul></p> +</tr></table> + </div> +<!-- NEXT COLUMN --> +</td><td width="50%" class="transparent"> + +<!-- ================= Latest Release ================= --> +<div class="box"> +<h2 class="box-title">Latest Release</h2> + +<ul> +<li> The latest testing release is <a href="http://sourceforge.net/project/showfiles.php?group_id=32455&package_id=24617&release_id=441763">Epydoc 3.0 alpha 3</a>. </li> + +<li>The +latest stable release is <a href="http://sourceforge.net/project/showfiles.php?group_id=32455&package_id=24617&release_id=225095">Epydoc 2.1</a>. </li> +</ul> + +<p> Both can be +downloaded from the <a +href="http://sourceforge.net/project/showfiles.php?group_id=32455">SourceForge +download page</a>. See <a href="installing.html">Installing +Epydoc</a> for more information. </p> +</div> + +<!-- ================= Screenshots ================= --> +<div class="box"> +<h2 class="box-title">Screenshots</h2> +<center> +<table class="transparent" cellspacing="10"> + <tr> + <td class="transparent" valign="top"><a href="api/"><img src="http://sourceforge.net/dbimage.php?id=85862" alt="Generated HTML documentation for epydoc" border="0" /></a><br /> + <!-- Generated HTML documentation for epydoc --> </td> + <td class="transparent" valign="top"><a href="api/epydoc.apidoc.VariableDoc-class.html"><img src="http://sourceforge.net/dbimage.php?id=85864" alt="Example of a UML graph generated by epydoc" border="0" /></a><br /> + <!-- Example of a UML graph generated by epydoc --> </td> + <td class="transparent" valign="top"><a href="api/epydoc.apidoc-pysrc.html"><img src="http://sourceforge.net/dbimage.php?id=85866" alt="Example of syntax highlighted source, w/ links to API docs" border="0" /></a><br /> + <!-- Example of syntax highlighted source, w/ links to API docs --> </td> + <td class="transparent" valign="top"><a href="http://epydoc.sourceforge.net/stdlib/identifier-index.html"><img src="http://sourceforge.net/dbimage.php?id=85868" alt="Identifier index page for generated Python 2.4 docs" border="0" /></a><br /> + <!-- Identifier index page for generated Python 2.4 docs --> </td> + </tr> +</table> +</center> +</div> + +<!-- ================= News ================= --> +<div class="box"> +<h2 class="box-title">News</h2> + +<p><b>Epydoc 3.0 alpha 3 released [August 2006]</b></br /> The third +alpha release of epydoc 3.0 is now available on the <a +href="http://sourceforge.net/project/showfiles.php?group_id=32455">SourceForge +download page</a>. See the <a href="whatsnew.html">What's New</a> +page for details. Epydoc is under active development; if you wish to +keep up on the latest developments, you get epydoc from the <a +href="installing.html#subversion">subversion repository</a>. If you +find any bugs, or have suggestions for improving it, please report +them on sourceforge.</p> + +<p><b>Presentation at PyCon [March 2004]</b><br /> Epydoc was +presented at <a href="http://www.python.org/pycon/">PyCon</a> by +Edward Loper. <a href="pycon-epydoc.html">Video and audio from the +presentation</a> are available for download. </p> +</div> + </td></tr></table> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ed...@us...> - 2006-08-29 21:51:20
|
Revision: 1332 Author: edloper Date: 2006-08-29 14:51:16 -0700 (Tue, 29 Aug 2006) ViewCVS: http://svn.sourceforge.net/epydoc/?rev=1332&view=rev Log Message: ----------- - Fixed broken links in navbar Modified Paths: -------------- trunk/epydoc/doc/doctest/index.html Modified: trunk/epydoc/doc/doctest/index.html =================================================================== --- trunk/epydoc/doc/doctest/index.html 2006-08-29 21:37:46 UTC (rev 1331) +++ trunk/epydoc/doc/doctest/index.html 2006-08-29 21:51:16 UTC (rev 1332) @@ -38,26 +38,26 @@ </div> <table width="100%" class="navbox" cellpadding="1" cellspacing="0"> <tr> - <a class="nav" href="index.html"> + <a class="nav" href="../index.html"> <td align="center" width="20%" class="nav"> - <a class="nav" href="index.html"> + <a class="nav" href="../index.html"> Home</a></td></a> - <a class="nav" href="installing.html"> + <a class="nav" href="../installing.html"> <td align="center" width="20%" class="nav"> - <a class="nav" href="installing.html"> + <a class="nav" href="../installing.html"> Installing Epydoc</a></td></a> - <a class="nav" href="using.html"> + <a class="nav" href="../using.html"> <td align="center" width="20%" class="nav"> - <a class="nav" href="using.html"> + <a class="nav" href="../using.html"> Using Epydoc</a></td></a> - <a class="nav" href="epytext.html"> + <a class="nav" href="../epytext.html"> <td align="center" width="20%" class="nav"> - <a class="nav" href="epytext.html"> + <a class="nav" href="../epytext.html"> Epytext</a></td></a> <td align="center" width="20%" class="nav"> <A href="http://sourceforge.net/projects/epydoc"> - <IMG src="sflogo.png" + <IMG src="../sflogo.png" width="88" height="26" border="0" alt="SourceForge" align="top"/></A></td> </tr> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ed...@us...> - 2006-08-29 21:37:52
|
Revision: 1331 Author: edloper Date: 2006-08-29 14:37:46 -0700 (Tue, 29 Aug 2006) ViewCVS: http://svn.sourceforge.net/epydoc/?rev=1331&view=rev Log Message: ----------- - Fixed SF bug [ 1546402 ] Latin 1 characters not recognized, by modifying pprint_pyval() to use decode_with_backslashreplace() when necessary to convert str repr's to unicode. - Changed pprint_pyval() to add color to quotes of unicode strings (not just str strings) Modified Paths: -------------- trunk/epydoc/src/epydoc/docwriter/html.py Modified: trunk/epydoc/src/epydoc/docwriter/html.py =================================================================== --- trunk/epydoc/src/epydoc/docwriter/html.py 2006-08-29 21:18:53 UTC (rev 1330) +++ trunk/epydoc/src/epydoc/docwriter/html.py 2006-08-29 21:37:46 UTC (rev 1331) @@ -144,6 +144,7 @@ pysrc_lines.append(' raise') pysrc = '\n'.join(pysrc_lines)+'\n' + #log.debug(pysrc) if debug: localdict = {'__debug': (pysrc_lines, func_name)} else: localdict = {} try: exec pysrc in globals(), localdict @@ -2296,18 +2297,22 @@ # For strings, use repr. Use tripple-quoted-strings where # appropriate. - elif type(pyval) is types.StringType: + elif isinstance(pyval, basestring): vstr = repr(pyval) + # Find the left quote. + lquote = vstr.find(vstr[-1]) + # Use tripple quotes if the string is multi-line: if vstr.find(r'\n') >= 0: - body = vstr[1:-1].replace(r'\n', '\n') - vstr = ('<span class="variable-quote">'+vstr[0]*3+'</span>'+ + body = vstr[lquote+1:-1].replace(r'\n', '\n') + vstr = ('<span class="variable-quote">'+vstr[:lquote]+ + vstr[lquote]*3+'</span>'+ plaintext_to_html(body) + - '<span class="variable-quote">'+vstr[0]*3+'</span>') - + '<span class="variable-quote">'+vstr[-1]*3+'</span>') + # Use single quotes if the string is single-line: else: - vstr = ('<span class="variable-quote">'+vstr[0]+'</span>'+ - plaintext_to_html(vstr[1:-1])+ - '<span class="variable-quote">'+vstr[0]+'</span>') + vstr = ('<span class="variable-quote">'+vstr[:lquote+1]+ + '</span>'+ plaintext_to_html(vstr[lquote+1:-1])+ + '<span class="variable-quote">'+vstr[-1:]+'</span>') # For lists, tuples, and dicts, use pprint. When possible, # restrict the amount of stuff that pprint needs to look at, @@ -2343,6 +2348,10 @@ try: vstr = plaintext_to_html(repr(pyval)) except: vstr = '...' + # Encode vstr, if necessary. + if isinstance(vstr, str): + vstr = decode_with_backslashreplace(vstr) + # Do line-wrapping. return self._linewrap_html(vstr, self._variable_linelen, self._variable_maxlines) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ed...@us...> - 2006-08-29 21:18:57
|
Revision: 1330 Author: edloper Date: 2006-08-29 14:18:53 -0700 (Tue, 29 Aug 2006) ViewCVS: http://svn.sourceforge.net/epydoc/?rev=1330&view=rev Log Message: ----------- - Added new options --graph-font and --graph-font-size (in response to SF bug [ 1547356 ] dot font problems) Modified Paths: -------------- trunk/epydoc/src/epydoc/cli.py Modified: trunk/epydoc/src/epydoc/cli.py =================================================================== --- trunk/epydoc/src/epydoc/cli.py 2006-08-29 21:05:10 UTC (rev 1329) +++ trunk/epydoc/src/epydoc/cli.py 2006-08-29 21:18:53 UTC (rev 1330) @@ -206,6 +206,14 @@ "include multiple graph types in the output. GRAPHTYPE " "should be one of: all, %s." % ', '.join(GRAPH_TYPES))) options_group.add_option( + '--graph-font', dest='graph_font', metavar='FONT', + help=("Specify the font used to generate Graphviz graphs. (e.g., " + "helvetica or times).")) + options_group.add_option( + '--graph-font-size', dest='graph_font_size', metavar='SIZE', + help=("Specify the font size used to generate Graphviz graphs, " + "in points.")) + options_group.add_option( '--separate-classes', action='store_true', dest='list_classes_separately', help=("When generating LaTeX or PDF output, list each class in " @@ -236,6 +244,7 @@ parse=True, introspect=True, debug=epydoc.DEBUG, profile=False, graphs=[], list_classes_separately=False, + graph_font=None, graph_font_size=None, include_source_code=True, pstat_files=[]) # Parse the arguments. @@ -372,6 +381,10 @@ raise ValueError('"%s" expected one of: all, %s.' % (optname, ', '.join(GRAPH_TYPES))) options.graphs.extend(graphtypes) + elif optname in ('graph-font', 'graph_font'): + options.graph_font = val + elif optname in ('graph-font-size', 'graph_font_size'): + options.graph_font_size = int(val) elif optname in ('separate-classes', 'separate_classes'): options.list_classes_separately = _str_to_bool(val, optname) elif optname == 'sourcecode': @@ -447,6 +460,18 @@ from epydoc.docwriter import dotgraph dotgraph.DOT_PATH = options.dotpath + # Set the default graph font & size + if options.graph_font: + from epydoc.docwriter import dotgraph + fontname = options.graph_font + dotgraph.DotGraph.DEFAULT_NODE_DEFAULTS['fontname'] = fontname + dotgraph.DotGraph.DEFAULT_EDGE_DEFAULTS['fontname'] = fontname + if options.graph_font_size: + from epydoc.docwriter import dotgraph + fontsize = options.graph_font_size + dotgraph.DotGraph.DEFAULT_NODE_DEFAULTS['fontsize'] = fontsize + dotgraph.DotGraph.DEFAULT_EDGE_DEFAULTS['fontsize'] = fontsize + # If the input name is a pickle file, then read the docindex that # it contains. Otherwise, build the docs for the input names. if options.load_pickle: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ed...@us...> - 2006-08-29 21:05:13
|
Revision: 1329 Author: edloper Date: 2006-08-29 14:05:10 -0700 (Tue, 29 Aug 2006) ViewCVS: http://svn.sourceforge.net/epydoc/?rev=1329&view=rev Log Message: ----------- If a docstring can't be decoded using the encoding given in the coding directive at the top of the file, then decode it using epydoc.util.decode_with_backslashreplace() instead. Modified Paths: -------------- trunk/epydoc/src/epydoc/docparser.py Modified: trunk/epydoc/src/epydoc/docparser.py =================================================================== --- trunk/epydoc/src/epydoc/docparser.py 2006-08-29 21:01:43 UTC (rev 1328) +++ trunk/epydoc/src/epydoc/docparser.py 2006-08-29 21:05:10 UTC (rev 1329) @@ -1306,7 +1306,16 @@ # right thing to do; but it will almost always be what the # module's author intended. if isinstance(docstring, str): - docstring = docstring.decode(encoding) + try: + docstring = docstring.decode(encoding) + except UnicodeDecodeError: + # If decoding failed, then fall back on using + # decode_with_backslashreplace, which will map e.g. + # "\xe9" -> u"\\xe9". + docstring = decode_with_backslashreplace(docstring) + log.warning("While parsing %s: docstring is not a unicode " + "string, but it contains non-ascii data." % + prev_line_doc.canonical_name) # If the modified APIDoc is an instance variable, and it has # not yet been added to its class's C{variables} list, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ed...@us...> - 2006-08-29 21:01:50
|
Revision: 1328 Author: edloper Date: 2006-08-29 14:01:43 -0700 (Tue, 29 Aug 2006) ViewCVS: http://svn.sourceforge.net/epydoc/?rev=1328&view=rev Log Message: ----------- Fixed SF bug [ 1546616 ] Unicode escaped characters. The cmapx returned by dot needed to be decoded (using utf-8, since that's what dot uses for all i/o) before being used. Modified Paths: -------------- trunk/epydoc/src/epydoc/docwriter/dotgraph.py Modified: trunk/epydoc/src/epydoc/docwriter/dotgraph.py =================================================================== --- trunk/epydoc/src/epydoc/docwriter/dotgraph.py 2006-08-29 20:32:24 UTC (rev 1327) +++ trunk/epydoc/src/epydoc/docwriter/dotgraph.py 2006-08-29 21:01:43 UTC (rev 1328) @@ -146,7 +146,15 @@ if not self.write(image_file): return '' # failed to render cmapx = self.render('cmapx') or '' - + + # Decode the cmapx (dot uses utf-8) + try: + cmapx = cmapx.decode('utf-8') + except UnicodeDecodeError: + log.debug('%s: unable to decode cmapx from dot; graph will ' + 'not have clickable regions' % image_file) + cmapx = '' + title = plaintext_to_html(self.title or '') caption = plaintext_to_html(self.caption or '') if title or caption: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ed...@us...> - 2006-08-29 20:32:29
|
Revision: 1327 Author: edloper Date: 2006-08-29 13:32:24 -0700 (Tue, 29 Aug 2006) ViewCVS: http://svn.sourceforge.net/epydoc/?rev=1327&view=rev Log Message: ----------- Fixed SF bug [ 1546630 ] epydoc chokes on wicked tuple subclass, which was caused because inspect.isclass() returned true for *any* object that appeared to have a __bases__ attribute; including objects that just override __getattr__ to always return a value. The fix replaces inspect.isclass() with a new isclass(obj) function that just checks if isinstance(obj, (TypeType,ClassType)). Hopefully this won't break introspection for any magic class-like objects people are using. Modified Paths: -------------- trunk/epydoc/src/epydoc/docintrospecter.py Modified: trunk/epydoc/src/epydoc/docintrospecter.py =================================================================== --- trunk/epydoc/src/epydoc/docintrospecter.py 2006-08-25 07:55:50 UTC (rev 1326) +++ trunk/epydoc/src/epydoc/docintrospecter.py 2006-08-29 20:32:24 UTC (rev 1327) @@ -504,6 +504,18 @@ # Helper functions #//////////////////////////////////////////////////////////// +def isclass(object): + """ + Return true if the given object is a class. In particular, return + true if object is an instance of C{types.TypeType} or of + C{types.ClassType}. This is used instead of C{inspect.isclass()}, + because the latter returns true for objects that are not classes + (in particular, it returns true for any object that has a + C{__bases__} attribute, including objects that define + C{__getattr__} to always return a value). + """ + return isinstance(object, (TypeType, ClassType)) + def get_docstring(value): """ Return the docstring for the given value; or C{None} if it @@ -623,7 +635,7 @@ """ if inspect.ismodule(value): return DottedName(value.__name__) - elif inspect.isclass(value): + elif isclass(value): return DottedName(value.__module__) elif (inspect.ismethod(value) and value.im_self is not None and value.im_class is ClassType): # class method. @@ -702,7 +714,7 @@ def is_staticmethod(v): return isinstance(v, staticmethod) def is_property(v): return isinstance(v, property) register_introspecter(inspect.ismodule, introspect_module, priority=20) -register_introspecter(inspect.isclass, introspect_class, priority=24) +register_introspecter(isclass, introspect_class, priority=24) register_introspecter(inspect.isroutine, introspect_routine, priority=28) register_introspecter(is_property, introspect_property, priority=30) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ed...@us...> - 2006-08-25 07:55:54
|
Revision: 1326 Author: edloper Date: 2006-08-25 00:55:50 -0700 (Fri, 25 Aug 2006) ViewCVS: http://svn.sourceforge.net/epydoc/?rev=1326&view=rev Log Message: ----------- - Fixed SF bug [ 1546400 ] 3.0alpha3 uses deprecated docutils attribute Modified Paths: -------------- trunk/epydoc/src/epydoc/markup/restructuredtext.py Modified: trunk/epydoc/src/epydoc/markup/restructuredtext.py =================================================================== --- trunk/epydoc/src/epydoc/markup/restructuredtext.py 2006-08-24 20:22:28 UTC (rev 1325) +++ trunk/epydoc/src/epydoc/markup/restructuredtext.py 2006-08-25 07:55:50 UTC (rev 1326) @@ -201,11 +201,20 @@ A reader that captures all errors that are generated by parsing, and appends them to a list. """ - # Do not translate <field>author</field> to <author> - default_transforms = list(StandaloneReader.default_transforms) - try: default_transforms.remove(docutils.transforms.frontmatter.DocInfo) - except ValueError: pass - + # Remove the DocInfo transform, to ensure that :author: fields are + # correctly handled. This needs to be handled differently + # depending on the version of docutils that's being used, because + # the default_transforms attribute was deprecated & replaced by + # get_transforms(). + if [int(v) for v in docutils.__version__.split('.')] < [0,4,0]: + default_transforms = list(StandaloneReader.default_transforms) + try: default_transforms.remove(docutils.transforms.frontmatter.DocInfo) + except ValueError: pass + else: + def get_transforms(self): + return [t for t in StandaloneReader.get_transforms(self) + if t != docutils.transforms.frontmatter.DocInfo] + def __init__(self, errors): self._errors = errors StandaloneReader.__init__(self) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ed...@us...> - 2006-08-24 20:22:31
|
Revision: 1325 Author: edloper Date: 2006-08-24 13:22:28 -0700 (Thu, 24 Aug 2006) ViewCVS: http://svn.sourceforge.net/epydoc/?rev=1325&view=rev Log Message: ----------- - If the identifier index page contains at least 3000 entries, the split it into sub-pages, one for each letter section. - Reduced whitespace in index pages (to make them load a little faster -- they can get to be quite large.) Modified Paths: -------------- trunk/epydoc/src/epydoc/docwriter/html.py Modified: trunk/epydoc/src/epydoc/docwriter/html.py =================================================================== --- trunk/epydoc/src/epydoc/docwriter/html.py 2006-08-24 18:56:43 UTC (rev 1324) +++ trunk/epydoc/src/epydoc/docwriter/html.py 2006-08-24 20:22:28 UTC (rev 1325) @@ -289,7 +289,7 @@ source code files for each python module. """ self.docindex = docindex - + # Process keyword arguments. self._show_private = kwargs.get('show_private', 1) """Should private docs be included?""" @@ -407,6 +407,10 @@ # Figure out the url for the top page. self._top_page_url = self._find_top_page(self._top_page) + + # Decide whether or not to split the identifier index. + self._split_ident_index = (len(self.indexed_docs) >= + self.SPLIT_IDENT_INDEX_SIZE) # Figure out how many output files there will be (for progress # reporting). @@ -418,6 +422,8 @@ 11 + len(self.METADATA_INDICES)) if self._incl_sourcecode: self._num_files += len(self.modules_with_sourcecode) + if self._split_ident_index: + self._num_files += len(self.LETTERS) def _find_top_page(self, pagename): """ @@ -513,20 +519,48 @@ # Write images. self.write_images(directory) - # Write the term & identifier indices + # Build the indices. indices = {'ident': self.build_identifier_index(), 'term': self.build_term_index()} for (name, label, label2) in self.METADATA_INDICES: indices[name] = self.build_metadata_index(name) - self._write(self.write_link_index, directory, - 'identifier-index.html', indices, - 'Identifier Index', 'identifier-index.html', 'ident') + + # Write the identifier index. If requested, split it into + # separate pages for each letter. + ident_by_letter = self._group_by_letter(indices['ident']) + if not self._split_ident_index: + self._write(self.write_link_index, directory, + 'identifier-index.html', indices, + 'Identifier Index', 'identifier-index.html', + ident_by_letter) + else: + # Write a page for each section. + for letter in self.LETTERS: + filename = 'identifier-index-%s.html' % letter + self._write(self.write_link_index, directory, filename, + indices, 'Identifier Index', filename, + ident_by_letter, [letter], + 'identifier-index-%s.html') + # Use the first non-empty section as the main index page. + for letter in self.LETTERS: + if letter in ident_by_letter: + filename = 'identifier-index.html' + self._write(self.write_link_index, directory, filename, + indices, 'Identifier Index', filename, + ident_by_letter, [letter], + 'identifier-index-%s.html') + break + + # Write the term index. if indices['term']: + term_by_letter = self._group_by_letter(indices['term']) self._write(self.write_link_index, directory, 'term-index.html', indices, 'Term Definition Index', - 'term-index.html', 'term') + 'term-index.html', term_by_letter) else: self._files_written += 1 # (skipped) + + # Write the metadata indices. for (name, label, label2) in self.METADATA_INDICES: if indices[name]: self._write(self.write_metadata_index, directory, @@ -535,7 +569,6 @@ else: self._files_written += 1 # (skipped) - # Write the trees file (package & class hierarchies) if self.module_list: self._write(self.write_module_tree, directory, 'module-tree.html') @@ -905,57 +938,51 @@ #{ 2.4. Index pages #//////////////////////////////////////////////////////////// - SPLIT_LINK_INDEX_SIZE = 10 - """If a link index has more than this number of entries, then it - will be split into alphabetical sections. Use 0 to always split - link indexes into alphabetical sections.""" + SPLIT_IDENT_INDEX_SIZE = 3000 + """If the identifier index has more than this number of entries, + then it will be split into separate pages, one for each + alphabetical section.""" - def write_link_index(self, out, indices, title, url, index_name): - index = indices[index_name] + LETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_' + """The alphabetical sections that are used for link index pages.""" + + def write_link_index(self, out, indices, title, url, index_by_section, + sections=LETTERS, section_url='#%s'): - # Header material. + # Header self.write_indexpage_header(out, indices, title, url) - # If the index is small enough, then don't bother to make - # alphabetical sections; just list it all in one section. - if len(index) < self.SPLIT_LINK_INDEX_SIZE: - out('<h1 class="epydoc">%s</h1><br />\n' % title) - self.write_index_section(out, index) + # Index title & links to alphabetical sections. + out('<table border="0" width="100%">\n' + '<tr valign="bottom"><td>\n') + out('<h1 class="epydoc">%s</h1>\n</td><td>\n[\n' % title) + for sec in self.LETTERS: + if sec in index_by_section: + out(' <a href="%s">%s</a>\n' % (section_url % sec, sec)) + else: + out(' %s\n' % sec) + out(']\n') + out('</td></table>\n') - # Otherwise, group the index by letter, and write one section - # per letter. - else: - index = self._group_by_letter(index) - - # Header & links to alphabetical sections. - out('<table border="0" width="100%">\n' - '<tr valign="bottom"><td>\n') - out('<h1 class="epydoc">%s</h1>\n</td><td>\n[\n' % title) - for letter in 'ABCDEFGHIJKLMNOPQRSTUVWZYZ_': - if letter in index: - out(' <a href="#%s">%s</a>\n' % (letter, letter)) - else: - out(' %s\n' % letter) - out(']\n') - out('</td></table>\n') - - # Alphabetical sections. + # Alphabetical sections. + sections = [s for s in sections if s in index_by_section] + if sections: out('<table border="0" width="100%"><tr valign="top">\n') - for letter in sorted(index.iterkeys()): + for section in sorted(sections): out('<td valign="top" width="1%">') out('<a name="%s"><h2 class="epydoc">%s</h2></a></td>\n' % - (letter, letter)) + (section, section)) out('<td valign="top">\n') - section = index[letter] - self.write_index_section(out, section, True) + self.write_index_section(out, index_by_section[section], True) out('</td></tr>\n') out('</table>\n</br />') - + # Footer material. out('<br />') self.write_navbar(out, 'indices') self.write_footer(out) - + + def write_metadata_index(self, out, indices, field, title, typ): """ Write an HTML page containing a metadata index. @@ -1030,15 +1057,15 @@ out('<table class="link-index" width="100%" border="1">\n') num_rows = (len(items)+2)/3 for row in range(num_rows): - out(' <tr>\n') + out('<tr>\n') for col in range(3): - out(' <td width="33%" class="link-index">') + out('<td width="33%" class="link-index">') i = col*num_rows+row if i < len(items): name, url, container = items[col*num_rows+row] out('<a href="%s">%s</a>' % (url, name)) if container is not None: - out('<br />\n ') + out('<br />\n') if isinstance(container, ModuleDoc): label = container.canonical_name else: @@ -1048,10 +1075,10 @@ else: out(' ') out('</td>\n') - out(' </tr>\n') + out('</tr>\n') if add_blankline and num_rows == 1: blank_cell = '<td class="link-index"> </td>' - out(' <tr>'+3*blank_cell+'</tr>\n') + out('<tr>'+3*blank_cell+'</tr>\n') out('</table>\n') #//////////////////////////////////////////////////////////// This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ed...@us...> - 2006-08-24 18:56:49
|
Revision: 1324 Author: edloper Date: 2006-08-24 11:56:43 -0700 (Thu, 24 Aug 2006) ViewCVS: http://svn.sourceforge.net/epydoc/?rev=1324&view=rev Log Message: ----------- - Updated bug reports in code Modified Paths: -------------- trunk/epydoc/src/epydoc/__init__.py trunk/epydoc/src/epydoc/docstringparser.py Modified: trunk/epydoc/src/epydoc/__init__.py =================================================================== --- trunk/epydoc/src/epydoc/__init__.py 2006-08-24 18:47:28 UTC (rev 1323) +++ trunk/epydoc/src/epydoc/__init__.py 2006-08-24 18:56:43 UTC (rev 1324) @@ -183,8 +183,6 @@ not necessary) :bug: UserDict.* is interpreted as imported .. why?? -:bug: Nested functions break source colorizer (and *why* is the source - colorizer being so slow on the stdlib???) :license: IBM Open Source License :copyright: |copy| 2006 Edward Loper Modified: trunk/epydoc/src/epydoc/docstringparser.py =================================================================== --- trunk/epydoc/src/epydoc/docstringparser.py 2006-08-24 18:47:28 UTC (rev 1323) +++ trunk/epydoc/src/epydoc/docstringparser.py 2006-08-24 18:56:43 UTC (rev 1324) @@ -375,10 +375,13 @@ Return a list of user defined fields that can be used for the given object. This list is taken from the given C{api_doc}, and any of its containing C{NamepaceDoc}s. - - @bug: If a child's docstring is parsed before its parents, then - its parent won't yet have had its C{extra_docstring_fields} - attribute initialized. + + @note: We assume here that a parent's docstring will always be + parsed before its childrens'. This is indeed the case when we + are called via L{docbuilder.build_doc_index()}. If a child's + docstring is parsed before its parents, then its parent won't + yet have had its C{extra_docstring_fields} attribute + initialized. """ docfields = [] # Get any docfields from `api_doc` itself This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ed...@us...> - 2006-08-24 18:47:32
|
Revision: 1323 Author: edloper Date: 2006-08-24 11:47:28 -0700 (Thu, 24 Aug 2006) ViewCVS: http://svn.sourceforge.net/epydoc/?rev=1323&view=rev Log Message: ----------- - Added screenshots to homepage - Use a local (modified) version of rst2html to convert regression tests, so doctest blocks will get colored. - Moved regression tests to a doctests/ subdir of the homepage. Modified Paths: -------------- trunk/epydoc/Makefile trunk/epydoc/doc/doctest/index.html trunk/epydoc/doc/index.html Modified: trunk/epydoc/Makefile =================================================================== --- trunk/epydoc/Makefile 2006-08-24 18:45:44 UTC (rev 1322) +++ trunk/epydoc/Makefile 2006-08-24 18:47:28 UTC (rev 1323) @@ -41,6 +41,9 @@ EPYDOC = $(PYTHON) src/epydoc/cli.py export PYTHONPATH=src/ +# Options for rst->html converter +RST2HTML = $(PYTHON) src/tools/rst2html.py + ##////////////////////////////////////////////////////////////////////// ## Usage ##////////////////////////////////////////////////////////////////////// @@ -92,6 +95,7 @@ rsync -arzv -e ssh $(HTML_STDLIB)/ $(HOST):$(DIR)/stdlib local: .webpage.up2date + rm -rf /var/www/epydoc/* cp -r $(WEBDIR)/* /var/www/epydoc checkdoc: checkdocs @@ -106,7 +110,7 @@ cp -r $(DOCS) $(WEBDIR) cp -r $(HTML_API) $(WEBDIR)/api cp -r $(HTML_EXAMPLES) $(WEBDIR)/examples - cp -r $(HTML_DOCTEST) $(WEBDIR)/doctest + cp -r $(HTML_DOCTEST)/* $(WEBDIR)/doctest cp $(LATEX_API)/api.pdf $(WEBDIR)/epydoc.pdf touch .webpage.up2date @@ -132,14 +136,14 @@ --name "Epydoc $(VERSION)" $(PY_SRC) -v touch .api-pdf.up2date -doctest-html: .doctests.up2date +doctest-html: .doctest-html.up2date .doctest-html.up2date: $(DOCTESTS) rm -rf $(HTML_DOCTEST) mkdir -p $(HTML_DOCTEST) - @for doctest in $(DOCTESTS); do \ + for doctest in $(DOCTESTS); do \ out_file=$(HTML_DOCTEST)/`basename $$doctest .doctest`.html; \ - echo rst2html $$doctest $$out_file; \ - if rst2html $$doctest $$out_file; then true; \ + echo "$(RST2HTML) $$doctest $$out_file"; \ + if $(RST2HTML) $$doctest $$out_file; then true; \ else exit 1; fi\ done touch .doctest-html.up2date Modified: trunk/epydoc/doc/doctest/index.html =================================================================== --- trunk/epydoc/doc/doctest/index.html 2006-08-24 18:45:44 UTC (rev 1322) +++ trunk/epydoc/doc/doctest/index.html 2006-08-24 18:47:28 UTC (rev 1323) @@ -1,7 +1,7 @@ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> <html> <head> <title>Epydoc: Regression Tests</title> -<link rel="stylesheet" href="epydoc.css" type="text/css"/> +<link rel="stylesheet" href="../epydoc.css" type="text/css"/> </head> <!-- $Id: future.html 1211 2006-04-10 19:38:37Z edloper $ --> @@ -19,18 +19,18 @@ <h2 class="box-title">Regression Tests</h2> <ul> - <li> <a href="doctest/apidoc.html">APIDoc</a> -- The classes used + <li> <a href="apidoc.html">APIDoc</a> -- The classes used to encode API documentation about Python programs.</li> - <li> <a href="doctest/docintrospecter.html">Introspection</a> -- + <li> <a href="docintrospecter.html">Introspection</a> -- Extracting API information about Python objects by directly introspecting their values.</li> - <li> <a href="doctest/docparser.html">Source Code Parsing</a> -- + <li> <a href="docparser.html">Source Code Parsing</a> -- Extracting API information about Python objects by parsing their source code.</li> - <li> <a href="doctest/encoding.html">Unicode & Encodings</a> -- + <li> <a href="encoding.html">Unicode & Encodings</a> -- Tests for the processing of Python files that use non-ascii encodings. </li> - <li> <a href="doctest/epytext.html">Epytext</a> -- The default + <li> <a href="epytext.html">Epytext</a> -- The default markup language used by epydoc.</li> </ul> </div> Modified: trunk/epydoc/doc/index.html =================================================================== --- trunk/epydoc/doc/index.html 2006-08-24 18:45:44 UTC (rev 1322) +++ trunk/epydoc/doc/index.html 2006-08-24 18:47:28 UTC (rev 1323) @@ -32,7 +32,7 @@ <div class="box"> <h2 class="box-title">News</h2> -<p><b>Epydoc 3.0 alpha 3 released [August 2006/</b></br /> The third +<p><b>Epydoc 3.0 alpha 3 released [August 2006]</b></br /> The third alpha release of epydoc 3.0 is now available on the <a href="http://sourceforge.net/project/showfiles.php?group_id=32455">SourceForge download page</a>. See the <a href="whatsnew.html">What's New</a> @@ -48,8 +48,38 @@ presentation</a> are available for download. </p> </div> +<!-- ================= Screenshots ================= --> +<div class="box"> +<h2 class="box-title">Screenshots</h2> +<center> +<table class="transparent" cellspacing="10"> + <tr> + <td class="transparent" valign="top"><a href="http://sourceforge.net/project/screenshots.php?group_id=32455&ssid=40524"><img src="http://sourceforge.net/dbimage.php?id=85862" alt="Generated HTML documentation for epydoc" border="0" /></a><br /> + <!-- Generated HTML documentation for epydoc --> </td> + <td class="transparent" valign="top"><a href="http://sourceforge.net/project/screenshots.php?group_id=32455&ssid=40525"><img src="http://sourceforge.net/dbimage.php?id=85864" alt="Example of a UML graph generated by epydoc" border="0" /></a><br /> + <!-- Example of a UML graph generated by epydoc --> </td> + <td class="transparent" valign="top"><a href="http://sourceforge.net/project/screenshots.php?group_id=32455&ssid=40526"><img src="http://sourceforge.net/dbimage.php?id=85866" alt="Example of syntax highlighted source, w/ links to API docs" border="0" /></a><br /> + <!-- Example of syntax highlighted source, w/ links to API docs --> </td> + <td class="transparent" valign="top"><a href="http://sourceforge.net/project/screenshots.php?group_id=32455&ssid=40527"><img src="http://sourceforge.net/dbimage.php?id=85868" alt="Identifier index page for generated Python 2.4 docs" border="0" /></a><br /> + <!-- Identifier index page for generated Python 2.4 docs --> </td> + </tr> +</table> +</center> +</div> + +<!-- NEXT COLUMN --> </td><td width="50%" class="transparent"> +<!-- ================= Latest Release ================= --> +<div class="box"> +<h2 class="box-title">Latest Release</h2> +<p> The latest stable release of epydoc (version 2.1) can be +downloaded from the <a +href="http://sourceforge.net/project/showfiles.php?group_id=32455">SourceForge +download page</a>. See <a href="installing.html">Installing +Epydoc</a> for more information. </p> +</div> + <!-- ================= Documentation ================= --> <div class="box"> <h2 class="box-title">Documentation</h2> @@ -78,24 +108,19 @@ <li> <a href="history.html">History</a> </li> <li> <a href="future.html">Future Directions</a> </li> <li> <a href="relatedprojects.html">Related Projects</a> </li> - <li> <a href="doctests.html">Regression Tests</a> </li> + <li> <a href="doctest/index.html">Regression Tests</a> </li> </ul></p> </div> -<!-- ================= Latest Release ================= --> -<div class="box"> -<h2 class="box-title">Latest Release</h2> -<p> The latest stable release of epydoc (version 2.1) can be -downloaded from the <a -href="http://sourceforge.net/project/showfiles.php?group_id=32455">SourceForge -download page</a>. See <a href="installing.html">Installing -Epydoc</a> for more information. </p> -</div> +</td></tr></table> -</td></tr></table> + + </div> + + <table width="100%" class="navbox" cellpadding="1" cellspacing="0"> <tr> <a class="nav" href="index.html"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ed...@us...> - 2006-08-24 18:45:54
|
Revision: 1322 Author: edloper Date: 2006-08-24 11:45:44 -0700 (Thu, 24 Aug 2006) ViewCVS: http://svn.sourceforge.net/epydoc/?rev=1322&view=rev Log Message: ----------- - CSS classes for regression tests Added Paths: ----------- trunk/epydoc/doc/doctest/doctest.css trunk/epydoc/doc/doctest/docutils.css Added: trunk/epydoc/doc/doctest/doctest.css =================================================================== --- trunk/epydoc/doc/doctest/doctest.css (rev 0) +++ trunk/epydoc/doc/doctest/doctest.css 2006-08-24 18:45:44 UTC (rev 1322) @@ -0,0 +1,45 @@ +/* +:Author: Edward Loper +:Copyright: This stylesheet has been placed in the public domain. + +Stylesheet for use with Docutils. +*/ + +@import url(docutils).css); + +/*======================================================================*/ +/* Source code colorization */ +pre.py-doctest { padding: .5em; margin: 1em; + background: #e8f0f8; color: #000000; + border: 1px solid #708890; } +table pre.py-doctest { background: #dce4ec; + color: #000000; } +.py-prompt { color: #005050; font-weight: bold;} +.py-string { color: #006030; } +.py-comment { color: #003060; } +.py-keyword { color: #600000; } +.py-output { color: #404040; } +.py-name { color: #000050; } +.py-name:link { color: #000050; } +.py-name:visited { color: #000050; } +.py-number { color: #005000; } +.py-def-name { color: #000060; font-weight: bold; } +.py-base-class { color: #000060; } +.py-param { color: #000060; } +.py-docstring { color: #006030; } +.py-decorator { color: #804020; } + +/*======================================================================*/ +/* Document formatting */ + +@media screen { + body { background: #204060; color: #000000; } + div.document { + background: white; color: black; + padding: 0 1em 0 1em; + border: 2px solid black; + } +} + +h1.title { font-size: 180%; font-weight: bold; text-align: center; + padding: .1em; margin: 0; border-bottom: 2px solid black;} Added: trunk/epydoc/doc/doctest/docutils.css =================================================================== --- trunk/epydoc/doc/doctest/docutils.css (rev 0) +++ trunk/epydoc/doc/doctest/docutils.css 2006-08-24 18:45:44 UTC (rev 1322) @@ -0,0 +1,257 @@ +/* +:Author: David Goodger +:Contact: go...@us... +:Date: $Date: 2004/12/22 19:03:27 $ +:Version: $Revision: 1.45 $ +:Copyright: This stylesheet has been placed in the public domain. + +Default cascading style sheet for the HTML output of Docutils. +*/ + +/* "! important" is used here to override other ``margin-top`` and + ``margin-bottom`` styles that are later in the stylesheet or + more specific. See <http://www.w3.org/TR/CSS1#the-cascade>. */ +.first { + margin-top: 0 ! important } + +.last { + margin-bottom: 0 ! important } + +.hidden { + display: none } + +a.toc-backref { + text-decoration: none ; + color: black } + +blockquote.epigraph { + margin: 2em 5em ; } + +dl.docutils dd { + margin-bottom: 0.5em } + +/* Uncomment (and remove this text!) to get bold-faced definition list terms +dl.docutils dt { + font-weight: bold } +*/ + +div.abstract { + margin: 2em 5em } + +div.abstract p.topic-title { + font-weight: bold ; + text-align: center } + +div.admonition, div.attention, div.caution, div.danger, div.error, +div.hint, div.important, div.note, div.tip, div.warning { + margin: 2em ; + border: medium outset ; + padding: 1em } + +div.admonition p.admonition-title, div.hint p.admonition-title, +div.important p.admonition-title, div.note p.admonition-title, +div.tip p.admonition-title { + font-weight: bold ; + font-family: sans-serif } + +div.attention p.admonition-title, div.caution p.admonition-title, +div.danger p.admonition-title, div.error p.admonition-title, +div.warning p.admonition-title { + color: red ; + font-weight: bold ; + font-family: sans-serif } + +/* Uncomment (and remove this text!) to get reduced vertical space in + compound paragraphs. +div.compound .compound-first, div.compound .compound-middle { + margin-bottom: 0.5em } + +div.compound .compound-last, div.compound .compound-middle { + margin-top: 0.5em } +*/ + +div.dedication { + margin: 2em 5em ; + text-align: center ; + font-style: italic } + +div.dedication p.topic-title { + font-weight: bold ; + font-style: normal } + +div.figure { + margin-left: 2em } + +div.footer, div.header { + font-size: smaller } + +div.line-block { + display: block ; + margin-top: 1em ; + margin-bottom: 1em } + +div.line-block div.line-block { + margin-top: 0 ; + margin-bottom: 0 ; + margin-left: 1.5em } + +div.sidebar { + margin-left: 1em ; + border: medium outset ; + padding: 1em ; + background-color: #ffffee ; + width: 40% ; + float: right ; + clear: right } + +div.sidebar p.rubric { + font-family: sans-serif ; + font-size: medium } + +div.system-messages { + margin: 5em } + +div.system-messages h1 { + color: red } + +div.system-message { + border: medium outset ; + padding: 1em } + +div.system-message p.system-message-title { + color: red ; + font-weight: bold } + +div.topic { + margin: 2em } + +h1.title { + text-align: center } + +h2.subtitle { + text-align: center } + +hr.docutils { + width: 75% } + +ol.simple, ul.simple { + margin-bottom: 1em } + +ol.arabic { + list-style: decimal } + +ol.loweralpha { + list-style: lower-alpha } + +ol.upperalpha { + list-style: upper-alpha } + +ol.lowerroman { + list-style: lower-roman } + +ol.upperroman { + list-style: upper-roman } + +p.attribution { + text-align: right ; + margin-left: 50% } + +p.caption { + font-style: italic } + +p.credits { + font-style: italic ; + font-size: smaller } + +p.label { + white-space: nowrap } + +p.rubric { + font-weight: bold ; + font-size: larger ; + color: maroon ; + text-align: center } + +p.sidebar-title { + font-family: sans-serif ; + font-weight: bold ; + font-size: larger } + +p.sidebar-subtitle { + font-family: sans-serif ; + font-weight: bold } + +p.topic-title { + font-weight: bold } + +pre.address { + margin-bottom: 0 ; + margin-top: 0 ; + font-family: serif ; + font-size: 100% } + +pre.line-block { + font-family: serif ; + font-size: 100% } + +pre.literal-block, pre.doctest-block { + margin-left: 2em ; + margin-right: 2em ; + background-color: #eeeeee } + +span.classifier { + font-family: sans-serif ; + font-style: oblique } + +span.classifier-delimiter { + font-family: sans-serif ; + font-weight: bold } + +span.interpreted { + font-family: sans-serif } + +span.option { + white-space: nowrap } + +span.option-argument { + font-style: italic } + +span.pre { + white-space: pre } + +span.problematic { + color: red } + +table.citation { + border-left: solid thin gray } + +table.docinfo { + margin: 2em 4em } + +table.docutils { + margin-top: 0.5em ; + margin-bottom: 0.5em } + +table.footnote { + border-left: solid thin black } + +table.docutils td, table.docutils th, +table.docinfo td, table.docinfo th { + padding-left: 0.5em ; + padding-right: 0.5em ; + vertical-align: top } + +th.docinfo-name, th.field-name { + font-weight: bold ; + text-align: left ; + white-space: nowrap } + +h1 tt.docutils, h2 tt.docutils, h3 tt.docutils, +h4 tt.docutils, h5 tt.docutils, h6 tt.docutils { + font-size: 100% } + +tt.docutils { + background-color: #eeeeee } + +ul.auto-toc { + list-style-type: none } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ed...@us...> - 2006-08-24 18:45:16
|
Revision: 1321 Author: edloper Date: 2006-08-24 11:45:12 -0700 (Thu, 24 Aug 2006) ViewCVS: http://svn.sourceforge.net/epydoc/?rev=1321&view=rev Log Message: ----------- - Improvements to doctest block colorization. Modified Paths: -------------- trunk/epydoc/src/epydoc/markup/doctest.py Modified: trunk/epydoc/src/epydoc/markup/doctest.py =================================================================== --- trunk/epydoc/src/epydoc/markup/doctest.py 2006-08-24 18:09:56 UTC (rev 1320) +++ trunk/epydoc/src/epydoc/markup/doctest.py 2006-08-24 18:45:12 UTC (rev 1321) @@ -49,48 +49,50 @@ return '\\pysrc%s{%s}' % (tag, plaintext_to_latex(s)) # Regular expressions for colorize_doctestblock -_KEYWORDS = ["del", "from", "lambda", "return", "and", "or", "is", - "global", "not", "try", "break", "else", "if", "elif", - "while", "class", "except", "import", "pass", "raise", - "continue", "finally", "in", "print", "def", "for"] -_KEYWORD = '|'.join([r'(\b%s\b)' % _KW for _KW in _KEYWORDS]) -_STRING = (r""" -[uU]?[rR]? - (?: # Single-quote (') strings - '''(?: # Tripple-quoted can contain... - [^'] | # a non-quote - \\' | # a backslashed quote - '{1,2}(?!') # one or two quotes - )*''' | - '(?: # Non-tripple quoted can contain... - [^'] | # a non-quote - \\' # a backslashded quote - )*'(?!') | """+ -r''' # Double-quote (") strings - """(?: # Tripple-quoted can contain... - [^"] | # a non-quote - \\" | # a backslashed single - "{1,2}(?!") # one or two quotes - )*""" | - "(?: # Non-tripple quoted can contain... - [^"] | # a non-quote - \\" # a backslashded quote - )*"(?!") -)''') +# set of keywords as listed in the Python Language Reference 2.4.1 +# added 'as' as well since IDLE already colorizes it as a keyword. +# The documentation states that 'None' will become a keyword +# eventually, but IDLE currently handles that as a builtin. +_KEYWORDS = """ +and del for is raise +assert elif from lambda return +break else global not try +class except if or while +continue exec import pass yield +def finally in print +as +""".split() +_KEYWORD = '|'.join([r'\b%s\b' % _KW for _KW in _KEYWORDS]) + +_BUILTINS = [_BI for _BI in dir(__builtins__) if not _BI.startswith('__')] +_BUILTIN = '|'.join([r'\b%s\b' % _BI for _BI in _BUILTINS]) + +_STRING = '|'.join([r'("""("""|.*?((?!").)"""))', r'("("|.*?((?!").)"))', + r"('''('''|.*?[^\\']'''))", r"('('|.*?[^\\']'))"]) _COMMENT = '(#.*?$)' -_PROMPT = r'^\s*(?:>>>|\.\.\.)(?:\s|$)' +_PROMPT1 = r'^\s*>>>(?:\s|$)' +_PROMPT2 = r'^\s*\.\.\.(?:\s|$)' -PROMPT_RE = re.compile('(%s)' % _PROMPT, re.MULTILINE | re.DOTALL) +PROMPT_RE = re.compile('(%s|%s)' % (_PROMPT1, _PROMPT2), + re.MULTILINE | re.DOTALL) +PROMPT2_RE = re.compile('(%s)' % _PROMPT2, re.MULTILINE | re.DOTALL) '''The regular expression used to find Python prompts (">>>" and "...") in doctest blocks.''' -DOCTEST_RE = re.compile( - '(?P<STRING>%s)|(?P<COMMENT>%s)|(?P<KEYWORD>%s)|(?P<PROMPT>%s)|.+?' % - (_STRING, _COMMENT, _KEYWORD, _PROMPT), re.MULTILINE | re.DOTALL) +EXCEPT_RE = re.compile(r'(.*)(^Traceback \(most recent call last\):.*)', + re.DOTALL | re.MULTILINE) + +DOCTEST_DIRECTIVE_RE = re.compile(r'#\s*doctest:.*') + +DOCTEST_RE = re.compile(r"""(?P<STRING>%s)|(?P<COMMENT>%s)|""" + r"""(?P<KEYWORD>(%s))|(?P<BUILTIN>(%s))|""" + r"""(?P<PROMPT1>%s)|(?P<PROMPT2>%s)|.+?""" % + (_STRING, _COMMENT, _KEYWORD, _BUILTIN, _PROMPT1, _PROMPT2), + re.MULTILINE | re.DOTALL) '''The regular expression used by L{_doctest_sub} to colorize doctest blocks.''' -def colorize_doctest(s, markup_func): +def colorize_doctest(s, markup_func, inline=False, strip_directives=False): """ Colorize the given doctest string C{s} using C{markup_func()}. C{markup_func()} should be a function that takes a substring and a @@ -100,10 +102,13 @@ ... return '<span class="%s">%s</span>' % (tag, s) The tags that will be passed to the markup function are: - - C{prompt} -- a Python prompt (>>> or ...) + - C{prompt} -- the Python PS1 prompt (>>>) + - C{more} -- the Python PS2 prompt (...) - C{keyword} -- a Python keyword (for, if, etc.) + - C{builtin} -- a Python builtin name (abs, dir, etc.) - C{string} -- a string literal - C{comment} -- a comment + - C{except} -- an exception traceback (up to the next >>>) - C{output} -- the output from a doctest block. - C{other} -- anything else (does *not* include output.) """ @@ -112,11 +117,18 @@ result = [] out = result.append + if strip_directives: + s = DOCTEST_DIRECTIVE_RE.sub('', s) + def subfunc(match): - if match.group('PROMPT'): + if match.group('PROMPT1'): return markup_func(match.group(), 'prompt') + if match.group('PROMPT2'): + return markup_func(match.group(), 'more') if match.group('KEYWORD'): return markup_func(match.group(), 'keyword') + if match.group('BUILTIN'): + return markup_func(match.group(), 'builtin') if match.group('COMMENT'): return markup_func(match.group(), 'comment') if match.group('STRING') and '\n' not in match.group(): @@ -124,17 +136,33 @@ elif match.group('STRING'): # It's a multiline string; colorize the string & prompt # portion of each line. - pieces = [markup_func(s, ['string','prompt'][i%2]) - for i, s in enumerate(PROMPT_RE.split(match.group()))] + pieces = [markup_func(s, ['string','more'][i%2]) + for i, s in enumerate(PROMPT2_RE.split(match.group()))] return ''.join(pieces) else: return markup_func(match.group(), 'other') - + + if inline: + pysrc = DOCTEST_RE.sub(subfunc, s) + return pysrc.strip() + + # need to add a third state here for correctly formatting exceptions + for line in s.split('\n')+['\n']: if PROMPT_RE.match(line): pysrc.append(line) if pyout: - result.append(markup_func('\n'.join(pyout).strip(), 'output')) + pyout = '\n'.join(pyout).strip() + m = EXCEPT_RE.match(pyout) + if m: + pyout, pyexc = m.group(1).strip(), m.group(2).strip() + if pyout: + print ('Warning: doctest does not allow for mixed ' + 'output and exceptions!') + result.append(markup_func(pyout, 'output')) + result.append(markup_func(pyexc, 'except')) + else: + result.append(markup_func(pyout, 'output')) pyout = [] else: pyout.append(line) @@ -147,5 +175,20 @@ remainder = '\n'.join(pyout).strip() if remainder: result.append(markup_func(remainder, 'output')) + result = '\n'.join(result) + + # Merge adjacent spans w/ the same class. I.e, convert: + # <span class="x">foo</span><span class="x">foo</span> + # to: + # <span class="x">foofoo</span> + prev_span_class = [None] + def subfunc(match): + if match.group(2) == prev_span_class[0]: + prev_span_class[0] = match.group(2) + return match.group(1) or '' + else: + prev_span_class[0] = match.group(2) + return match.group() + result = re.sub(r'</span>(\n?)<span class="([^"]+)">', subfunc, result) - return '\n'.join(result) + return result This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ed...@us...> - 2006-08-24 18:10:02
|
Revision: 1320 Author: edloper Date: 2006-08-24 11:09:56 -0700 (Thu, 24 Aug 2006) ViewCVS: http://svn.sourceforge.net/epydoc/?rev=1320&view=rev Log Message: ----------- moved to doctest dir as index.html Added Paths: ----------- trunk/epydoc/doc/doctest/index.html Removed Paths: ------------- trunk/epydoc/doc/doctests.html Copied: trunk/epydoc/doc/doctest/index.html (from rev 1314, trunk/epydoc/doc/doctests.html) =================================================================== --- trunk/epydoc/doc/doctest/index.html (rev 0) +++ trunk/epydoc/doc/doctest/index.html 2006-08-24 18:09:56 UTC (rev 1320) @@ -0,0 +1,66 @@ +<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> +<html> <head> +<title>Epydoc: Regression Tests</title> +<link rel="stylesheet" href="epydoc.css" type="text/css"/> +</head> +<!-- $Id: future.html 1211 2006-04-10 19:38:37Z edloper $ --> + +<body> +<div class="body"> +<h1> Epydoc: Regression Tests </h1> + +<p> The following files contain the current regression test suite for +epydoc. Each file contains a prose description of some aspect of +epydoc, interspersed with +<a href="http://docs.python.org/lib/module-doctest.html">doctest</a> +examples. Each of these doctest examples is a single test case. </p> + +<div class="box"> +<h2 class="box-title">Regression Tests</h2> + +<ul> + <li> <a href="doctest/apidoc.html">APIDoc</a> -- The classes used + to encode API documentation about Python programs.</li> + <li> <a href="doctest/docintrospecter.html">Introspection</a> -- + Extracting API information about Python objects by directly + introspecting their values.</li> + <li> <a href="doctest/docparser.html">Source Code Parsing</a> -- + Extracting API information about Python objects by parsing + their source code.</li> + <li> <a href="doctest/encoding.html">Unicode & Encodings</a> -- + Tests for the processing of Python files that use non-ascii + encodings. </li> + <li> <a href="doctest/epytext.html">Epytext</a> -- The default + markup language used by epydoc.</li> +</ul> +</div> + +</div> +<table width="100%" class="navbox" cellpadding="1" cellspacing="0"> + <tr> + <a class="nav" href="index.html"> + <td align="center" width="20%" class="nav"> + <a class="nav" href="index.html"> + Home</a></td></a> + <a class="nav" href="installing.html"> + <td align="center" width="20%" class="nav"> + <a class="nav" href="installing.html"> + Installing Epydoc</a></td></a> + <a class="nav" href="using.html"> + <td align="center" width="20%" class="nav"> + <a class="nav" href="using.html"> + Using Epydoc</a></td></a> + <a class="nav" href="epytext.html"> + <td align="center" width="20%" class="nav"> + <a class="nav" href="epytext.html"> + Epytext</a></td></a> + <td align="center" width="20%" class="nav"> + + <A href="http://sourceforge.net/projects/epydoc"> + <IMG src="sflogo.png" + width="88" height="26" border="0" alt="SourceForge" + align="top"/></A></td> + </tr> +</table> +</body> +</html> Deleted: trunk/epydoc/doc/doctests.html =================================================================== --- trunk/epydoc/doc/doctests.html 2006-08-24 18:07:54 UTC (rev 1319) +++ trunk/epydoc/doc/doctests.html 2006-08-24 18:09:56 UTC (rev 1320) @@ -1,62 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> -<html> <head> -<title>Epydoc: Regression Tests</title> -<link rel="stylesheet" href="epydoc.css" type="text/css"/> -</head> -<!-- $Id: future.html 1211 2006-04-10 19:38:37Z edloper $ --> - -<body> -<div class="body"> -<h1> Epydoc: Regression Tests </h1> - -<p> The following files contain the current regression test suite for -epydoc. Each file contains a prose description of some aspect of -epydoc, interspersed with -<a href="http://docs.python.org/lib/module-doctest.html">doctest</a> -examples. Each of these doctest examples is a single test case. </p> - -<ul> - <li> <a href="doctest/apidoc.html">APIDoc</a> -- The classes used - to encode API documentation about Python programs.</li> - <li> <a href="doctest/docintrospecter.html">Introspection</a> -- - Extracting API information about Python objects by directly - introspecting their values.</li> - <li> <a href="doctest/docparser.html">Source Code Parsing</a> -- - Extracting API information about Python objects by parsing - their source code.</li> - <li> <a href="doctest/encoding.html">Unicode & Encodings</a> -- - Tests for the processing of Python files that use non-ascii - encodings. </li> - <li> <a href="doctest/epytext.html">Epytext</a> -- The default - markup language used by epydoc.</li> -</ul> - -</div> -<table width="100%" class="navbox" cellpadding="1" cellspacing="0"> - <tr> - <a class="nav" href="index.html"> - <td align="center" width="20%" class="nav"> - <a class="nav" href="index.html"> - Home</a></td></a> - <a class="nav" href="installing.html"> - <td align="center" width="20%" class="nav"> - <a class="nav" href="installing.html"> - Installing Epydoc</a></td></a> - <a class="nav" href="using.html"> - <td align="center" width="20%" class="nav"> - <a class="nav" href="using.html"> - Using Epydoc</a></td></a> - <a class="nav" href="epytext.html"> - <td align="center" width="20%" class="nav"> - <a class="nav" href="epytext.html"> - Epytext</a></td></a> - <td align="center" width="20%" class="nav"> - - <A href="http://sourceforge.net/projects/epydoc"> - <IMG src="sflogo.png" - width="88" height="26" border="0" alt="SourceForge" - align="top"/></A></td> - </tr> -</table> -</body> -</html> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ed...@us...> - 2006-08-24 18:07:59
|
Revision: 1319 Author: edloper Date: 2006-08-24 11:07:54 -0700 (Thu, 24 Aug 2006) ViewCVS: http://svn.sourceforge.net/epydoc/?rev=1319&view=rev Log Message: ----------- doctest dir Added Paths: ----------- trunk/epydoc/doc/doctest/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ed...@us...> - 2006-08-24 07:02:13
|
Revision: 1318 Author: edloper Date: 2006-08-24 00:02:08 -0700 (Thu, 24 Aug 2006) ViewCVS: http://svn.sourceforge.net/epydoc/?rev=1318&view=rev Log Message: ----------- - Use $(PYTHON) to find version (not 'python'). Modified Paths: -------------- trunk/epydoc/Makefile Modified: trunk/epydoc/Makefile =================================================================== --- trunk/epydoc/Makefile 2006-08-24 07:01:22 UTC (rev 1317) +++ trunk/epydoc/Makefile 2006-08-24 07:02:08 UTC (rev 1318) @@ -23,7 +23,7 @@ DIR = /home/groups/e/ep/epydoc/htdocs # The current version of epydoc. -VERSION = $(shell python -c 'import epydoc; print epydoc.__version__') +VERSION = $(shell $(PYTHON) -c 'import epydoc; print epydoc.__version__') # Base output directories WEBDIR = webpage This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ed...@us...> - 2006-08-24 07:01:27
|
Revision: 1317 Author: edloper Date: 2006-08-24 00:01:22 -0700 (Thu, 24 Aug 2006) ViewCVS: http://svn.sourceforge.net/epydoc/?rev=1317&view=rev Log Message: ----------- - Fixing profiling bug, take 2. Modified Paths: -------------- trunk/epydoc/src/epydoc/cli.py Modified: trunk/epydoc/src/epydoc/cli.py =================================================================== --- trunk/epydoc/src/epydoc/cli.py 2006-08-24 06:51:22 UTC (rev 1316) +++ trunk/epydoc/src/epydoc/cli.py 2006-08-24 07:01:22 UTC (rev 1317) @@ -683,8 +683,10 @@ # present, and if so, fix it. (Bug was fixed in 2.4maint: # <http://mail.python.org/pipermail/python-checkins/ # 2005-September/047099.html>) - if Profile.dispatch['c_exception'] is Profile.trace_dispatch_exception: - Profile.dispatch['c_exception'] = Profile.trace_dispatch_return + if (Profile.dispatch['c_exception'] is + Profile.trace_dispatch_exception.im_func): + trace_dispatch_return = Profile.trace_dispatch_return.im_func + Profile.dispatch['c_exception'] = trace_dispatch_return try: prof = Profile() prof = prof.runctx('main(*parse_arguments())', globals(), {}) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ed...@us...> - 2006-08-24 06:51:25
|
Revision: 1316 Author: edloper Date: 2006-08-23 23:51:22 -0700 (Wed, 23 Aug 2006) ViewCVS: http://svn.sourceforge.net/epydoc/?rev=1316&view=rev Log Message: ----------- Build profile.out before building epydoc's api docs. (Fixed bug that was causing profiling to crash.) Modified Paths: -------------- trunk/epydoc/Makefile Modified: trunk/epydoc/Makefile =================================================================== --- trunk/epydoc/Makefile 2006-08-24 06:50:43 UTC (rev 1315) +++ trunk/epydoc/Makefile 2006-08-24 06:51:22 UTC (rev 1316) @@ -38,7 +38,6 @@ LATEX_API = $(LATEX)/api LATEX_STDLIB = $(LATEX)/stdlib - EPYDOC = $(PYTHON) src/epydoc/cli.py export PYTHONPATH=src/ @@ -116,7 +115,7 @@ # xml.dom.minidom and a few Docutils modules get plaintext # docstrings). api-html: .api-html.up2date -.api-html.up2date: $(PY_SRCFILES) #profile.out +.api-html.up2date: $(PY_SRCFILES) profile.out rm -rf $(HTML_API) mkdir -p $(HTML_API) $(EPYDOC) -o $(HTML_API) --name epydoc --css white \ @@ -202,7 +201,6 @@ | sed 's/<A HREF="\/cgi-bin\/man2html">man2html<\/A>/man2html/'\ > doc/epydocgui-man.html -# [XX] A bug in the profiler for py 2.4 prevents this from working!! profile.out: $(PY_SRCFILES) $(EPYDOC) -o profile.tmp --name epydoc --css white \ --url http://epydoc.sourceforge.net --profile-epydoc \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ed...@us...> - 2006-08-24 06:50:47
|
Revision: 1315 Author: edloper Date: 2006-08-23 23:50:43 -0700 (Wed, 23 Aug 2006) ViewCVS: http://svn.sourceforge.net/epydoc/?rev=1315&view=rev Log Message: ----------- Check for a bug that exists in Python 2.4's profiler; and if found, patch it before using --profile-epydoc. This profiler bug was fixed in 2.4maint, as of September 2005: <http://mail.python.org/pipermail/python-checkins/2005-September/047099.html> Modified Paths: -------------- trunk/epydoc/src/epydoc/cli.py Modified: trunk/epydoc/src/epydoc/cli.py =================================================================== --- trunk/epydoc/src/epydoc/cli.py 2006-08-23 20:10:10 UTC (rev 1314) +++ trunk/epydoc/src/epydoc/cli.py 2006-08-24 06:50:43 UTC (rev 1315) @@ -675,12 +675,18 @@ print >>sys.stderr, 'Use --debug to see trace information.' def _profile(): - try: import profile + try: from profile import Profile except ImportError: print >>sys.stderr, "Could not import profile module!" return + # There was a bug in Python 2.4's profiler. Check if it's + # present, and if so, fix it. (Bug was fixed in 2.4maint: + # <http://mail.python.org/pipermail/python-checkins/ + # 2005-September/047099.html>) + if Profile.dispatch['c_exception'] is Profile.trace_dispatch_exception: + Profile.dispatch['c_exception'] = Profile.trace_dispatch_return try: - prof = profile.Profile() + prof = Profile() prof = prof.runctx('main(*parse_arguments())', globals(), {}) except SystemExit: pass This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ed...@us...> - 2006-08-23 20:10:13
|
Revision: 1314 Author: edloper Date: 2006-08-23 13:10:10 -0700 (Wed, 23 Aug 2006) ViewCVS: http://svn.sourceforge.net/epydoc/?rev=1314&view=rev Log Message: ----------- - Bumped version number to alpha3 Modified Paths: -------------- trunk/epydoc/doc/index.html trunk/epydoc/doc/whatsnew.html Modified: trunk/epydoc/doc/index.html =================================================================== --- trunk/epydoc/doc/index.html 2006-08-23 20:08:52 UTC (rev 1313) +++ trunk/epydoc/doc/index.html 2006-08-23 20:10:10 UTC (rev 1314) @@ -32,7 +32,7 @@ <div class="box"> <h2 class="box-title">News</h2> -<p><b>Epydoc 3.0 alpha 2 released [April 2006]</b><br /> The second +<p><b>Epydoc 3.0 alpha 3 released [August 2006/</b></br /> The third alpha release of epydoc 3.0 is now available on the <a href="http://sourceforge.net/project/showfiles.php?group_id=32455">SourceForge download page</a>. See the <a href="whatsnew.html">What's New</a> Modified: trunk/epydoc/doc/whatsnew.html =================================================================== --- trunk/epydoc/doc/whatsnew.html 2006-08-23 20:08:52 UTC (rev 1313) +++ trunk/epydoc/doc/whatsnew.html 2006-08-23 20:10:10 UTC (rev 1314) @@ -12,7 +12,7 @@ <div class="box"> <h2 class="box-title">Epydoc 3.0 (alpha)</h2></td> -<center><i>Released March 8, 2006</i></center> +<center><i>Alpha 3 released August 24, 2006</i></center> <h3>Support for Parsing & Introspection</h3> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ed...@us...> - 2006-08-23 20:08:56
|
Revision: 1313 Author: edloper Date: 2006-08-23 13:08:52 -0700 (Wed, 23 Aug 2006) ViewCVS: http://svn.sourceforge.net/epydoc/?rev=1313&view=rev Log Message: ----------- - Bumped version number to alpha3 Modified Paths: -------------- trunk/epydoc/src/epydoc/__init__.py Modified: trunk/epydoc/src/epydoc/__init__.py =================================================================== --- trunk/epydoc/src/epydoc/__init__.py 2006-08-23 16:44:57 UTC (rev 1312) +++ trunk/epydoc/src/epydoc/__init__.py 2006-08-23 20:08:52 UTC (rev 1313) @@ -202,7 +202,7 @@ """ __docformat__ = 'restructuredtext en' -__version__ = '3.0alpha2' +__version__ = '3.0alpha3' """The version of epydoc""" __author__ = 'Edward Loper <ed...@gr...>' This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |