Commit graph

775 commits

Author SHA1 Message Date
Simon Willison
b97cd53a48 Fix for Python 3.5 - refs #272 2019-06-23 08:03:42 -07:00
Simon Willison
5bd510b01a Re-implemented redirect on 404 with trailing slash, refs #272
All of the tests now pass
2019-06-23 07:55:55 -07:00
Simon Willison
d2daa1b9f7 Database download works again, refactored utils.py #272
Refactored utils.py into a datasette/utils package, refactored some of
the ASGI helper code into datasette/utils/asgi.py
2019-06-23 07:36:54 -07:00
Simon Willison
2b5a644dd7 TestClient obeys allow_redirects again, refs #272 2019-06-23 07:10:42 -07:00
Simon Willison
b7a00dbde3 Include "asgi": "3.0" in /-/versions, refs #272
Mainly so you can tell if a Datasette instance is running
on ASGI or not.
2019-06-23 07:01:38 -07:00
Simon Willison
ff9efa668e Implemente AsgiStream, CSV tests all now pass #272 2019-06-23 06:50:02 -07:00
Simon Willison
eb06e59332 static_mounts mechanism works again, refs #272 2019-06-22 22:42:23 -07:00
Simon Willison
8a1a15d725 Use aiofiles for static, refs #272 2019-06-22 22:07:41 -07:00
Simon Willison
ca03940f6d Basic static files now work, refs #272
Not yet using aiofiles so will not correctly handle larger static assets.

Still needs security tightening.

Still needs tests.

But the CSS and JS now work
2019-06-22 20:58:31 -07:00
Simon Willison
d8dcc34e36 All API tests now pass, refs #272
CSV tests still all fail.

Also I marked test_trace() as skip because I have not yet re-implemented trace.
2019-06-22 20:21:23 -07:00
Simon Willison
55fc993667 Implemented custom 404/500, more tests pass #272 2019-06-22 18:57:10 -07:00
Simon Willison
b53a75c460 Test harness now uses ASGI, some tests pass #272 2019-06-22 18:34:00 -07:00
Simon Willison
180d5be811 First partially working version of ASGI-powered Datasette #272
Lots still to do:

* Static files are not being served
* Streaming CSV files don't work
* Tests all fail
* Some URLs (e.g. the 'next' link on tables) are incorrect

But... the server does start up and you can browse databases/tables
2019-06-22 18:07:44 -07:00
Simon Willison
39d66f17c1 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-06-18 17:24:13 -07:00
Simon Willison
d736411699 Applied black 2019-06-16 08:43:58 -07:00
Simon Willison
7cdc55c683 AsgiRouter and AsgiView WIP 2019-06-15 14:27:11 -07:00
Simon Willison
d4df640d18 Refactored view class hierarchy, refs #272
See https://github.com/simonw/datasette/issues/272#issuecomment-502393107
2019-06-15 12:41:34 -07:00
Tom MacWright
aa911122fe Fix typo in install step: should be install -e (#500) 2019-06-11 11:48:40 -07:00
Simon Willison
6ccfcefb78
Added datasette-render-binary plugin to ecosystem 2019-06-09 09:49:06 -07:00
Simon Willison
0c756b8cd9
Added datasette-bplist plugin to ecosystem 2019-06-08 19:11:59 -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
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
182a3017c2 Sort keys to past tests in Python 3.5 2019-05-25 09:22:02 -07:00
Simon Willison
5ef3b2d6c9 Don't use -v with pytest in Travis
It seems to slow things down more than I expected.
2019-05-25 09:19:30 -07:00
Simon Willison
9bd39672de Better label detection, refs #485
This needs unit tests.
2019-05-25 09:14:57 -07:00
Simon Willison
d923d84754 Facet by many-to-many, closes #365 2019-05-25 09:06:32 -07:00
Simon Willison
6e79fecf7e Travis now uses pytest -v 2019-05-22 22:54:40 -07:00
Simon Willison
172da009d8 Added ?_through= table argument, closes #355
Also added much more interesting many-to-many fixtures - roadside attractions!
2019-05-22 22:45:12 -07:00
Simon Willison
c902590ada
Stack Overflow survey added to news 2019-05-21 11:47:28 -07:00
Simon Willison
f12220b17d
Link to blog post about 0.28 2019-05-21 09:33:57 -07:00
Simon Willison
967230c90e Facet by date, closes #481 2019-05-20 23:09:22 -07:00
Simon Willison
2d14f21f85 Updated tests for date(...) lookup 2019-05-20 23:06:19 -07:00
Simon Willison
de4503a136 Fix ?col__date= for columns with spaces 2019-05-20 22:36:56 -07:00
Thomas Wood
70d2858067 Doc typo fix (#479) 2019-05-20 09:42:28 -07:00
Simon Willison
4246e138f9
Typo fix 2019-05-19 16:14:09 -07:00
Simon Willison
e513a80afb Use -i with datasette publish, closes #469 2019-05-19 15:53:34 -07:00
Simon Willison
48759d3b35 New setup.py description 2019-05-19 14:57:47 -07:00
Simon Willison
e518f76c5f README for Datasette 0.28 release 0.28 2019-05-19 14:37:49 -07:00
Simon Willison
afd0480d3f
Tidy up README, reducing duplication with docs
Refs #451
2019-05-19 14:31:03 -07:00