summaryrefslogtreecommitdiff
path: root/doc/en/genapi.py
diff options
context:
space:
mode:
authorholger krekel <holger@merlinux.eu>2012-10-18 12:24:50 +0200
committerholger krekel <holger@merlinux.eu>2012-10-18 12:24:50 +0200
commitdbaedbacde12cfb7c326101c693377a6851382d7 (patch)
treea14b288406955a15379d6db5baf7b7b92537126c /doc/en/genapi.py
parentcf17f1d6288bc13cd3b35627f48a7172b5849cb8 (diff)
downloadpytest-dbaedbacde12cfb7c326101c693377a6851382d7.tar.gz
many doc improvements and fixes
Diffstat (limited to 'doc/en/genapi.py')
-rw-r--r--doc/en/genapi.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/doc/en/genapi.py b/doc/en/genapi.py
new file mode 100644
index 000000000..f8cdda6cf
--- /dev/null
+++ b/doc/en/genapi.py
@@ -0,0 +1,41 @@
+import textwrap
+import inspect
+
+class Writer:
+ def __init__(self, clsname):
+ self.clsname = clsname
+
+ def __enter__(self):
+ self.file = open("%s.api" % self.clsname, "w")
+ return self
+
+ def __exit__(self, *args):
+ self.file.close()
+ print "wrote", self.file.name
+
+ def line(self, line):
+ self.file.write(line+"\n")
+
+ def docmethod(self, method):
+ doc = " ".join(method.__doc__.split())
+ indent = " "
+ w = textwrap.TextWrapper(initial_indent=indent,
+ subsequent_indent=indent)
+
+ spec = inspect.getargspec(method)
+ del spec.args[0]
+ self.line(".. py:method:: " + method.__name__ +
+ inspect.formatargspec(*spec))
+ self.line("")
+ self.line(w.fill(doc))
+ self.line("")
+
+def pytest_funcarg__a(request):
+ with Writer("request") as writer:
+ writer.docmethod(request.getfuncargvalue)
+ writer.docmethod(request.cached_setup)
+ writer.docmethod(request.addfinalizer)
+ writer.docmethod(request.applymarker)
+
+def test_hello(a):
+ pass