We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
installation crashes when there are no config files
## Current Behavior
```
$ cd pretalx
$ pip-3.6 install . --user
(...)
      File "<frozen importlib._bootstrap>", line 994, in _gcd_import
      File "<frozen importlib._bootstrap>", line 971, in _find_and_load
      File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 678, in exec_module
      File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
      File "/tmp/pip-xa87l9tk-build/pretalx/settings.py", line 460, in <module>
        plugins=PLUGINS
      File "/tmp/pip-xa87l9tk-build/pretalx/common/settings/utils.py", line 11, in log_initial
        (f'Read from: {", ".join(config_files)}', False),
    TypeError: can only join an iterable
```

if there are no config files at all, the installation crashes, because `config_files` is `None`.

## Your Environment

* Version used: master
* Operating System and version (desktop or mobile): FreeBSD


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `src/pretalx/common/settings/config.py`
Content:
```
1 import configparser
2 import os
3 import sys
4 
5 from pretalx.common.settings.utils import reduce_dict
6 
7 CONFIG = {
8     'filesystem': {
9         'base': {
10             'default': os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__)))),
11         },
12         'logs': {
13             'default': None,
14             'env': os.getenv('PRETALX_FILESYSTEM_LOGS'),
15         },
16         'media': {
17             'default': None,
18             'env': os.getenv('PRETALX_FILESYSTEM_MEDIA'),
19         },
20         'static': {
21             'default': None,
22             'env': os.getenv('PRETALX_FILESYSTEM_STATIC'),
23         },
24     },
25     'site': {
26         'debug': {
27             'default': 'runserver' in sys.argv,
28             'env': os.getenv('PRETALX_DEBUG'),
29         },
30         'url': {
31             'default': 'http://localhost',
32             'env': os.getenv('PRETALX_SITE_URL'),
33         },
34         'https': {
35             'env': os.getenv('PRETALX_HTTPS'),
36         },
37         'cookie_domain': {
38             'default': '',
39             'env': os.getenv('PRETALX_COOKIE_DOMAIN'),
40         },
41     },
42     'database': {
43         'backend': {
44             'default': 'sqlite3',
45             'env': os.getenv('PRETALX_DB_TYPE'),
46         },
47         'name': {
48             'env': os.getenv('PRETALX_DB_NAME'),
49         },
50         'user': {
51             'default': '',
52             'env': os.getenv('PRETALX_DB_USER'),
53         },
54         'password': {
55             'default': '',
56             'env': os.getenv('PRETALX_DB_PASS'),
57         },
58         'host': {
59             'default': '',
60             'env': os.getenv('PRETALX_DB_HOST'),
61         },
62         'port': {
63             'default': '',
64             'env': os.getenv('PRETALX_DB_PORT'),
65         },
66     },
67     'mail': {
68         'from': {
69             'default': 'admin@localhost',
70             'env': os.getenv('PRETALX_MAIL_FROM'),
71         },
72         'host': {
73             'default': 'localhost',
74             'env': os.getenv('PRETALX_MAIL_HOST'),
75         },
76         'port': {
77             'default': '25',
78             'env': os.getenv('PRETALX_MAIL_PORT'),
79         },
80         'user': {
81             'default': '',
82             'env': os.getenv('PRETALX_MAIL_USER'),
83         },
84         'password': {
85             'default': '',
86             'env': os.getenv('PRETALX_MAIL_PASSWORD'),
87         },
88         'tls': {
89             'default': 'False',
90             'env': os.getenv('PRETALX_MAIL_TLS'),
91         },
92         'ssl': {
93             'default': 'False',
94             'env': os.getenv('PRETALX_MAIL_SSL'),
95         },
96     },
97     'cache': {
98     },
99     'celery': {
100         'broker': {
101             'default': '',
102             'env': os.getenv('PRETALX_CELERY_BROKER'),
103         },
104         'backend': {
105             'default': '',
106             'env': os.getenv('PRETALX_CELERY_BACKEND'),
107         },
108     },
109     'logging': {
110         'email': {
111             'default': '',
112             'env': os.getenv('PRETALX_LOGGING_EMAIL'),
113         },
114         'email_level': {
115             'default': '',
116             'env': os.getenv('PRETALX_LOGGING_EMAIL_LEVEL'),
117         },
118     },
119 }
120 
121 
122 def read_config_files(config):
123     if 'PRETALX_CONFIG_FILE' in os.environ:
124         config_files = config.read_file(open(os.environ.get('PRETALX_CONFIG_FILE'), encoding='utf-8'))
125     else:
126         config_files = config.read([
127             '/etc/pretalx/pretalx.cfg',
128             os.path.expanduser('~/.pretalx.cfg'),
129             'pretalx.cfg',
130         ], encoding='utf-8')
131     return config, config_files
132 
133 
134 def read_layer(layer_name, config):
135     config_dict = reduce_dict({
136         section_name: {
137             key: value.get(layer_name)
138             for key, value in section_content.items()
139         }
140         for section_name, section_content in CONFIG.items()
141     })
142     config.read_dict(config_dict)
143     return config
144 
145 
146 def build_config():
147     config = configparser.RawConfigParser()
148     config = read_layer('default', config)
149     config, config_files = read_config_files(config)
150     config = read_layer('env', config)
151     return config, config_files
152
```
--- 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/src/pretalx/common/settings/config.py b/src/pretalx/common/settings/config.py
--- a/src/pretalx/common/settings/config.py
+++ b/src/pretalx/common/settings/config.py
@@ -128,7 +128,7 @@
             os.path.expanduser('~/.pretalx.cfg'),
             'pretalx.cfg',
         ], encoding='utf-8')
