Fix for config_dir None bug

This commit is contained in:
Simon Willison 2020-04-26 22:17:48 -07:00 committed by GitHub
commit 161dfbae48
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -194,21 +194,21 @@ class Datasette:
self.add_database(db.name, db) self.add_database(db.name, db)
self.cache_headers = cache_headers self.cache_headers = cache_headers
self.cors = cors self.cors = cors
if (config_dir / "metadata.json").exists() and not metadata: if config_dir and (config_dir / "metadata.json").exists() and not metadata:
metadata = json.load((config_dir / "metadata.json").open()) metadata = json.load((config_dir / "metadata.json").open())
self._metadata = metadata or {} self._metadata = metadata or {}
self.sqlite_functions = [] self.sqlite_functions = []
self.sqlite_extensions = sqlite_extensions or [] self.sqlite_extensions = sqlite_extensions or []
if (config_dir / "templates").is_dir() and not template_dir: if config_dir and (config_dir / "templates").is_dir() and not template_dir:
template_dir = str((config_dir / "templates").resolve()) template_dir = str((config_dir / "templates").resolve())
self.template_dir = template_dir self.template_dir = template_dir
if (config_dir / "plugins").is_dir() and not plugins_dir: if config_dir and (config_dir / "plugins").is_dir() and not plugins_dir:
template_dir = str((config_dir / "plugins").resolve()) template_dir = str((config_dir / "plugins").resolve())
self.plugins_dir = plugins_dir self.plugins_dir = plugins_dir
if (config_dir / "static").is_dir() and not static_mounts: if config_dir and (config_dir / "static").is_dir() and not static_mounts:
static_mounts = [("static", str((config_dir / "static").resolve()))] static_mounts = [("static", str((config_dir / "static").resolve()))]
self.static_mounts = static_mounts or [] self.static_mounts = static_mounts or []
if (config_dir / "config.json").exists() and not config: if config_dir and (config_dir / "config.json").exists() and not config:
config = json.load((config_dir / "config.json").open()) config = json.load((config_dir / "config.json").open())
self._config = dict(DEFAULT_CONFIG, **(config or {})) self._config = dict(DEFAULT_CONFIG, **(config or {}))
self.renderers = {} # File extension -> renderer function self.renderers = {} # File extension -> renderer function