.add_database() and .remove_database() methods, refs #671

Also made a start on the Datasette class documentation, refs #576
This commit is contained in:
Simon Willison 2020-02-13 17:25:27 -08:00
commit 3ffb8f3b98
4 changed files with 60 additions and 6 deletions

View file

@ -180,7 +180,7 @@ class Datasette:
db = Database(self, path, is_mutable=is_mutable, is_memory=is_memory)
if db.name in self.databases:
raise Exception("Multiple files with same stem: {}".format(db.name))
self.databases[db.name] = db
self.add_database(db.name, db)
self.cache_headers = cache_headers
self.cors = cors
self._metadata = metadata or {}
@ -210,6 +210,12 @@ class Datasette:
# Plugin already registered
pass
def add_database(self, name, db):
self.databases[name] = db
def remove_database(self, name):
self.databases.pop(name)
async def run_sanity_checks(self):
# Only one check right now, for Spatialite
for database_name, database in self.databases.items():