diff options
author | holger krekel <holger@merlinux.eu> | 2012-10-18 12:24:50 +0200 |
---|---|---|
committer | holger krekel <holger@merlinux.eu> | 2012-10-18 12:24:50 +0200 |
commit | dbaedbacde12cfb7c326101c693377a6851382d7 (patch) | |
tree | a14b288406955a15379d6db5baf7b7b92537126c /doc/en/genapi.py | |
parent | cf17f1d6288bc13cd3b35627f48a7172b5849cb8 (diff) | |
download | pytest-dbaedbacde12cfb7c326101c693377a6851382d7.tar.gz |
many doc improvements and fixes
Diffstat (limited to 'doc/en/genapi.py')
-rw-r--r-- | doc/en/genapi.py | 41 |
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 |