

def documentation(self, add_to=None):
    'Produces general documentation for the interface'
    doc = (OrderedDict if (add_to is None) else add_to)
    usage = self.interface.spec.__doc__
    if usage:
        doc['usage'] = usage
    if getattr(self, 'requires', None):
        doc['requires'] = [getattr(requirement, '__doc__', requirement.__name__) for requirement in self.requires]
    doc['outputs'] = OrderedDict()
    doc['outputs']['format'] = self.outputs.__doc__
    doc['outputs']['content_type'] = self.outputs.content_type
    parameters = [param for param in self.parameters if ((not (inputs in ('request', 'response', 'self'))) and (not param.startswith('hug_')) and (not hasattr(param, 'directive')))]
    if parameters:
        inputs = doc.setdefault('inputs', OrderedDict())
        types = self.interface.spec.__annotations__
        for argument in parameters:
            kind = types.get(argument, text)
            if (getattr(kind, 'directive', None) is True):
                continue
            input_definition = inputs.setdefault(argument, OrderedDict())
            input_definition['type'] = (kind if isinstance(kind, str) else kind.__doc__)
            default = self.defaults.get(argument, None)
            if (default is not None):
                input_definition['default'] = default
    return doc

dataset/ETHPy150Open timothycrosley/hug/hug/interface.py Interface.documentation/VarMisuse@142/194 `param`->`inputs`