Monkey patching for original Datasette
"""
- async def table_columns(self, table):
- try:
- return await self.original_table_columns(table)
- except sqlite3.DatabaseError:
- return ConnectorList.table_columns(self.path, table)
-
- Database.original_table_columns = Database.table_columns
- Database.table_columns = table_columns
-
-
- async def primary_keys(self, table):
- try:
- return await self.original_primary_keys(table)
- except sqlite3.DatabaseError:
- return ConnectorList.primary_keys(self.path, table)
-
- Database.original_primary_keys = Database.primary_keys
- Database.primary_keys = primary_keys
-
-
- async def fts_table(self, table):
- try:
- return await self.original_fts_table(table)
- except sqlite3.DatabaseError:
- return ConnectorList.fts_table(self.path, table)
-
- Database.original_fts_table = Database.fts_table
- Database.fts_table = fts_table
-
-
def connect(self, write=False):
try:
# Check if it's a sqlite database