mirror of
https://github.com/simonw/datasette.git
synced 2025-12-10 16:51:24 +01:00
Backport of #2359 for 0.64.x
This commit is contained in:
parent
6c941e30c5
commit
7aa4bf9506
6 changed files with 11 additions and 11 deletions
|
|
@ -342,7 +342,7 @@ class DataView(BaseView):
|
||||||
try:
|
try:
|
||||||
db = self.ds.get_database(route=database_route)
|
db = self.ds.get_database(route=database_route)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
raise NotFound("Database not found: {}".format(database_route))
|
raise NotFound("Database not found")
|
||||||
database = db.name
|
database = db.name
|
||||||
|
|
||||||
_format = request.url_vars["format"]
|
_format = request.url_vars["format"]
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ class DatabaseView(DataView):
|
||||||
try:
|
try:
|
||||||
db = self.ds.get_database(route=database_route)
|
db = self.ds.get_database(route=database_route)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
raise NotFound("Database not found: {}".format(database_route))
|
raise NotFound("Database not found")
|
||||||
database = db.name
|
database = db.name
|
||||||
|
|
||||||
visible, private = await self.ds.check_visibility(
|
visible, private = await self.ds.check_visibility(
|
||||||
|
|
@ -226,7 +226,7 @@ class QueryView(DataView):
|
||||||
try:
|
try:
|
||||||
db = self.ds.get_database(route=database_route)
|
db = self.ds.get_database(route=database_route)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
raise NotFound("Database not found: {}".format(database_route))
|
raise NotFound("Database not found")
|
||||||
database = db.name
|
database = db.name
|
||||||
params = {key: request.args.get(key) for key in request.args}
|
params = {key: request.args.get(key) for key in request.args}
|
||||||
if "sql" in params:
|
if "sql" in params:
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ class RowView(DataView):
|
||||||
try:
|
try:
|
||||||
db = self.ds.get_database(route=database_route)
|
db = self.ds.get_database(route=database_route)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
raise NotFound("Database not found: {}".format(database_route))
|
raise NotFound("Database not found")
|
||||||
database = db.name
|
database = db.name
|
||||||
|
|
||||||
# Ensure user has permission to view this row
|
# Ensure user has permission to view this row
|
||||||
|
|
@ -38,14 +38,14 @@ class RowView(DataView):
|
||||||
try:
|
try:
|
||||||
db = self.ds.get_database(route=database_route)
|
db = self.ds.get_database(route=database_route)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
raise NotFound("Database not found: {}".format(database_route))
|
raise NotFound("Database not found")
|
||||||
database = db.name
|
database = db.name
|
||||||
sql, params, pks = await _sql_params_pks(db, table, pk_values)
|
sql, params, pks = await _sql_params_pks(db, table, pk_values)
|
||||||
results = await db.execute(sql, params, truncate=True)
|
results = await db.execute(sql, params, truncate=True)
|
||||||
columns = [r[0] for r in results.description]
|
columns = [r[0] for r in results.description]
|
||||||
rows = list(results.rows)
|
rows = list(results.rows)
|
||||||
if not rows:
|
if not rows:
|
||||||
raise NotFound(f"Record not found: {pk_values}")
|
raise NotFound(f"Record not found")
|
||||||
|
|
||||||
async def template_data():
|
async def template_data():
|
||||||
display_columns, display_rows = await display_columns_and_rows(
|
display_columns, display_rows = await display_columns_and_rows(
|
||||||
|
|
|
||||||
|
|
@ -96,7 +96,7 @@ class TableView(DataView):
|
||||||
try:
|
try:
|
||||||
db = self.ds.get_database(route=database_route)
|
db = self.ds.get_database(route=database_route)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
raise NotFound("Database not found: {}".format(database_route))
|
raise NotFound("Database not found")
|
||||||
database_name = db.name
|
database_name = db.name
|
||||||
table_name = tilde_decode(request.url_vars["table"])
|
table_name = tilde_decode(request.url_vars["table"])
|
||||||
# Handle POST to a canned query
|
# Handle POST to a canned query
|
||||||
|
|
@ -169,7 +169,7 @@ class TableView(DataView):
|
||||||
try:
|
try:
|
||||||
db = self.ds.get_database(route=database_route)
|
db = self.ds.get_database(route=database_route)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
raise NotFound("Database not found: {}".format(database_route))
|
raise NotFound("Database not found")
|
||||||
database_name = db.name
|
database_name = db.name
|
||||||
|
|
||||||
# We always now run queries sequentially, rather than with asyncio.gather() -
|
# We always now run queries sequentially, rather than with asyncio.gather() -
|
||||||
|
|
@ -204,7 +204,7 @@ class TableView(DataView):
|
||||||
|
|
||||||
# If table or view not found, return 404
|
# If table or view not found, return 404
|
||||||
if not is_view and not table_exists:
|
if not is_view and not table_exists:
|
||||||
raise NotFound(f"Table not found: {table_name}")
|
raise NotFound(f"Table not found")
|
||||||
|
|
||||||
# Ensure user has permission to view this table
|
# Ensure user has permission to view this table
|
||||||
visible, private = await self.ds.check_visibility(
|
visible, private = await self.ds.check_visibility(
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ def test_table_json(app_client):
|
||||||
def test_table_not_exists_json(app_client):
|
def test_table_not_exists_json(app_client):
|
||||||
assert {
|
assert {
|
||||||
"ok": False,
|
"ok": False,
|
||||||
"error": "Table not found: blah",
|
"error": "Table not found",
|
||||||
"status": 404,
|
"status": 404,
|
||||||
"title": None,
|
"title": None,
|
||||||
} == app_client.get("/fixtures/blah.json").json
|
} == app_client.get("/fixtures/blah.json").json
|
||||||
|
|
|
||||||
|
|
@ -520,7 +520,7 @@ def test_csv_json_export_links_include_labels_if_foreign_keys(app_client):
|
||||||
|
|
||||||
|
|
||||||
def test_table_not_exists(app_client):
|
def test_table_not_exists(app_client):
|
||||||
assert "Table not found: blah" in app_client.get("/fixtures/blah").text
|
assert "Table not found" in app_client.get("/fixtures/blah").text
|
||||||
|
|
||||||
|
|
||||||
def test_table_html_no_primary_key(app_client):
|
def test_table_html_no_primary_key(app_client):
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue