We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Decrease binary dummy length
`fake.binary(length=1048576)` generate too huge binary data but it is useless at docs build time.

I tested two case, 1048576 and 1024.

``` console
(faker) [item4@item4-mbp docs]$ echo "1048576"
1048576
(faker) [item4@item4-mbp docs]$ time make html
sphinx-build -b html -d _build/doctrees   . _build/html
Running Sphinx v1.4.8
loading pickled environment... done
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 61 source files that are out of date
updating environment: 0 added, 61 changed, 0 removed
reading sources... [100%] providers/faker.providers.user_agent
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [100%] providers/faker.providers.user_agent
generating indices... genindex
writing additional pages... search
copying static files... WARNING: html_static_path entry '/Users/item4/Projects/faker/docs/_static' does not exist
done
copying extra files... done
dumping search index in English (code: en) ... done
dumping object inventory... done
build succeeded, 1 warning.

Build finished. The HTML pages are in _build/html.

real    3m24.875s
user    3m3.222s
sys 0m10.986s
(faker) [item4@item4-mbp docs]$ echo "1024"
1024
(faker) [item4@item4-mbp docs]$ time make html
sphinx-build -b html -d _build/doctrees   . _build/html
Running Sphinx v1.4.8
loading pickled environment... done
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 61 source files that are out of date
updating environment: 0 added, 61 changed, 0 removed
reading sources... [100%] providers/faker.providers.user_agent
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [100%] providers/faker.providers.user_agent
generating indices... genindex
writing additional pages... search
copying static files... WARNING: html_static_path entry '/Users/item4/Projects/faker/docs/_static' does not exist
done
copying extra files... done
dumping search index in English (code: en) ... done
dumping object inventory... done
build succeeded, 1 warning.

Build finished. The HTML pages are in _build/html.

real    0m46.086s
user    0m43.772s
sys 0m1.479s
```

