[py-svn] r13302 - in py/dist/py: documentation misc

hpk at codespeak.net hpk at codespeak.net
Sat Jun 11 20:47:04 CEST 2005


Author: hpk
Date: Sat Jun 11 20:47:03 2005
New Revision: 13302

Added:
   py/dist/py/documentation/confrest.py
   py/dist/py/documentation/contact.txt
   py/dist/py/documentation/home.txt
Modified:
   py/dist/py/documentation/conftest.py
   py/dist/py/documentation/index.txt
   py/dist/py/documentation/style.css
   py/dist/py/misc/rest.py
Log:
new py lib website going online 



Added: py/dist/py/documentation/confrest.py
==============================================================================
--- (empty file)
+++ py/dist/py/documentation/confrest.py	Sat Jun 11 20:47:03 2005
@@ -0,0 +1,80 @@
+import py
+from py.__.misc.rest import convert_rest_html, strip_html_header 
+
+mydir = py.magic.autopath().dirpath()
+html = py.xml.html 
+
+def process(txtpath): 
+    encoding = 'latin1' 
+    content = unicode(txtpath.read(), encoding)
+    stylesheet = 'style.css' 
+    if not txtpath.dirpath(stylesheet).check(): 
+        stylesheet = None 
+
+    content = convert_rest_html(content, txtpath, stylesheet=stylesheet, encoding=encoding) 
+    content = strip_html_header(content) 
+
+    page = PyPage("py lib [%s] " % txtpath.purebasename, stylesheeturl=stylesheet)
+    page.contentspace.append(content) 
+    htmlpath = txtpath.new(ext='.html') 
+    htmlpath.write(page.unicode().encode(encoding)) 
+
+class Page(object): 
+    doctype = ('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"'
+               '"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\n')
+
+    def __init__(self, title, stylesheeturl=None, type="text/html", encoding="ISO-8859-1"): 
+        self.title = title 
+        self.stylesheeturl = stylesheeturl 
+        self.type = type 
+        self.encoding = encoding 
+
+        self.body = html.body()
+        self.head = html.head() 
+        self._root = html.html(self.head, self.body) 
+        self.fill() 
+
+    def fill(self): 
+        content_type = "%s;charset=%s" %(self.type, self.encoding) 
+        self.head.append(html.title(self.title)) 
+        self.head.append(html.meta(name="Content-Type", value=content_type))
+        if self.stylesheeturl: 
+            self.head.append(
+                    html.link(href=self.stylesheeturl, 
+                              media="screen", rel="stylesheet", 
+                              type="text/css"))
+
+    def unicode(self, doctype=True): 
+        page = self._root.unicode() 
+        if doctype: 
+            return self.doctype + page 
+        else: 
+            return page 
+
+class PyPage(Page): 
+    def fill(self): 
+        super(PyPage, self).fill() 
+        # base layout 
+        self.body.append(
+            html.div(html.img(alt="py lib", id='pyimg', height=75, width=154, 
+                              src="http://codespeak.net/img/codespeak1b.png")))
+
+        self.menubar = html.div(
+            html.a("home", href="home.html", class_="menu"), " ",
+            html.a("doc", href="index.html", class_="menu"), " ",
+            html.a("contact", href="contact.html", class_="menu"), " ", 
+            html.a("getting-started", href="getting-started.html", class_="menu"), " ",
+            html.a("issue", href="https://codespeak.net/issue/py-dev/", class_="menu"), 
+            id="menubar", 
+        )
+                            
+        self.metaspace = html.div(
+                html.div(self.title, class_="project_title"), 
+                self.menubar,
+                id='metaspace')
+
+        self.body.append(self.metaspace) 
+
+        self.contentspace = html.div(id="contentspace", class_="content")
+        self.body.append(self.contentspace) 
+

Modified: py/dist/py/documentation/conftest.py
==============================================================================
--- py/dist/py/documentation/conftest.py	(original)
+++ py/dist/py/documentation/conftest.py	Sat Jun 11 20:47:03 2005
@@ -19,9 +19,15 @@
 def restcheck(path):
     checkdocutils() 
     import docutils.utils
