datasette.urls.table(..., format="json"), closes #1035

Also improved tests for datasette.urls and added format= to some other methods
This commit is contained in:
Simon Willison 2020-10-31 11:16:28 -07:00
commit 11eb1e026f
7 changed files with 92 additions and 40 deletions

View file

@ -333,8 +333,8 @@ class DataView(BaseView):
cell = self.ds.absolute_url(
request,
path_with_format(
request,
"blob",
request=request,
format="blob",
extra_qs={
"_blob_column": column,
"_blob_hash": hashlib.sha256(
@ -535,11 +535,13 @@ class DataView(BaseView):
it_can_render = await await_me_maybe(it_can_render)
if it_can_render:
renderers[key] = path_with_format(
request, key, {**url_labels_extra}
request=request, format=key, extra_qs={**url_labels_extra}
)
url_csv_args = {"_size": "max", **url_labels_extra}
url_csv = path_with_format(request, "csv", url_csv_args)
url_csv = path_with_format(
request=request, format="csv", extra_qs=url_csv_args
)
url_csv_path = url_csv.split("?")[0]
context = {
**data,

View file

@ -346,8 +346,8 @@ class QueryView(DataView):
)
elif isinstance(display_value, bytes):
blob_url = path_with_format(
request,
"blob",
request=request,
format="blob",
extra_qs={
"_blob_column": column,
"_blob_hash": hashlib.sha256(