-    return config, config_files
+    return config, config_files or []  # .read() returns None, if there are no config files
 
 
 def read_layer(layer_name, config):

{"golden_diff": "diff --git a/src/pretalx/common/settings/config.py b/src/pretalx/common/settings/config.py\n--- a/src/pretalx/common/settings/config.py\n+++ b/src/pretalx/common/settings/config.py\n@@ -128,7 +128,7 @@\n             os.path.expanduser('~/.pretalx.cfg'),\n             'pretalx.cfg',\n         ], encoding='utf-8')\n-    return config, config_files\n+    return config, config_files or []  # .read() returns None, if there are no config files\n \n \n def read_layer(layer_name, config):\n", "issue": "installation crashes when there are no config files\n## Current Behavior\r\n```\r\n$ cd pretalx\r\n$ pip-3.6 install . --user\r\n(...)\r\n      File \"<frozen importlib._bootstrap>\", line 994, in _gcd_import\r\n      File \"<frozen importlib._bootstrap>\", line 971, in _find_and_load\r\n      File \"<frozen importlib._bootstrap>\", line 955, in _find_and_load_unlocked\r\n      File \"<frozen importlib._bootstrap>\", line 665, in _load_unlocked\r\n      File \"<frozen importlib._bootstrap_external>\", line 678, in exec_module\r\n      File \"<frozen importlib._bootstrap>\", line 219, in _call_with_frames_removed\r\n      File \"/tmp/pip-xa87l9tk-build/pretalx/settings.py\", line 460, in <module>\r\n        plugins=PLUGINS\r\n      File \"/tmp/pip-xa87l9tk-build/pretalx/common/settings/utils.py\", line 11, in log_initial\r\n        (f'Read from: {\", \".join(config_files)}', False),\r\n    TypeError: can only join an iterable\r\n```\r\n\r\nif there are no config files at all, the installation crashes, because `config_files` is `None`.\r\n\r\n## Your Environment\r\n\r\n* Version used: master\r\n* Operating System and version (desktop or mobile): FreeBSD\r\n\n", "before_files": [{"content": "import configparser\nimport os\nimport sys\n\nfrom pretalx.common.settings.utils import reduce_dict\n\nCONFIG = {\n    'filesystem': {\n        'base': {\n            'default': os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__)))),\n        },\n        'logs': {\n            'default': None,\n            'env': os.getenv('PRETALX_FILESYSTEM_LOGS'),\n        },\n        'media': {\n            'default': None,\n            'env': os.getenv('PRETALX_FILESYSTEM_MEDIA'),\n        },\n        'static': {\n            'default': None,\n            'env': os.getenv('PRETALX_FILESYSTEM_STATIC'),\n        },\n    },\n    'site': {\n        'debug': {\n            'default': 'runserver' in sys.argv,\n            'env': os.getenv('PRETALX_DEBUG'),\n        },\n        'url': {\n            'default': 'http://localhost',\n            'env': os.getenv('PRETALX_SITE_URL'),\n        },\n        'https': {\n            'env': os.getenv('PRETALX_HTTPS'),\n        },\n        'cookie_domain': {\n            'default': '',\n            'env': os.getenv('PRETALX_COOKIE_DOMAIN'),\n        },\n    },\n    'database': {\n        'backend': {\n            'default': 'sqlite3',\n            'env': os.getenv('PRETALX_DB_TYPE'),\n        },\n        'name': {\n            'env': os.getenv('PRETALX_DB_NAME'),\n        },\n        'user': {\n            'default': '',\n            'env': os.getenv('PRETALX_DB_USER'),\n        },\n        'password': {\n            'default': '',\n            'env': os.getenv('PRETALX_DB_PASS'),\n        },\n        'host': {\n            'default': '',\n            'env': os.getenv('PRETALX_DB_HOST'),\n        },\n        'port': {\n            'default': '',\n            'env': os.getenv('PRETALX_DB_PORT'),\n        },\n    },\n    'mail': {\n        'from': {\n            'default': 'admin@localhost',\n            'env': os.getenv('PRETALX_MAIL_FROM'),\n        },\n        'host': {\n            'default': 'localhost',\n            'env': os.getenv('PRETALX_MAIL_HOST'),\n        },\n        'port': {\n            'default': '25',\n            'env': os.getenv('PRETALX_MAIL_PORT'),\n        },\n        'user': {\n            'default': '',\n            'env': os.getenv('PRETALX_MAIL_USER'),\n        },\n        'password': {\n            'default': '',\n            'env': os.getenv('PRETALX_MAIL_PASSWORD'),\n        },\n        'tls': {\n            'default': 'False',\n            'env': os.getenv('PRETALX_MAIL_TLS'),\n        },\n        'ssl': {\n            'default': 'False',\n            'env': os.getenv('PRETALX_MAIL_SSL'),\n        },\n    },\n    'cache': {\n    },\n    'celery': {\n        'broker': {\n            'default': '',\n            'env': os.getenv('PRETALX_CELERY_BROKER'),\n        },\n        'backend': {\n            'default': '',\n            'env': os.getenv('PRETALX_CELERY_BACKEND'),\n        },\n    },\n    'logging': {\n        'email': {\n            'default': '',\n            'env': os.getenv('PRETALX_LOGGING_EMAIL'),\n        },\n        'email_level': {\n            'default': '',\n            'env': os.getenv('PRETALX_LOGGING_EMAIL_LEVEL'),\n        },\n    },\n}\n\n\ndef read_config_files(config):\n    if 'PRETALX_CONFIG_FILE' in os.environ:\n        config_files = config.read_file(open(os.environ.get('PRETALX_CONFIG_FILE'), encoding='utf-8'))\n    else:\n        config_files = config.read([\n            '/etc/pretalx/pretalx.cfg',\n            os.path.expanduser('~/.pretalx.cfg'),\n            'pretalx.cfg',\n        ], encoding='utf-8')\n    return config, config_files\n\n\ndef read_layer(layer_name, config):\n    config_dict = reduce_dict({\n        section_name: {\n            key: value.get(layer_name)\n            for key, value in section_content.items()\n        }\n        for section_name, section_content in CONFIG.items()\n    })\n    config.read_dict(config_dict)\n    return config\n\n\ndef build_config():\n    config = configparser.RawConfigParser()\n    config = read_layer('default', config)\n    config, config_files = read_config_files(config)\n    config = read_layer('env', config)\n    return config, config_files\n", "path": "src/pretalx/common/settings/config.py"}], "after_files": [{"content": "import configparser\nimport os\nimport sys\n\nfrom pretalx.common.settings.utils import reduce_dict\n\nCONFIG = {\n    'filesystem': {\n        'base': {\n            'default': os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__)))),\n        },\n        'logs': {\n            'default': None,\n            'env': os.getenv('PRETALX_FILESYSTEM_LOGS'),\n        },\n        'media': {\n            'default': None,\n            'env': os.getenv('PRETALX_FILESYSTEM_MEDIA'),\n        },\n        'static': {\n            'default': None,\n            'env': os.getenv('PRETALX_FILESYSTEM_STATIC'),\n        },\n    },\n    'site': {\n        'debug': {\n            'default': 'runserver' in sys.argv,\n            'env': os.getenv('PRETALX_DEBUG'),\n        },\n        'url': {\n            'default': 'http://localhost',\n            'env': os.getenv('PRETALX_SITE_URL'),\n        },\n        'https': {\n            'env': os.getenv('PRETALX_HTTPS'),\n        },\n        'cookie_domain': {\n            'default': '',\n            'env': os.getenv('PRETALX_COOKIE_DOMAIN'),\n        },\n    },\n    'database': {\n        'backend': {\n            'default': 'sqlite3',\n            'env': os.getenv('PRETALX_DB_TYPE'),\n        },\n        'name': {\n            'env': os.getenv('PRETALX_DB_NAME'),\n        },\n        'user': {\n            'default': '',\n            'env': os.getenv('PRETALX_DB_USER'),\n        },\n        'password': {\n            'default': '',\n            'env': os.getenv('PRETALX_DB_PASS'),\n        },\n        'host': {\n            'default': '',\n            'env': os.getenv('PRETALX_DB_HOST'),\n        },\n        'port': {\n            'default': '',\n            'env': os.getenv('PRETALX_DB_PORT'),\n        },\n    },\n    'mail': {\n        'from': {\n            'default': 'admin@localhost',\n            'env': os.getenv('PRETALX_MAIL_FROM'),\n        },\n        'host': {\n            'default': 'localhost',\n            'env': os.getenv('PRETALX_MAIL_HOST'),\n        },\n        'port': {\n            'default': '25',\n            'env': os.getenv('PRETALX_MAIL_PORT'),\n        },\n        'user': {\n            'default': '',\n            'env': os.getenv('PRETALX_MAIL_USER'),\n        },\n        'password': {\n            'default': '',\n            'env': os.getenv('PRETALX_MAIL_PASSWORD'),\n        },\n        'tls': {\n            'default': 'False',\n            'env': os.getenv('PRETALX_MAIL_TLS'),\n        },\n        'ssl': {\n            'default': 'False',\n            'env': os.getenv('PRETALX_MAIL_SSL'),\n        },\n    },\n    'cache': {\n    },\n    'celery': {\n        'broker': {\n            'default': '',\n            'env': os.getenv('PRETALX_CELERY_BROKER'),\n        },\n        'backend': {\n            'default': '',\n            'env': os.getenv('PRETALX_CELERY_BACKEND'),\n        },\n    },\n    'logging': {\n        'email': {\n            'default': '',\n            'env': os.getenv('PRETALX_LOGGING_EMAIL'),\n        },\n        'email_level': {\n            'default': '',\n            'env': os.getenv('PRETALX_LOGGING_EMAIL_LEVEL'),\n        },\n    },\n}\n\n\ndef read_config_files(config):\n    if 'PRETALX_CONFIG_FILE' in os.environ:\n        config_files = config.read_file(open(os.environ.get('PRETALX_CONFIG_FILE'), encoding='utf-8'))\n    else:\n        config_files = config.read([\n            '/etc/pretalx/pretalx.cfg',\n            os.path.expanduser('~/.pretalx.cfg'),\n            'pretalx.cfg',\n        ], encoding='utf-8')\n    return config, config_files or []  # .read() returns None, if there are no config files\n\n\ndef read_layer(layer_name, config):\n    config_dict = reduce_dict({\n        section_name: {\n            key: value.get(layer_name)\n            for key, value in section_content.items()\n        }\n        for section_name, section_content in CONFIG.items()\n    })\n    config.read_dict(config_dict)\n    return config\n\n\ndef build_config():\n    config = configparser.RawConfigParser()\n    config = read_layer('default', config)\n    config, config_files = read_config_files(config)\n    config = read_layer('env', config)\n    return config, config_files\n", "path": "src/pretalx/common/settings/config.py"}]}