Cleaned up view constructors to accept just a datasette instance

This commit is contained in:
Simon Willison 2018-06-30 09:51:57 -05:00
commit 71b46fd9f5
No known key found for this signature in database
GPG key ID: 17E2DEA2588B7F52
4 changed files with 5 additions and 14 deletions

View file

@ -42,7 +42,7 @@ class DatasetteError(Exception):
class RenderMixin(HTTPMethodView):
def render(self, templates, **context):
template = self.jinja_env.select_template(templates)
template = self.ds.jinja_env.select_template(templates)
select_templates = [
"{}{}".format("*" if template_name == template.name else "", template_name)
for template_name in templates
@ -66,11 +66,6 @@ class BaseView(RenderMixin):
def __init__(self, datasette):
self.ds = datasette
self.files = datasette.files
self.jinja_env = datasette.jinja_env
self.executor = datasette.executor
self.page_size = datasette.page_size
self.max_returned_rows = datasette.max_returned_rows
def table_metadata(self, database, table):
"Fetch table-specific metadata."

View file

@ -12,9 +12,6 @@ class IndexView(RenderMixin):
def __init__(self, datasette):
self.ds = datasette
self.files = datasette.files
self.jinja_env = datasette.jinja_env
self.executor = datasette.executor
async def get(self, request, as_format):
databases = []

View file

@ -6,7 +6,6 @@ from .base import RenderMixin
class JsonDataView(RenderMixin):
def __init__(self, datasette, filename, data_callback):
self.ds = datasette
self.jinja_env = datasette.jinja_env
self.filename = filename
self.data_callback = data_callback

View file

@ -466,7 +466,7 @@ class TableView(RowTableShared):
page_size = _size or request.raw_args.get("_size")
if page_size:
if page_size == "max":
page_size = self.max_returned_rows
page_size = self.ds.max_returned_rows
try:
page_size = int(page_size)
if page_size < 0:
@ -475,14 +475,14 @@ class TableView(RowTableShared):
except ValueError:
raise DatasetteError("_size must be a positive integer", status=400)
if page_size > self.max_returned_rows:
if page_size > self.ds.max_returned_rows:
raise DatasetteError(
"_size must be <= {}".format(self.max_returned_rows), status=400
"_size must be <= {}".format(self.ds.max_returned_rows), status=400
)
extra_args["page_size"] = page_size
else:
page_size = self.page_size
page_size = self.ds.page_size
sql = "select {select} from {table_name} {where}{order_by}limit {limit}{offset}".format(
select=select,