+
     try: 
-        # this helper will raise errors instead of warnings 
-        rest.process(path) 
+        confrest = path.localpath.dirpath('confrest.py')
+        if confrest.check(file=1): 
+            confrest = confrest.pyimport() 
+            confrest.process(path) 
+        else: 
+            # defer to default processor 
+            rest.process(path) 
     except KeyboardInterrupt: 
         raise 
     except docutils.utils.SystemMessage: 

Added: py/dist/py/documentation/contact.txt
==============================================================================
--- (empty file)
+++ py/dist/py/documentation/contact.txt	Sat Jun 11 20:47:03 2005
@@ -0,0 +1,15 @@
+py lib contact and communication 
+===================================
+
+* `development mailing list`_ for conceptual and coding discussions (low to medium traffic). 
+
+* `subversion commit mailing list`_ all updates to the trunk/branch source and documentation tree. 
+
+* `development bug/feature tracker`_ for filing bugs and feature requests. 
+
+* IRC Channel #pylib on irc.freenode.net 
+
+.. _`subversion commit mailing list`: http://codespeak.net/mailman/listinfo/py-svn
+.. _`development mailing list`: http://codespeak.net/mailman/listinfo/py-dev
+.. _`development bug/feature tracker`: https://codespeak.net/issue/py-dev/ 
+

Added: py/dist/py/documentation/home.txt
==============================================================================
--- (empty file)
+++ py/dist/py/documentation/home.txt	Sat Jun 11 20:47:03 2005
@@ -0,0 +1,12 @@
+
+    The py lib aims at supporting a decent development process 
+    addressing important deployment, versioning, testing and 
+    documentation issues - seen primarily from the perspective 
+    of a FOSS (Free and Open Source) developer.   
+
+Heading towards a first 0.8.0 py.test/py lib release! 
+====================================================== 
+
+``py.test`` and the py lib are heading towards their first release. 
+The main missing feature is proper testing and integration with win32 
+platforms and improved documentation.  *holger (06/11/2005)*

Modified: py/dist/py/documentation/index.txt
==============================================================================
--- py/dist/py/documentation/index.txt	(original)
+++ py/dist/py/documentation/index.txt	Sat Jun 11 20:47:03 2005
@@ -1,39 +1,19 @@
-*the py lib*
-============
+py.test and the py lib - documentation 
+---------------------------------------- 
 
-*The py lib wants to support a decent and convenient 
-development process addressing important deployment,
-versioning, testing and documentation issues - seen 
-primarily from the perspective of a FOSS (Free and
-Open Source) developer.  While the primary focus 
-is on developer activities this does not preclude 
-usage of the py lib for applications.* 
+`py.test`_ introduces to the new'n'easy **py.test** utility
 
-Important Links
----------------
+`py.execnet`_ a (probably uniquely) innovative way to distribute programs across the net 
 
-    `getting started`_ quick start for using py.test and the py lib. 
+`py.magic.greenlet`_: Lightweight in-process concurrent programming (aka Stackless)
 
-    `py-dev at codespeak net`_  the development mailing list 
+`py.xml`_ a fast'n'easy way to generate xml/html documents (including CSS-styling) 
 
-    **#pylib on irc.freenode.net** (upcoming) development IRC channel 
+`miscellaneous features`_ describes some more py lib features 
 
-    `why what how py?`_, describing motivation and background of the py lib 
+`future`_ handles development visions and plans for the near future. 
 
-Usage Documentation
--------------------
-
-   `py.test`_ introduces to the new'n'easy **py.test** utility
-
-   `py.execnet`_ a (probably uniquely) innovative way to distribute programs across the net 
-
-   `py.magic.greenlet`_: Lightweight in-process concurrent programming (aka Stackless)
-
-   `py.xml`_ a fast'n'easy way to generate xml/html documents (including CSS-styling) 
-
-   `miscellaneous features`_ describes some more py lib features 
-
-   `future`_ handles development visions and plans for the near future. 
+`why what how py?`_, describing motivation and background of the py lib 
   
 Note that some parts of these texts refer to future development and
 do not reflect the current state.  **Welcome to documentation and 