Does docs really need 1048576 length binary?


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `faker/documentor.py`
Content:
```
1 # coding=utf-8
2 
3 from __future__ import unicode_literals
4 
5 import inspect
6 
7 from faker import utils
8 
9 
10 class Documentor(object):
11 
12     def __init__(self, generator):
13         """
14         :param generator: a localized Generator with providers filled,
15                           for which to write the documentation
16         :type generator: faker.Generator()
17         """
18         self.generator = generator
19         self.max_name_len = 0
20         self.already_generated = []
21 
22     def get_formatters(self, locale=None, excludes=None, **kwargs):
23 
24         self.max_name_len = 0
25         self.already_generated = [] if excludes is None else excludes[:]
26         formatters = []
27         providers = self.generator.get_providers()
28         for provider in providers[::-1]:  # reverse
29             if locale and provider.__lang__ != locale:
30                 continue
31             formatters.append(
32                 (provider, self.get_provider_formatters(provider, **kwargs))
33             )
34         return formatters
35 
36     def get_provider_formatters(self, provider, prefix='fake.',
37                                 with_args=True, with_defaults=True):
38 
39         formatters = {}
40 
41         for name, method in inspect.getmembers(provider, inspect.ismethod):
42 
43             # skip 'private' method and inherited methods
44             if name.startswith('_') or name in self.already_generated:
45                 continue
46 
47             arguments = []
48 
49             if with_args:
50                 # retrieve all parameter
51                 argspec = inspect.getargspec(method)
52 
53                 lst = [x for x in argspec.args if x not in ['self', 'cls']]
54                 for i, arg in enumerate(lst):
55 
56                     if argspec.defaults and with_defaults:
57 
58                         try:
59                             default = argspec.defaults[i]
60                             if utils.is_string(default):
61                                 default = utils.quote(default)
62                             else:
63                                 # TODO check default type
64                                 default = "{0}".format(default)
65 
66                             arg = "{0}={1}".format(arg, default)
67 
68                         except IndexError:
69                             pass
70 
71                     arguments.append(arg)
72                     if with_args == 'first':
73                         break
74 
75                 if with_args != 'first':
76                     if argspec.varargs:
77                         arguments.append('*' + argspec.varargs)
78                     if argspec.keywords:
79                         arguments.append('**' + argspec.keywords)
80 
81             # build fake method signature
82             signature = "{0}{1}({2})".format(prefix,
83                                              name,
84                                              ", ".join(arguments))
85 
86             # make a fake example
87             example = self.generator.format(name)
88 
89             formatters[signature] = example
90 
91             self.max_name_len = max(self.max_name_len, len(signature))
92             self.already_generated.append(name)
93 
94         return formatters
95 
96     @staticmethod
97     def get_provider_name(provider_class):
98         return provider_class.__provider__
99
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/faker/documentor.py b/faker/documentor.py
--- a/faker/documentor.py
+++ b/faker/documentor.py
@@ -39,12 +39,16 @@
         formatters = {}
 
         for name, method in inspect.getmembers(provider, inspect.ismethod):
-
             # skip 'private' method and inherited methods
             if name.startswith('_') or name in self.already_generated:
                 continue
 
             arguments = []
+            faker_args = []
+            faker_kwargs = {}
+
+            if name == 'binary':
+                faker_kwargs['length'] = 1024
 
             if with_args:
                 # retrieve all parameter
@@ -84,7 +88,7 @@
                                              ", ".join(arguments))
 
             # make a fake example
-            example = self.generator.format(name)
+            example = self.generator.format(name, *faker_args, **faker_kwargs)
 
             formatters[signature] = example

{"golden_diff": "diff --git a/faker/documentor.py b/faker/documentor.py\n--- a/faker/documentor.py\n+++ b/faker/documentor.py\n@@ -39,12 +39,16 @@\n         formatters = {}\n \n         for name, method in inspect.getmembers(provider, inspect.ismethod):\n-\n             # skip 'private' method and inherited methods\n             if name.startswith('_') or name in self.already_generated:\n                 continue\n \n             arguments = []\n+            faker_args = []\n+            faker_kwargs = {}\n+\n+            if name == 'binary':\n+                faker_kwargs['length'] = 1024\n \n             if with_args:\n                 # retrieve all parameter\n@@ -84,7 +88,7 @@\n                                              \", \".join(arguments))\n \n             # make a fake example\n-            example = self.generator.format(name)\n+            example = self.generator.format(name, *faker_args, **faker_kwargs)\n \n             formatters[signature] = example\n", "issue": "Decrease binary dummy length\n`fake.binary(length=1048576)` generate too huge binary data but it is useless at docs build time.\n\nI tested two case, 1048576 and 1024.\n\n``` console\n(faker) [item4@item4-mbp docs]$ echo \"1048576\"\n1048576\n(faker) [item4@item4-mbp docs]$ time make html\nsphinx-build -b html -d _build/doctrees   . _build/html\nRunning Sphinx v1.4.8\nloading pickled environment... done\nbuilding [mo]: targets for 0 po files that are out of date\nbuilding [html]: targets for 61 source files that are out of date\nupdating environment: 0 added, 61 changed, 0 removed\nreading sources... [100%] providers/faker.providers.user_agent\nlooking for now-outdated files... none found\npickling environment... done\nchecking consistency... done\npreparing documents... done\nwriting output... [100%] providers/faker.providers.user_agent\ngenerating indices... genindex\nwriting additional pages... search\ncopying static files... WARNING: html_static_path entry '/Users/item4/Projects/faker/docs/_static' does not exist\ndone\ncopying extra files... done\ndumping search index in English (code: en) ... done\ndumping object inventory... done\nbuild succeeded, 1 warning.\n\nBuild finished. The HTML pages are in _build/html.\n\nreal    3m24.875s\nuser    3m3.222s\nsys 0m10.986s\n(faker) [item4@item4-mbp docs]$ echo \"1024\"\n1024\n(faker) [item4@item4-mbp docs]$ time make html\nsphinx-build -b html -d _build/doctrees   . _build/html\nRunning Sphinx v1.4.8\nloading pickled environment... done\nbuilding [mo]: targets for 0 po files that are out of date\nbuilding [html]: targets for 61 source files that are out of date\nupdating environment: 0 added, 61 changed, 0 removed\nreading sources... [100%] providers/faker.providers.user_agent\nlooking for now-outdated files... none found\npickling environment... done\nchecking consistency... done\npreparing documents... done\nwriting output... [100%] providers/faker.providers.user_agent\ngenerating indices... genindex\nwriting additional pages... search\ncopying static files... WARNING: html_static_path entry '/Users/item4/Projects/faker/docs/_static' does not exist\ndone\ncopying extra files... done\ndumping search index in English (code: en) ... done\ndumping object inventory... done\nbuild succeeded, 1 warning.\n\nBuild finished. The HTML pages are in _build/html.\n\nreal    0m46.086s\nuser    0m43.772s\nsys 0m1.479s\n```\n\nDoes docs really need 1048576 length binary?\n\n", "before_files": [{"content": "# coding=utf-8\n\nfrom __future__ import unicode_literals\n\nimport inspect\n\nfrom faker import utils\n\n\nclass Documentor(object):\n\n    def __init__(self, generator):\n        \"\"\"\n        :param generator: a localized Generator with providers filled,\n                          for which to write the documentation\n        :type generator: faker.Generator()\n        \"\"\"\n        self.generator = generator\n        self.max_name_len = 0\n        self.already_generated = []\n\n    def get_formatters(self, locale=None, excludes=None, **kwargs):\n\n        self.max_name_len = 0\n        self.already_generated = [] if excludes is None else excludes[:]\n        formatters = []\n        providers = self.generator.get_providers()\n        for provider in providers[::-1]:  # reverse\n            if locale and provider.__lang__ != locale:\n                continue\n            formatters.append(\n                (provider, self.get_provider_formatters(provider, **kwargs))\n            )\n        return formatters\n\n    def get_provider_formatters(self, provider, prefix='fake.',\n                                with_args=True, with_defaults=True):\n\n        formatters = {}\n\n        for name, method in inspect.getmembers(provider, inspect.ismethod):\n\n            # skip 'private' method and inherited methods\n            if name.startswith('_') or name in self.already_generated:\n                continue\n\n            arguments = []\n\n            if with_args:\n                # retrieve all parameter\n                argspec = inspect.getargspec(method)\n\n                lst = [x for x in argspec.args if x not in ['self', 'cls']]\n                for i, arg in enumerate(lst):\n\n                    if argspec.defaults and with_defaults:\n\n                        try:\n                            default = argspec.defaults[i]\n                            if utils.is_string(default):\n                                default = utils.quote(default)\n                            else:\n                                # TODO check default type\n                                default = \"{0}\".format(default)\n\n                            arg = \"{0}={1}\".format(arg, default)\n\n                        except IndexError:\n                            pass\n\n                    arguments.append(arg)\n                    if with_args == 'first':\n                        break\n\n                if with_args != 'first':\n                    if argspec.varargs:\n                        arguments.append('*' + argspec.varargs)\n                    if argspec.keywords:\n                        arguments.append('**' + argspec.keywords)\n\n            # build fake method signature\n            signature = \"{0}{1}({2})\".format(prefix,\n                                             name,\n                                             \", \".join(arguments))\n\n            # make a fake example\n            example = self.generator.format(name)\n\n            formatters[signature] = example\n\n            self.max_name_len = max(self.max_name_len, len(signature))\n            self.already_generated.append(name)\n\n        return formatters\n\n    @staticmethod\n    def get_provider_name(provider_class):\n        return provider_class.__provider__\n", "path": "faker/documentor.py"}], "after_files": [{"content": "# coding=utf-8\n\nfrom __future__ import unicode_literals\n\nimport inspect\n\nfrom faker import utils\n\n\nclass Documentor(object):\n\n    def __init__(self, generator):\n        \"\"\"\n        :param generator: a localized Generator with providers filled,\n                          for which to write the documentation\n        :type generator: faker.Generator()\n        \"\"\"\n        self.generator = generator\n        self.max_name_len = 0\n        self.already_generated = []\n\n    def get_formatters(self, locale=None, excludes=None, **kwargs):\n\n        self.max_name_len = 0\n        self.already_generated = [] if excludes is None else excludes[:]\n        formatters = []\n        providers = self.generator.get_providers()\n        for provider in providers[::-1]:  # reverse\n            if locale and provider.__lang__ != locale:\n                continue\n            formatters.append(\n                (provider, self.get_provider_formatters(provider, **kwargs))\n            )\n        return formatters\n\n    def get_provider_formatters(self, provider, prefix='fake.',\n                                with_args=True, with_defaults=True):\n\n        formatters = {}\n\n        for name, method in inspect.getmembers(provider, inspect.ismethod):\n            # skip 'private' method and inherited methods\n            if name.startswith('_') or name in self.already_generated:\n                continue\n\n            arguments = []\n            faker_args = []\n            faker_kwargs = {}\n\n            if name == 'binary':\n                faker_kwargs['length'] = 1024\n\n            if with_args:\n                # retrieve all parameter\n                argspec = inspect.getargspec(method)\n\n                lst = [x for x in argspec.args if x not in ['self', 'cls']]\n                for i, arg in enumerate(lst):\n\n                    if argspec.defaults and with_defaults:\n\n                        try:\n                            default = argspec.defaults[i]\n                            if utils.is_string(default):\n                                default = utils.quote(default)\n                            else:\n                                # TODO check default type\n                                default = \"{0}\".format(default)\n\n                            arg = \"{0}={1}\".format(arg, default)\n\n                        except IndexError:\n                            pass\n\n                    arguments.append(arg)\n                    if with_args == 'first':\n                        break\n\n                if with_args != 'first':\n                    if argspec.varargs:\n                        arguments.append('*' + argspec.varargs)\n                    if argspec.keywords:\n                        arguments.append('**' + argspec.keywords)\n\n            # build fake method signature\n            signature = \"{0}{1}({2})\".format(prefix,\n                                             name,\n                                             \", \".join(arguments))\n\n            # make a fake example\n            example = self.generator.format(name, *faker_args, **faker_kwargs)\n\n            formatters[signature] = example\n\n            self.max_name_len = max(self.max_name_len, len(signature))\n            self.already_generated.append(name)\n\n        return formatters\n\n    @staticmethod\n    def get_provider_name(provider_class):\n        return provider_class.__provider__\n", "path": "faker/documentor.py"}]}