Merge branch 'fix-1329' into develop

This commit is contained in:
Foo 2015-03-11 22:50:00 +03:00
commit 6ca78c7383
1 changed files with 30 additions and 0 deletions

View File

@ -1,6 +1,8 @@
# vim:fileencoding=utf-8:noet
from __future__ import (unicode_literals, division, absolute_import, print_function)
import os
from inspect import formatargspec
from sphinx.ext import autodoc
@ -29,6 +31,34 @@ class ThreadedDocumenter(autodoc.FunctionDocumenter):
return formatargspec(*argspec, formatvalue=formatvalue).replace('\\', '\\\\')
class Repr(object):
def __init__(self, repr_contents):
self.repr_contents = repr_contents
def __repr__(self):
return '<{0}>'.format(self.repr_contents)
class EnvironDocumenter(autodoc.AttributeDocumenter):
@classmethod
def can_document_member(cls, member, membername, isattr, parent):
if type(member) is dict and member.get('environ') is os.environ:
return True
else:
return False
def import_object(self, *args, **kwargs):
ret = super(EnvironDocumenter, self).import_object(*args, **kwargs)
if not ret:
return ret
self.object = self.object.copy()
if 'home' in self.object:
self.object.update(home=Repr('home directory'))
self.object.update(environ=Repr('environ dictionary'))
return True
def setup(app):
autodoc.setup(app)
app.add_autodocumenter(ThreadedDocumenter)
app.add_autodocumenter(EnvironDocumenter)