@@ -0,0 +1,868 @@
+import inspect%0A%0A%0Adef mergedoc(function, other):%0A    %22%22%22 Merge the docstring from the other function to the decorated function.%0A%0A    %22%22%22%0A    if other.__doc__ is None:%0A        return function%0A    elif function.__doc__ is None:%0A        function.__func__.__doc__ = other.__doc__%0A        return function%0A    else:%0A        merged_doc = '%5Cn'.join((other.__doc__, function.__doc__))%0A        function.__func__.__doc__ = merged_doc%0A        return function%0A%0A%0Aclass mergedocs(object):%0A    %22%22%22 Merge the docstrings of other class to the decorated.%0A%0A    %22%22%22%0A    def __init__(self, other):%0A        self.other = other%0A%0A    def __call__(self, cls):%0A        for name, old in inspect.getmembers(self.other):%0A            if inspect.ismethod(old):%0A                new = getattr(cls, name, None)%0A                if new is not None:%0A                    mergedoc(new, old)%0A        return cls%0A

add the docutil module with the docstring class decorators