Simon Willison
9315bacf6f
Implemented datasette.permission_allowed(), refs #699
2020-05-31 18:16:42 -07:00
Simon Willison
461c82838d
Implemented actor_from_request with tests, refs #699
...
Also added datasette argument to permission_allowed hook
2020-05-31 18:16:42 -07:00
Simon Willison
012c76901a
_ prefix for many private methods of Datasette, refs #576
2020-05-30 07:38:46 -07:00
Simon Willison
31fb006a9b
Added datasette.get_database() method
...
Refs #576
2020-05-30 07:29:59 -07:00
Simon Willison
7bb30c1f11
request.url now respects force_https_urls, closes #781
2020-05-28 10:10:06 -07:00
Simon Willison
5ab411c733
can_render mechanism for register_output_renderer, closes #770
2020-05-27 22:57:05 -07:00
Simon Willison
52c4387c7d
Redesigned register_output_renderer plugin hook, closes #581
2020-05-27 19:21:41 -07:00
Simon Willison
4433306c18
Improvements + docs for db.execute() and Results class
...
* Including new results.first() and results.single_value() methods. Closes #685
2020-05-08 09:05:46 -07:00
Simon Willison
9424687e9e
Consistently return charset utf-8, closes #752
2020-05-04 10:42:10 -07:00
Simon Willison
cef23e8861
Started pattern portfolio at /-/patterns, refs #151
2020-05-02 20:05:25 -07:00
Simon Willison
1d91ab71d4
Directory configuration mode supports metadata.yaml, closes #747
2020-04-30 11:47:41 -07:00
Simon Willison
25014ca25e
Configuration directory mode, closes #731
2020-04-27 09:30:24 -07:00
Simon Willison
1b7b66c465
Make request available when rendering custom pages, closes #738
2020-04-26 12:01:46 -07:00
Simon Willison
304e7b1d9f
Mechanism for creating custom pages using templates
...
Closes #648
2020-04-26 11:46:43 -07:00
Simon Willison
d55fe8cdfc
Fixed bug with Templates considered comment, closes #689
2020-04-05 12:38:33 -07:00
Simon Willison
e89b0ef2f9
Expose extra_template_vars in _contex=1, refs #693
2020-04-05 11:49:15 -07:00
Simon Willison
2aaad72789
Refactor template setup into Datasette constructor
...
Closes #707
2020-03-26 18:12:43 -07:00
Simon Willison
7656fd64d8
base_url configuration setting, closes #394
...
* base_url configuration setting
* base_url works for static assets as well
2020-03-24 17:18:43 -07:00
Simon Willison
e1b5339fdf
Do not look for templates_path in default plugins
...
Closes #697
2020-03-08 16:11:18 -07:00
Simon Willison
6303ea5048
prepare_connection() now takes datasette and database args, refs #678
2020-02-21 17:32:40 -08:00
Simon Willison
d3f2fade88
Refactored run_sanity_checks to check_connection(conn), refs #674
2020-02-15 09:56:48 -08:00
Simon Willison
3ffb8f3b98
.add_database() and .remove_database() methods, refs #671
...
Also made a start on the Datasette class documentation, refs #576
2020-02-13 17:27:57 -08:00
Simon Willison
70b915fb4b
Datasette.render_template() method, closes #577
...
Pull request #664 .
2020-02-04 12:26:17 -08:00
Simon Willison
d54318fc7f
Added template_debug setting, closes #654
2019-12-22 16:04:45 +00:00
Simon Willison
85c19c4037
Apply black
2019-12-22 15:34:20 +00:00
Simon Willison
d6b6c9171f
Include asyncio task information in /-/threads debug page
2019-12-04 22:47:17 -08:00
Simon Willison
a9909c29cc
Move .execute() from Datasette to Database
...
Refs #569 - I split this change out from #579
2019-11-15 14:52:03 -08:00
Simon Willison
8c642f04e0
Render templates using Jinja async mode
...
Closes #628
2019-11-14 15:14:22 -08:00
Simon Willison
5bc2570121
Include uvicorn version in /-/versions, refs #622
2019-11-11 20:45:12 -08:00
Simon Willison
ed57e4f990
Plugin static assets support both hyphens and underscores in names
...
Closes #611
2019-11-01 15:15:10 -07:00
Tobias Kunze
908fc3999e
Sort databases on homepage by argument order - #591
...
Closes #585 - thanks, @rixx!
2019-10-13 20:52:33 -07:00
Simon Willison
a314b76186
Added /-/threads debugging page
2019-10-02 08:35:25 -07:00
Simon Willison
f04deebec4
Refactored connection logic to database.connect()
2019-07-26 13:22:57 +03:00
Simon Willison
107d47567d
Black
2019-07-03 22:56:13 -07:00
Simon Willison
25ff0a8ba6
Fix for accidentally leaking secrets in /-/metadata, closes #538
2019-07-03 22:47:45 -07:00
Simon Willison
a2d4593193
Secret plugin configuration options ( #539 )
...
Closes #538
2019-07-03 22:36:44 -07:00
Simon Willison
4d2fdafe39
Added asgi_wrapper plugin hook, closes #520
2019-07-02 21:06:25 -07:00
Simon Willison
ba8db9679f
Port Datasette from Sanic to ASGI + Uvicorn ( #518 )
...
Datasette now uses ASGI internally, and no longer depends on Sanic.
It now uses Uvicorn as the underlying HTTP server.
This was thirteen months in the making... for full details see the issue:
https://github.com/simonw/datasette/issues/272
And for a full sequence of commits plus commentary, see the pull request:
https://github.com/simonw/datasette/pull/518
2019-06-23 20:13:09 -07:00
Simon Willison
bd4dbc8519
Rename InterruptedError => QueryInterrupted, closes #490
2019-05-27 17:16:36 -07:00
Simon Willison
6569287d90
Refactored ConnectedDatabase to datasette/database.py
...
Closes #487
2019-05-26 22:07:43 -07:00
Simon Willison
026c84db30
Refactor Datasette methods to ConnectedDatabase
...
Refs #487
2019-05-26 21:56:43 -07:00
Simon Willison
9bd39672de
Better label detection, refs #485
...
This needs unit tests.
2019-05-25 09:14:57 -07:00
Simon Willison
cccea85be6
/-/databases sorts alphabetically
...
Should fix test failure in Python 3.5
2019-05-16 07:56:13 -07:00
Simon Willison
0dad111d24
New introspection endpoint: /-/databases - closes #470
...
Refs #419 and #465
2019-05-16 07:49:34 -07:00
Simon Willison
21b57cdf9a
serve --inspect-file=X now populates cached table counts
...
Closes #462
2019-05-16 07:30:32 -07:00
Simon Willison
909e66dfdb
Removed .inspect() and /-/inspect.json
...
Refs #462
/-/inspect.json may return in some shape in #465
2019-05-16 07:15:24 -07:00
Simon Willison
2ad9d15cd6
Table counts now handles SQL Logic Error too
...
I tried running Datasette against 22 database files at once and ran into
a weird error where the table counts broke with an SQL Logic Error
exception. Easy fix: catch that exception too and treat it the same as a
regular Interrupted error.
2019-05-15 20:55:28 -07:00
Simon Willison
faf33515b2
Sometimes sort tables by number of relationships, closes #460
2019-05-15 20:23:33 -07:00
Simon Willison
24bf79d2f0
Run sanity checks, not .inspect(), on startup
...
Also fixes tests that did NOT like a call to run_until_complete in the Datasette() constructor.
2019-05-11 16:22:55 -07:00
Simon Willison
da0b3ce2b7
New run_sanity_checks mechanism, for SpatiLite
...
Moved VirtualSpatialIndex check into a new mechanism that should allow
us to add further sanity checks in the future.
To test this I've had to commit a binary sample SpatiaLite database to
the repository. I included a build script for creating that database.
Closes #466
2019-05-11 15:55:30 -07:00