Modified: py/dist/py/documentation/style.css
==============================================================================
--- py/dist/py/documentation/style.css	(original)
+++ py/dist/py/documentation/style.css	Sat Jun 11 20:47:03 2005
@@ -1,26 +1,25 @@
-body {
-    background: url(http://codespeak.net/img/codespeak1b.png) no-repeat;
-    font: 120% Arial, Verdana, Helvetica, sans-serif;
-    border: 0;
-    margin: 0.5em 0em 0.5em 0.5em;
-    padding: 0 0 0 145px; 
+body,body.editor,body.body {
+    font: 110% "Times New Roman", Arial, Verdana, Helvetica, serif;
+    background: White;
+    color: Black;
 }
 
-a {
-	text-decoration: underline;
-    background-color: transparent;
+a, a.reference {
+	text-decoration: none; 
+}
+a[href]:hover { text-decoration: underline; }
+
+img {
+    border: none;
+	vertical-align: middle;
 }
 
-p {
-    /*margin: 0.5em 0em 1em 0em;*/
+p, div.text {
     text-align: left;
     line-height: 1.5em;
     margin: 0.5em 0em 0em 0em;
 }
 
-p a {
-    text-decoration: underline;
-}
 
 
 p a:active {
@@ -28,6 +27,18 @@
     background-color: transparent;
 }
 
+p img {
+    border: 0;
+    margin: 0;
+}
+
+img.inlinephoto {
+    padding: 0;
+    padding-right: 1em;
+    padding-top: 0.7em;
+    float: left;
+}
+
 hr {
     clear: both;
     height: 1px;
@@ -39,18 +50,32 @@
 ul { 
     line-height: 1.5em;
     /*list-style-image: url("bullet.gif"); */
-    margin-left: 1em;
+    margin-left: 1.5em;
+    padding:0;
 }
 
 ol {
     line-height: 1.5em;
-    margin-left: 0em;
+    margin-left: 1.5em;
+    padding:0;
 }
 
 ul a, ol a {
     text-decoration: underline;
 }
 
+dl {
+}
+
+dt {
+    font-weight: bold;    
+}
+
+dd {
+    line-height: 1.5em;
+    margin-bottom: 1em;
+}
+
 blockquote {
     font-family: Times, "Times New Roman", serif;
     font-style: italic;
@@ -58,17 +83,996 @@
 }
 
 code {
-    font-size: 120%;
     color: Black;
     /*background-color: #dee7ec;*/
     background-color: #cccccc;
 }
 
 pre {
+    padding: 1em;
+    border: 1px solid #8cacbb;
+    color: Black;
+    background-color: #dee7ec;
+    background-color: #cccccc;
+    overflow: auto;
+}
+
+
+.netscape4 {
+    display: none;
+}
+
+/* main page styles */
+
+/*a[href]:hover { color: black; text-decoration: underline; }
+a[href]:link { color: black; text-decoration: underline; }
+a[href] { color: black; text-decoration: underline; }
+*/
+
+span.menu_selected {
+	color: black;
+  	font: 140% Verdana, Helvetica, Arial, sans-serif;
+	text-decoration: none;
+    padding-right: 0.3em;
+    background-color: #cccccc;
+}
+
+
+a.menu {
+  	/*color: #3ba6ec; */
+  	font: 140% Verdana, Helvetica, Arial, sans-serif;
+	text-decoration: none;
+    padding-right: 0.3em;
+}
+
+a.menu[href]:visited, a.menu[href]:link{
+  	/*color: #3ba6ec; */
+  	font: 140% Verdana, Helvetica, Arial, sans-serif;
+	text-decoration: none;
+}
+
+a.menu[href]:hover {
+  	/*color: black;*/
+}
+
+div.project_title{
+  /*border-spacing: 20px;*/
+  font: 160% Verdana, Helvetica, Arial, sans-serif;
+  color: #3ba6ec; 
+  vertical-align: middle;
+  padding-bottom: 0.3em;
+}
+
+a.wikicurrent {
+  font: 100% Verdana, Helvetica, Arial, sans-serif;
+  color: #3ba6ec; 
+  vertical-align: middle;
+}
+
+
+table.body {
+  border: 0;
+  /*padding: 0;
+  border-spacing: 0px;
+  border-collapse: separate;
+  */
+}
+
+td.page-header-left {
+  padding: 5px;
+  /*border-bottom: 1px solid #444444;*/
+}
+
+td.page-header-top {
+  padding: 0;
+    
+  /*border-bottom: 1px solid #444444;*/
+}
+
+td.sidebar {
+  padding: 1 0 0 1;
+}
+
+td.sidebar p.classblock {
+  padding: 0 5 0 5;
+  margin: 1 1 1 1;
+  border: 1px solid #444444;
+  background-color: #eeeeee;
+}
+
+td.sidebar p.userblock {
+  padding: 0 5 0 5;
+  margin: 1 1 1 1;
+  border: 1px solid #444444;
+  background-color: #eeeeff;
+}
+
+td.content {
+  padding: 1 5 1 5;
+  vertical-align: top;
+  width: 100%;
+}
+
+p.ok-message {
+  background-color: #22bb22;
+  padding: 5 5 5 5;
+  color: white;
+  font-weight: bold;
+}
+p.error-message {
+  background-color: #bb2222;
+  padding: 5 5 5 5;
+  color: white;
+  font-weight: bold;
+}
+
+p:first-child { 
+  margin: 0 ;
+  padding: 0;
+}
+
+/* style for forms */
+table.form {
+  padding: 2;
+  border-spacing: 0px;
+  border-collapse: separate;
+}
+
+table.form th {
+  color: #333388;
+  text-align: right;
+  vertical-align: top;
+  font-weight: normal;
+}
+table.form th.header {
+  font-weight: bold;
+  background-color: #eeeeff;
+  text-align: left;
+}
+
+table.form th.required {
+  font-weight: bold;
+}
+
+table.form td {
+  color: #333333;
+  empty-cells: show;
+  vertical-align: top;
+}
+
+table.form td.optional {
+  font-weight: bold;
+  font-style: italic;
+}
+
+table.form td.html {
+  color: #777777;
+}
+
+/* style for lists */
+table.list {
+  border-spacing: 0px;
+  border-collapse: separate;
+  vertical-align: top;
+  padding-top: 0;
+  width: 100%;
+}
+
+table.list th {
+  padding: 0 4 0 4;
+  color: #404070;
+  background-color: #eeeeff;
+  border-right: 1px solid #404070;
+  border-top: 1px solid #404070;
+  border-bottom: 1px solid #404070;
+  vertical-align: top;
+  empty-cells: show;
+}
+table.list th a[href]:hover { color: #404070 }
+table.list th a[href]:link { color: #404070 }
+table.list th a[href] { color: #404070 }
+table.list th.group {
+  background-color: #f4f4ff;
+  text-align: center;
+  font-size: 120%;
+}
+
+table.list td {
+  padding: 0 4 0 4;
+  border: 0 2 0 2;
+  border-right: 1px solid #404070;
+  color: #404070;
+  background-color: white;
+  vertical-align: top;
+  empty-cells: show;
+}
+
+table.list tr.normal td {
+  background-color: white;
+  white-space: nowrap;
+}
+
+table.list tr.alt td {
+  background-color: #efefef;
+  white-space: nowrap;
+}
+
+table.list td:first-child {
+  border-left: 1px solid #404070;
+  border-right: 1px solid #404070;
+}
+
+table.list th:first-child {
+  border-left: 1px solid #404070;
+  border-right: 1px solid #404070;
+}
+
+table.list tr.navigation th {
+  text-align: right;
+}
+table.list tr.navigation th:first-child {
+  border-right: none;
+  text-align: left;
+}
+
+
+/* style for message displays */
+table.messages {
+  border-spacing: 0px;
+  border-collapse: separate;
+  width: 100%;
+}
+
+table.messages th.header{
+  padding-top: 10px;
+  border-bottom: 1px solid gray;
+  font-weight: bold;
+  background-color: white;
+  color: #707040;
+}
+
+table.messages th {
+  font-weight: bold;
+  color: black;
+  text-align: left;
+  border-bottom: 1px solid #afafaf;
+}
+
+table.messages td {
+  font-family: monospace;
+  background-color: #efefef;
+  border-bottom: 1px solid #afafaf;
+  color: black;
+  empty-cells: show;
+  border-right: 1px solid #afafaf;
+  vertical-align: top;
+  padding: 2 5 2 5;
+}
+
+table.messages td:first-child {
+  border-left: 1px solid #afafaf;
+  border-right: 1px solid #afafaf;
+}
+
+/* style for file displays */
+table.files {
+  border-spacing: 0px;
+  border-collapse: separate;
+  width: 100%;
+}
+
+table.files th.header{
+  padding-top: 10px;
+  border-bottom: 1px solid gray;
+  font-weight: bold;
+  background-color: white;
+  color: #707040;
+}
+
+table.files th {
+  border-bottom: 1px solid #afafaf;
+  font-weight: bold;
+  text-align: left;
+}
+
+table.files td {
+  font-family: monospace;
+  empty-cells: show;
+}
+
+/* style for history displays */
+table.history {
+  border-spacing: 0px;
+  border-collapse: separate;
+  width: 100%;
+}
+
+table.history th.header{
+  padding-top: 10px;
+  border-bottom: 1px solid gray;
+  font-weight: bold;
+  background-color: white;
+  color: #707040;
+  font-size: 100%;
+}
+
+table.history th {
+  border-bottom: 1px solid #afafaf;
+  font-weight: bold;
+  text-align: left;
+  font-size: 90%;
+}
+
+table.history td {
+  font-size: 90%;
+  vertical-align: top;
+  empty-cells: show;
+}
+
+
+/* style for class list */
+table.classlist {
+  border-spacing: 0px;
+  border-collapse: separate;
+  width: 100%;
+}
+
+table.classlist th.header{
+  padding-top: 10px;
+  border-bottom: 1px solid gray;
+  font-weight: bold;
+  background-color: white;
+  color: #707040;
+}
+
+table.classlist th {
+  font-weight: bold;
+  text-align: left;
+}
+
+
+/* style for class help display */
+table.classhelp {
+  border-spacing: 0px;
+  border-collapse: separate;
+  width: 100%;
+}
+
+table.classhelp th {
+  font-weight: bold;
+  text-align: left;
+  color: #707040;
+}
+
+table.classhelp td {
+  padding: 2 2 2 2;
+  border: 1px solid black;
+  text-align: left;
+  vertical-align: top;
+  empty-cells: show;
+}
+
+
+/* style for "other" displays */
+table.otherinfo {
+  border-spacing: 0px;
+  border-collapse: separate;
+  width: 100%;
+}
+
+table.otherinfo th.header{
+  padding-top: 10px;
+  border-bottom: 1px solid gray;
+  font-weight: bold;
+  background-color: white;
+  color: #707040;
+}
+
+table.otherinfo th {
+  border-bottom: 1px solid #afafaf;
+  font-weight: bold;
+  text-align: left;
+}
+
+input {
+    border: 1px solid #8cacbb;
+    color: Black;
+    background-color: white;
+    vertical-align: middle;
+    margin-bottom: 1px; /* IE bug fix */
+    padding: 0.1em;
+}
+
+select {
+    border: 1px solid #8cacbb;
+    color: Black;
+    background-color: white;
+    vertical-align: middle;
+    margin-bottom: 1px; /* IE bug fix */
+    padding: 0.1em;
+}
+
+
+a.nonexistent {
+    color: #FF2222;
+}
+a.nonexistent:visited {
+    color: #FF2222;
+}
+a.external {
+    color: #AA6600;
+}
+
+/*
+dl,ul,ol {
+    margin-top: 1pt;
+}
+tt,pre {
+    font-family: Lucida Console,Courier New,Courier,monotype;
+    font-size: 12pt;
+}
+pre.code {
+    margin-top: 8pt;
+    margin-bottom: 8pt;
+    background-color: #FFFFEE;
+    white-space:pre;
+    border-style:solid;
+    border-width:1pt;
+    border-color:#999999;
+    color:#111111;
+    padding:5px;
+    width:100%;
+}
+*/
+div.diffold {
+    background-color: #FFFF80;
+    border-style:none;
+    border-width:thin;
+    width:100%;
+}
+div.diffnew {
+    background-color: #80FF80;
+    border-style:none;
+    border-width:thin;
+    width:100%;
+}
+div.message {
+    margin-top: 6pt;
+    background-color: #E8FFE8;
+    border-style:solid;
+    border-width:1pt;
+    border-color:#999999;
+    color:#440000;
+    padding:5px;
+    width:100%;
+}
+strong.highlight {
+    background-color: #FFBBBB;
+/* as usual, NetScape fucks up with innocent CSS
+    border-color: #FFAAAA;
+    border-style: solid;
+    border-width: 1pt;
+*/
+}
+
+table.navibar {
+    background-color: #C8C8C8;
+    border-spacing: 3px;
+}
+td.navibar {
+    background-color: #E8E8E8;
+    vertical-align: top;
+    text-align: right;
+    padding: 0px;
+}
+
+div.pagename {
+    font-size: 140%;
+    color: blue;
+    text-align: center;
+    font-weight: bold;
+    background-color: white;
+    padding: 0 ;
+}
+
+a.wikiaction, input.wikiaction {
+    color: black; 
+    text-decoration: None;
+    text-align: center;
+    color: black;
+    /*border: 1px solid #3ba6ec; */
+    margin: 4px;
+    padding: 5;
+    padding-bottom: 0;
+    white-space: nowrap;
+}
+
+a.wikiaction[href]:hover { 
+	color: black; 
+	text-decoration: none; 
+	/*background-color: #dddddd; */
+}
+
+span.wikiuserpref {
+    padding-top: 1em;
     font-size: 120%;
+}
+
+div.wikitrail {
+    vertical-align: bottom;
+    /*font-size: -1;*/
+    padding-top: 1em;
+    display: none;
+}
+
+div.wikiaction {
+    vertical-align: middle;
+    /*border-bottom: 1px solid #8cacbb;*/
+    padding-bottom:1em;
+    text-align: left;
+    width: 100%;
+}
+
+div.wikieditmenu {
+    text-align: right;
+}
+
+form.wikiedit {
+    border: 1px solid #8cacbb;
+    background-color: #f0f0f0;
+    background-color: #fabf00;
+    padding: 1em;
+    padding-right: 0em;
+}
+
+div.legenditem {
+    padding-top: 0.5em;
+    padding-left: 0.3em;
+}
+
+span.wikitoken {
+   background-color: #eeeeee;
+}
+    
+
+div#contentspace h1:first-child, div.heading:first-child { 
+  padding-top: 0;
+  margin-top: 0;
+}
+div#contentspace h2:first-child { 
+  padding-top: 0;
+  margin-top: 0;
+}
+
+/* heading and paragraph text */
+
+div.heading, h1 {
+    font-family: Verdana, Helvetica, Arial, sans-serif;
+    background-color: #58b3ef;
+    background-color: #FFFFFF; 
+    /*color: #4893cf;*/
+    color: black;
+    padding-top: 1.0em;
+    padding-bottom:0.2em;
+    text-align: left;
+    margin-top: 0em; 
+    /*margin-bottom:8pt;*/
+    font-weight: bold;
+    font-size: 115%;
+    border-bottom: 1px solid #8CACBB;
+}
+
+
+h1, h2, h3, h4, h5, h6 {
+    color: Black;
+    clear: left;
+    font: 100% Verdana, Helvetica, Arial, sans-serif;
+    margin: 0;
+    padding-left: 0em;
+    padding-top: 1em;
+    padding-bottom: 0.2em;
+    /*border-bottom: 1px solid #8CACBB;*/
+}
+/* h1,h2 { padding-top: 0; }*/
+
+
+h1 { font-size: 145%; }
+h2 { font-size: 135%; }
+h3 { font-size: 125%; }
+h4 { font-size: 120%; }
+h5 { font-size: 110%; }
+h6 { font-size: 80%; }
+
+h1 a { text-decoration: None;}
+
+div.exception {
+  background-color: #bb2222;
+  padding: 5 5 5 5;
+  color: white;
+  font-weight: bold;
+}
+pre.exception {
+    font-size: 110%;
     padding: 1em;
     border: 1px solid #8cacbb;
     color: Black;
     background-color: #dee7ec;
     background-color: #cccccc;
 }
+
+/* defines for navgiation bar (documentation) */
+
+
+div.direntry {
+    padding-top: 0.3em;
+    padding-bottom: 0.3em;
+    margin-right: 1em;
+    font-weight: bold;
+    background-color: #dee7ec;
+    font-size: 110%;
+}
+
+div.fileentry {
+    font-family: Verdana, Helvetica, Arial, sans-serif;
+    padding-bottom: 0.3em;
+    white-space: nowrap;
+    line-height: 150%;
+}
+
+a.fileentry {
+    white-space: nowrap;
+}
+
+
+span.left {
+    text-align: left;
+}
+span.right {
+    text-align: right;
+}
+
+div.navbar {
+  /*margin: 0;*/
+  font-size: 80% /*smaller*/;
+  font-weight: bold;
+  text-align: left;
+  /* position: fixed; */
+  top: 100pt;
+  left: 0pt; /*  auto; */
+  width: 120pt;
+  /* right: auto;
+  right: 0pt;  2em; */
+}
+
+
+div.history a {
+    /* font-size: 70%; */
+}
+
+div.wikiactiontitle { 
+  font-weight: bold;
+}
+
+/*  REST  defines */
+
+div.document {
+    margin: 0;
+}
+
+h1.title {
+    margin: 0;
+    margin-bottom: 0.5em;
+}
+
+td.toplist {
+    vertical-align: top;
+}
+
+img#pyimg {
+    position: absolute;
+    top: 4px;
+    left: 4px;
+}
+    
+div#navspace {
+    position: absolute;
+    top: 130px;
+    left: 11px;
+    font-size: 100%;
+    width: 150px;
+    overflow: hidden; /* scroll;  */
+}
+
+div#metaspace {
+    position: absolute;
+    top: 10px;
+    left: 170px;
+}
+
+div#errorline {
+    position: relative;
+    top: 5px; 
+    float: right; 
+}
+
+div#contentspace {
+    position: absolute;
+  	/* font: 120% "Times New Roman", serif;*/
+    font: 110% Verdana, Helvetica, Arial, sans-serif;
+    top: 130px;
+    left: 170px;
+    margin-right: 5px;
+}
+
+div#menubar {
+/*    width: 400px; */
+    float: left;
+}
+
+/* for the documentation page */
+div#docinfoline {
+  position: relative;
+  top: 5px; 
+  left: 0px;
+
+  /*background-color: #dee7ec; */
+  padding: 5pt; 
+  padding-bottom: 1em; 
+  color: black;
+  /*border-width: 1pt;
+  border-style: solid;*/
+
+}
+
+div#docnavlist {
+  /*background-color: #dee7ec; */
+  padding: 5pt; 
+  padding-bottom: 2em; 
+  color: black;
+  border-width: 1pt;
+  /*border-style: solid;*/
+}
+
+
+/* text markup */
+
+div.listtitle {
+    color: Black;
+    clear: left;
+    font: 120% Verdana, Helvetica, Arial, sans-serif;
+    margin: 0;
+    padding-left: 0em;
+    padding-top: 0em;
+    padding-bottom: 0.2em;
+    margin-right: 0.5em;
+    border-bottom: 1px solid #8CACBB;
+}
+
+div.actionbox h3 { 
+  padding-top: 0;
+  padding-right: 0.5em;
+  padding-left: 0.5em;
+  background-color: #fabf00;
+  text-align: center;
+  border: 1px solid black; /* 8cacbb; */
+}
+
+div.actionbox a { 
+  display: block;
+  padding-bottom: 0.5em;
+  padding-top: 0.5em;
+  margin-left: 0.5em;
+}
+
+div.actionbox a.history { 
+  display: block;
+  padding-bottom: 0.5em;
+  padding-top: 0.5em;
+  margin-left: 0.5em;
+  font-size: 90%; 
+}
+
+div.actionbox { 
+  margin-bottom: 2em;
+  padding-bottom: 1em;
+  overflow: hidden; /* scroll;  */
+}
+
+/* taken from docutils (oh dear, a bit senseless) */
+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 }
+
+
+/*
+:Author: David Goodger
+:Contact: goodger at users.sourceforge.net
+:date: $Date: 2003/01/22 22:26:48 $
+:version: $Revision: 1.29 $
+:copyright: This stylesheet has been placed in the public domain.
+
+Default cascading style sheet for the HTML output of Docutils.
+*/
+/*
+.first {
+  margin-top: 0 }
+
+.last {
+  margin-bottom: 0 }
+
+a.toc-backref {
+  text-decoration: none ;
+  color: black }
+
+dd {
+  margin-bottom: 0.5em }
+
+div.abstract {
+  margin: 2em 5em }
+
+div.abstract p.topic-title {
+  font-weight: bold ;
+  text-align: center }
+
+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.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 }
+
+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.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.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 {
+  width: 75% }
+
+p.caption {
+  font-style: italic }
+
+p.credits {
+  font-style: italic ;
+  font-size: smaller }
+
+p.label {
+  white-space: nowrap }
+
+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 {
+  margin-top: 0.5em ;
+  margin-bottom: 0.5em }
+
+table.citation {
+  border-left: solid thin gray ;
+  padding-left: 0.5ex }
+
+table.docinfo {
+  margin: 2em 4em }
+
+table.footnote {
+  border-left: solid thin black ;
+  padding-left: 0.5ex }
+
+td, 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, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt {
+  font-size: 100% }
+
+tt {
+  background-color: #eeeeee }
+
+ul.auto-toc {
+  list-style-type: none }
+*/
+
+div.section {
+  margin-top: 1.0em ;
+}    

Modified: py/dist/py/misc/rest.py
==============================================================================
--- py/dist/py/misc/rest.py	(original)
+++ py/dist/py/misc/rest.py	Sat Jun 11 20:47:03 2005
@@ -1,5 +1,6 @@
 
 import sys, os, traceback
+import re
 
 if hasattr(sys.stdout, 'fileno') and os.isatty(sys.stdout.fileno()):
     def log(msg):
@@ -45,3 +46,15 @@
     #    info = txtpath.info()
     #    svninfopath.dump(info) 
 
+rex1 = re.compile(ur'.*<body>(.*)</body>.*', re.MULTILINE | re.DOTALL)
+rex2 = re.compile(ur'.*<div class="document">(.*)</div>.*', re.MULTILINE | re.DOTALL)
+
+def strip_html_header(string):
+    """ return the content of the body-tag """ 
+    uni = unicode(string, 'utf8')
+    for rex in rex1,rex2: 
+        match = rex.search(uni) 
+        if not match: 
+            break 
+        uni = match.group(1) 
+    return uni 



More information about the pytest-commit mailing list