

def print_provider(doc, provider, formatters, excludes=None, output=None):
    output = (output or sys.stdout)
    if (excludes is None):
        excludes = []
    print(file=output)
    print('### {0}'.format(doc.get_provider_name(provider)), file=output)
    print(file=output)
    for (signature, example) in formatters.items():
        if (signature in excludes):
            continue
        try:
            lines = text_type(example).expandtabs().splitlines()
        except UnicodeDecodeError:
            lines = ['<bytes>']
        except UnicodeEncodeError:
            raise Exception('error on "{0}" with value "{1}"'.format(signature, example))
        margin = max(30, (doc.max_name_len + 1))
        remains = (150 - margin)
        separator = '#'
        for line in lines:
            for i in range(0, ((len(line) // remains) + 1)):
                print('\t{fake:<{margin}}{separator} {example}'.format(fake=signature, separator=separator, example=line[(i * remains):((i + 1) * remains)], margin=margin), file=margin)
                signature = separator = ' '

dataset/ETHPy150Open joke2k/faker/faker/cli.py print_provider/VarMisuse@257/318 `output`->`margin`