datasette.table_metadata() is now await datasette.table_config(), refs #2247

pull/2257/head
Simon Willison 2024-02-06 17:33:18 -08:00
rodzic 69c6e95323
commit f049103852
5 zmienionych plików z 7 dodań i 7 usunięć

Wyświetl plik

@ -1202,7 +1202,7 @@ class Datasette:
def _actor(self, request): def _actor(self, request):
return {"actor": request.actor} return {"actor": request.actor}
def table_metadata(self, database, table): async def table_config(self, database, table):
"""Fetch table-specific metadata.""" """Fetch table-specific metadata."""
return ( return (
(self.metadata("databases") or {}) (self.metadata("databases") or {})

Wyświetl plik

@ -418,7 +418,7 @@ class Database:
return await self.execute_fn(lambda conn: detect_fts(conn, table)) return await self.execute_fn(lambda conn: detect_fts(conn, table))
async def label_column_for_table(self, table): async def label_column_for_table(self, table):
explicit_label_column = self.ds.table_metadata(self.name, table).get( explicit_label_column = (await self.ds.table_config(self.name, table)).get(
"label_column" "label_column"
) )
if explicit_label_column: if explicit_label_column:

Wyświetl plik

@ -50,7 +50,7 @@ def search_filters(request, database, table, datasette):
extra_context = {} extra_context = {}
# Figure out which fts_table to use # Figure out which fts_table to use
table_metadata = datasette.table_metadata(database, table) table_metadata = await datasette.table_config(database, table)
db = datasette.get_database(database) db = datasette.get_database(database)
fts_table = request.args.get("_fts_table") fts_table = request.args.get("_fts_table")
fts_table = fts_table or table_metadata.get("fts_table") fts_table = fts_table or table_metadata.get("fts_table")

Wyświetl plik

@ -89,7 +89,7 @@ class RowView(DataView):
"columns": columns, "columns": columns,
"primary_keys": resolved.pks, "primary_keys": resolved.pks,
"primary_key_values": pk_values, "primary_key_values": pk_values,
"units": self.ds.table_metadata(database, table).get("units", {}), "units": (await self.ds.table_config(database, table)).get("units", {}),
} }
if "foreign_key_tables" in (request.args.get("_extras") or "").split(","): if "foreign_key_tables" in (request.args.get("_extras") or "").split(","):

Wyświetl plik

@ -142,7 +142,7 @@ async def display_columns_and_rows(
"""Returns columns, rows for specified table - including fancy foreign key treatment""" """Returns columns, rows for specified table - including fancy foreign key treatment"""
sortable_columns = sortable_columns or set() sortable_columns = sortable_columns or set()
db = datasette.databases[database_name] db = datasette.databases[database_name]
table_metadata = datasette.table_metadata(database_name, table_name) table_metadata = await datasette.table_config(database_name, table_name)
column_descriptions = table_metadata.get("columns") or {} column_descriptions = table_metadata.get("columns") or {}
column_details = { column_details = {
col.name: col for col in await db.table_column_details(table_name) col.name: col for col in await db.table_column_details(table_name)
@ -663,7 +663,7 @@ async def _columns_to_select(table_columns, pks, request):
async def _sortable_columns_for_table(datasette, database_name, table_name, use_rowid): async def _sortable_columns_for_table(datasette, database_name, table_name, use_rowid):
db = datasette.databases[database_name] db = datasette.databases[database_name]
table_metadata = datasette.table_metadata(database_name, table_name) table_metadata = await datasette.table_config(database_name, table_name)
if "sortable_columns" in table_metadata: if "sortable_columns" in table_metadata:
sortable_columns = set(table_metadata["sortable_columns"]) sortable_columns = set(table_metadata["sortable_columns"])
else: else:
@ -962,7 +962,7 @@ async def table_view_data(
nocount = True nocount = True
nofacet = True nofacet = True
table_metadata = datasette.table_metadata(database_name, table_name) table_metadata = await datasette.table_config(database_name, table_name)
units = table_metadata.get("units", {}) units = table_metadata.get("units", {})
# Arguments that start with _ and don't contain a __ are # Arguments that start with _ and don't contain a __ are