Commit graph

794 commits

Author SHA1 Message Date
Abdus
82889507ca Fix static mounts using relative paths and prevent traversal exploits (#554)
Thanks, @abdusco! Closes #555
2019-11-10 19:15:13 -08:00
Abdus
302c1df25d Add support for running datasette as a module (#556)
python -m datasette

Thanks, @abdusco
2019-11-10 19:15:13 -08:00
Simon Willison
66a0548b4c News: Datasette 0.29, datasette-auth-github, datasette-cors 2019-11-10 19:15:13 -08:00
Simon Willison
750c031599 Changelog for 0.29 release 2019-11-10 19:15:13 -08:00
Simon Willison
473c53bf2c --plugin-secret option for datasette publish
Closes #543

Also added new --show-files option to publish now and publish cloudrun - handy for debugging.
2019-11-10 19:15:13 -08:00
Simon Willison
ae0f2ed331 Added datasette-auth-github and datasette-cors plugins to Ecosystem
Closes #548
2019-11-10 19:15:13 -08:00
Simon Willison
12e4661094 Removed facet-by-m2m from docs, refs #550
Will bring this back in #551
2019-11-10 19:15:13 -08:00
Simon Willison
04e7fb6c9a Removed ManyToManyFacet for the moment, closes #550 2019-11-10 19:15:13 -08:00
Simon Willison
a491bd8553 Updated custom facet docs, closes #482 2019-11-10 19:15:13 -08:00
Simon Willison
322872c050 Fix nav display on 500 page, closes #545 2019-11-10 19:15:13 -08:00
Simon Willison
744d046403 white-space: pre-wrap for table SQL, closes #505 2019-11-10 19:15:13 -08:00
Simon Willison
2a5c42f6db min-height on .hd
Now it should be the same size on the homepage as it is on pages with breadcrumbs
2019-11-10 19:15:13 -08:00
Katie McLaughlin
da9be66c7b Split pypi and docker travis tasks (#480)
Thanks @glasnt!
2019-11-10 19:15:13 -08:00
Simon Willison
42d6877784 extra_template_vars plugin hook (#542)
* extra_template_vars plugin hook

Closes #541

* Workaround for cwd bug

Based on https://github.com/pytest-dev/pytest/issues/1235#issuecomment-175295691
2019-11-10 19:15:13 -08:00
Simon Willison
859c79f115 Refactor templates for better top nav customization, refs #540 2019-11-10 19:15:13 -08:00
Simon Willison
8abc813196 Better robustness in face of missing raw_path 2019-11-10 19:15:13 -08:00
Simon Willison
a81312c043 Black 2019-11-10 19:15:13 -08:00
Simon Willison
ac0a18dbb2 Fix for accidentally leaking secrets in /-/metadata, closes #538 2019-11-10 19:15:13 -08:00
Simon Willison
ec758527b6 Secret plugin configuration options (#539)
Closes #538
2019-11-10 19:15:13 -08:00
Simon Willison
dea9f94742 Switch to ~= dependencies, closes #532 (#536)
* Switch to ~= dependencies, closes #532
* Bump click and click-default-group
* imp. is deprecated, use types.ModuleType instead - thanks https://stackoverflow.com/a/32175781
* Upgrade to pytest 5
2019-11-10 19:15:13 -08:00
Simon Willison
a253173008 Added asgi_wrapper plugin hook, closes #520 2019-11-10 19:15:13 -08:00
Simon Willison
16f0ef9054 Updated custom template docs, refs #521 2019-11-10 19:15:13 -08:00
Simon Willison
986919aa03 Unit test for _table custom template, refs #521 2019-11-10 19:15:13 -08:00
Simon Willison
55637ef994 Rename _rows_and_columns.html to _table.html, refs #521 2019-11-10 19:15:13 -08:00
Simon Willison
7d3783fda1 Default to raw value, use Row.display(key) for display, refs #521 2019-11-10 19:15:13 -08:00
Simon Willison
454c4dc770 New experimental Row() for templates, refs #521 2019-11-10 19:15:13 -08:00
Simon Willison
2c94fdcdbd Typo 2019-11-10 19:15:13 -08:00
Simon Willison
a7befda136 pip install -e .[docs] for docs dependencies 2019-11-10 19:15:13 -08:00
Simon Willison
8b11788231 Better coverage of sqlite-utils in FTS docs, closes #525 2019-11-10 19:15:13 -08:00
Simon Willison
8e25aaa6f3 Porting Datasette to ASGI, and Turtles all the way down 2019-11-10 19:15:13 -08:00
Simon Willison
2f4def62e0 Added datasette-doublemetaphone to list of plugins 2019-11-10 19:15:13 -08:00
Simon Willison
e3dac311ad Install test dependencies so deploy can work
python tests/fixtures.py needs asgiref or it fails with an error
2019-11-10 19:15:13 -08:00
Simon Willison
51c39ac398 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-11-10 19:15:13 -08:00
Simon Willison
3cf5830bc6 Revert "New encode/decode_path_component functions"
Refs #272

This reverts commit 9fdb47ca95.

Now that ASGI supports raw_path we don't need our own encoding scheme!
2019-11-10 19:15:13 -08:00
Simon Willison
425b471738 Refactored view class hierarchy, refs #272
See https://github.com/simonw/datasette/issues/272#issuecomment-502393107
2019-11-10 19:15:13 -08:00
Tom MacWright
3f20e7debc Fix typo in install step: should be install -e (#500) 2019-11-10 19:15:13 -08:00
Simon Willison
276e36c795 Added datasette-render-binary plugin to ecosystem 2019-11-10 19:15:13 -08:00
Simon Willison
1e95ed0fa4 Added datasette-bplist plugin to ecosystem 2019-11-10 19:15:13 -08:00
Simon Willison
f274f90043
Test against Python 3.8-dev using Travis 2019-06-06 01:37:46 -07:00
Simon Willison
5e8fbf7f6f
Upgrade pytest to 4.6.1, pluggy to 0.12.0 (#497) 2019-06-02 19:06:26 -07:00
Simon Willison
803f750309
Added datasette-jq plugin to ecosystem 2019-05-29 18:51:10 -07:00
Simon Willison
2a4b892d6c Tidy up with Black 2019-05-27 19:28:47 -07:00
Simon Willison
9c58d048ec Fix pagination when sorted by expanded foreign key
Closes #489
2019-05-27 19:23:18 -07:00
Simon Willison
f069950a14 Removed obsolete __init__ method 2019-05-27 19:03:36 -07:00
Simon Willison
de92c05134 Fixed duplicate function name 2019-05-27 18:49:57 -07:00
Simon Willison
839e55bf0a Start of unit tests for Database class, refs #485 2019-05-27 18:42:30 -07:00
Simon Willison
bd4dbc8519 Rename InterruptedError => QueryInterrupted, closes #490 2019-05-27 17:16:36 -07:00
Simon Willison
edb36629e7 Database.get_outbound_foreign_keys() refactor
Following this, the only module that ever makes calls to the low-level
execute_against_connection_in_thread() method is datasette/database.py
2019-05-27 11:41:44 -07:00
Simon Willison
20f98c3e20 Databse.primary_keys(table) / fts_table(table) refactor, closes #488
Also cleaned up some unused imports spotted by the linter.
2019-05-27 11:27:42 -07:00
Simon Willison
3fe21b91bb Typo 2019-05-27 11:27:21 -07:00