Remove dead weight from the extras machinery

- TableExtraContext.next_value, RowExtraContext.resolved and
  QueryExtraContext.stored_query/stored_query_write/error had no
  readers - drop the fields and the arguments that populated them
- Extra.documentation() and the stable classvar were unused parallel
  descriptions of what the docs generator reads directly
- ExtraRegistry.resolve no longer carries an always-true membership
  guard (resolve_multi returns every requested registered name)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Simon Willison 2026-06-10 22:55:28 -07:00
commit a1b6a6976d
5 changed files with 1 additions and 28 deletions

View file

@ -50,7 +50,6 @@ class Extra(Provider):
example: ClassVar[ExtraExample | None] = None
examples: ClassVar[dict[ExtraScope, ExtraExample | list[ExtraExample]]] = {}
public: ClassVar[bool] = True
stable: ClassVar[bool] = True
expensive: ClassVar[bool] = False
docs_note: ClassVar[str | None] = None
@ -58,20 +57,6 @@ class Extra(Provider):
def example_for_scope(cls, scope):
return cls.examples.get(scope, cls.example)
@classmethod
def documentation(cls):
return {
"name": cls.key(),
"description": cls.description,
"scopes": [
scope.value for scope in sorted(cls.scopes, key=lambda s: s.value)
],
"stable": cls.stable,
"expensive": cls.expensive,
"docs_note": cls.docs_note,
"example": cls.example,
}
class ExtraRegistry:
def __init__(self, classes):
@ -106,9 +91,7 @@ class ExtraRegistry:
}
requested_names = [name for name in requested if name in allowed_names]
resolved = await registry.resolve_multi(requested_names)
return {
name: resolved[name] for name in requested_names if name in resolved
}
return {name: resolved[name] for name in requested_names}
def _camel_to_snake(name):

View file

@ -733,9 +733,6 @@ class QueryView(View):
sql=sql,
params=named_parameter_values,
query_name=stored_query.name if stored_query else None,
stored_query=stored_query,
stored_query_write=stored_query_write,
error=query_error,
metadata=await query_metadata(),
extras=extras,
extra_registry=table_extra_registry,

View file

@ -172,7 +172,6 @@ class RowView(DataView):
row_extra_context = RowExtraContext(
datasette=self.ds,
request=request,
resolved=resolved,
db=db,
database_name=database,
table_name=table,

View file

@ -1497,7 +1497,6 @@ async def table_view_data(
nofacet=nofacet,
nosuggest=nosuggest,
next_arg=request.args.get("_next"),
next_value=next_value,
next_url=next_url,
sql=sql,
sql_no_order_no_limit=sql_no_order_no_limit,

View file

@ -37,7 +37,6 @@ class TableExtraContext:
nofacet: object
nosuggest: object
next_arg: object
next_value: object
next_url: str | None
sql: str
sql_no_order_no_limit: str
@ -60,7 +59,6 @@ class TableExtraContext:
class RowExtraContext:
datasette: object
request: object
resolved: object
db: object
database_name: str
table_name: str
@ -90,9 +88,6 @@ class QueryExtraContext:
sql: str | None
params: dict
query_name: str | None
stored_query: object
stored_query_write: bool
error: str | None
metadata: dict
extras: set
extra_registry: ExtraRegistry