Ran black source formatting tool against new views/ and app.py

This commit is contained in:
Simon Willison 2018-05-13 09:55:15 -03:00 committed by Simon Willison
commit 3686385551
5 changed files with 737 additions and 627 deletions

View file

@ -1,45 +1,47 @@
from .base import BaseView
from datasette.utils import (
validate_sql_select,
to_css_class,
)
from datasette.utils import validate_sql_select, to_css_class
from sanic import response
import os
class DatabaseView(BaseView):
async def data(self, request, name, hash):
if request.args.get('sql'):
sql = request.raw_args.pop('sql')
if request.args.get("sql"):
sql = request.raw_args.pop("sql")
validate_sql_select(sql)
return await self.custom_sql(request, name, hash, sql)
info = self.ds.inspect()[name]
metadata = self.ds.metadata.get('databases', {}).get(name, {})
metadata = self.ds.metadata.get("databases", {}).get(name, {})
self.ds.update_with_inherited_metadata(metadata)
tables = list(info['tables'].values())
tables.sort(key=lambda t: (t['hidden'], t['name']))
tables = list(info["tables"].values())
tables.sort(key=lambda t: (t["hidden"], t["name"]))
return {
'database': name,
'tables': tables,
'hidden_count': len([t for t in tables if t['hidden']]),
'views': info['views'],
'queries': [{
'name': query_name,
'sql': query_sql,
} for query_name, query_sql in (metadata.get('queries') or {}).items()],
"database": name,
"tables": tables,
"hidden_count": len([t for t in tables if t["hidden"]]),
"views": info["views"],
"queries": [
{"name": query_name, "sql": query_sql}
for query_name, query_sql in (metadata.get("queries") or {}).items()
],
}, {
'database_hash': hash,
'show_hidden': request.args.get('_show_hidden'),
'editable': True,
'metadata': metadata,
}, ('database-{}.html'.format(to_css_class(name)), 'database.html')
"database_hash": hash,
"show_hidden": request.args.get("_show_hidden"),
"editable": True,
"metadata": metadata,
}, (
"database-{}.html".format(to_css_class(name)), "database.html"
)
class DatabaseDownload(BaseView):
async def view_get(self, request, name, hash, **kwargs):
filepath = self.ds.inspect()[name]['file']
filepath = self.ds.inspect()[name]["file"]
return await response.file_stream(
filepath,
filename=os.path.basename(filepath),
mime_type='application/octet-stream',
mime_type="application/octet-stream",
)