--- a/createdoc.py Wed Apr 25 00:06:27 2012 +0200
+++ b/createdoc.py Wed Apr 25 15:06:28 2012 +0200
@@ -5,7 +5,13 @@
from genshi import Markup
loader = TemplateLoader('doc/tmpl', auto_reload=True)
+
+from glob import glob
+import re
+import os.path
import inspect
+from pkg_resources import parse_version
+
from docutils.core import publish_doctree
import docutils
@@ -13,6 +19,10 @@
from docutils import core
from docutils.writers.html4css1 import Writer,HTMLTranslator
+from iro.view.xmlrpc import TwistedInterface as Current
+from iro import __version__
+from createerm import createSchemaPlot, tables, tables_cls
+
class NoHeaderHTMLTranslator(HTMLTranslator):
def __init__(self, document):
HTMLTranslator.__init__(self,document)
@@ -38,9 +48,6 @@
return core.publish_from_doctree(d, writer=_w)
-from iro.view.xmlrpc import TwistedInterface as Current
-
-from createerm import createSchemaPlot, tables, tables_cls
class Link():
def __init__(self,name,title):
@@ -169,6 +176,11 @@
self.description = Markup(core.publish_string(cls.__doc__,writer=_w))
+class File:
+ def __init__(self,path):
+ self.version = re.search("/iro-(.*).tar.gz",path).group(1)
+ self.name = os.path.basename(path)
+
def main():
sites=[Site("index.html","Iro"),
@@ -177,11 +189,22 @@
Site("about.html","About us"),
]
+ files=[File(f) for f in glob("web/files/*tar.gz")]
+ files.sort(key=lambda a:parse_version(a.version),reverse=True)
+ code ="files/iro-%s.tar.gz"%__version__
+
current_methods = dict(inspect.getmembers(Current()))
current=[ Method(i,current_methods) for i in Current().listMethods() if i != "listMethods" ]
t = [Table(tables_cls[str(f)]) for f in tables]
- createSchemaPlot('doc/images/db-schema.svg')
+ createSchemaPlot('web/images/db-schema.svg')
+
+ gd = {"sites":sites,
+ "current":current,
+ "tables": t,
+ "code":code,
+ "files":files
+ }
for site in sites:
print("generiere %s" % site.name)
@@ -189,8 +212,8 @@
def a(s):
if s == site:
return {"class":"menu active"}
- stream = tmpl.generate(sites=sites, active=a, current=current, tables=t)
- with open('doc/'+site.name, "w") as g:
+ stream = tmpl.generate(active=a, **gd)
+ with open('web/'+site.name, "w") as g:
g.write(stream.render('html', doctype='html'))
if __name__ == '__main__':