Simon Willison
b8711988b9
row_actions() plugin hook, closes #2299
2024-03-12 16:16:05 -07:00
Simon Willison
909c85cd2b
view_actions plugin hook, closes #2297
2024-03-12 14:25:28 -07:00
Simon Willison
daf5ca02ca
homepage_actions() plugin hook, closes #2298
2024-03-12 13:46:06 -07:00
Simon Willison
6ec0081f5d
`query_actions` plugin hook
...
* New query_actions plugin hook, closes #2283
2024-02-27 21:55:16 -08:00
Alex Garcia
35deaabcb1
Move non-metadata configuration from metadata.yaml to datasette.yaml
...
* Allow and permission blocks moved to datasette.yaml
* Documentation updates, initial framework for configuration reference
2023-10-12 09:16:37 -07:00
Simon Willison
b7cf0200e2
Swap order of config and metadata options, refs #2194
2023-09-21 13:22:40 -07:00
Alex Garcia
b2ec8717c3
Plugin configuration now lives in datasette.yaml/json
...
* Checkpoint, moving top-level plugin config to datasette.json
* Support database-level and table-level plugin configuration in datasette.yaml
Refs #2093
2023-09-13 14:06:25 -07:00
Simon Willison
8bf06a76b5
register_permissions() plugin hook ( #1940 )
...
* Docs for permissions: in metadata, refs #1636
* Refactor default_permissions.py to help with implementation of #1636
* register_permissions() plugin hook, closes #1939 - also refs #1938
* Tests for register_permissions() hook, refs #1939
* Documentation for datasette.permissions, refs #1939
* permission_allowed() falls back on Permission.default, refs #1939
* Raise StartupError on duplicate permissions
* Allow dupe permisisons if exact matches
2022-12-12 18:05:54 -08:00
Simon Willison
2355067ef5
Tests now close SQLite database connections and files explicitly, refs #1843
...
Also added a db.close() method to the Database class.
2022-11-03 13:36:11 -07:00
Simon Willison
c556fad65d
Try to address too many files error again, refs #1843
2022-10-25 21:25:47 -07:00
Simon Willison
c36a74ece1
Try shutting down executor in tests to free up thread local SQLite connections, refs #1843
2022-10-25 21:04:39 -07:00
Simon Willison
6887c12ea3
Workaround for 'too many open files' error, refs #1843
2022-10-23 15:17:33 -07:00
Simon Willison
ddc999ad12
Async support for prepare_jinja2_environment, closes #1809
2022-09-16 20:38:24 -07:00
Simon Willison
d0737e4de5
truncate_cells_html now affects URLs too, refs #1805
2022-09-06 16:50:43 -07:00
Simon Willison
c09c53f345
New handle_exception plugin hook, refs #1770
...
Also refs:
- https://github.com/simonw/datasette-sentry/issues/1
- https://github.com/simonw/datasette-show-errors/issues/2
2022-07-17 16:24:39 -07:00
Simon Willison
4e47a2d894
Fixed bug where tables with a column called n caused 500 errors
...
Closes #1228
2022-03-18 18:37:54 -07:00
Simon Willison
d4f60c2388
Remove hashed URL mode
...
Also simplified how view class routing works.
Refs #1661
2022-03-18 17:12:03 -07:00
Simon Willison
1baa030eca
Switch to dash encoding for table/database/row-pk in paths
...
* Dash encoding functions, tests and docs, refs #1439
* dash encoding is now like percent encoding but with dashes
* Use dash-encoding for row PKs and ?_next=, refs #1439
* Use dash encoding for table names, refs #1439
* Use dash encoding for database names, too, refs #1439
See also https://simonwillison.net/2022/Mar/5/dash-encoding/
2022-03-07 07:38:29 -08:00
Simon Willison
3a0cae4d7f
Fix bug introduced by refactor in c35b84a2aa
2021-12-17 18:19:09 -08:00
Simon Willison
c35b84a2aa
Remove undocumented sqlite_functions mechanism, closes #1567
2021-12-17 17:54:39 -08:00
Simon Willison
69244a617b
Rename city_id to _city_id in fixtures, refs #1525
2021-11-29 22:20:42 -08:00
Simon Willison
c306b696de
Correct facet links for columns with a leading underscore, closes #1506
2021-11-13 20:44:54 -08:00
Simon Willison
ca4f83dc7b
Rename config= to settings=, refs #1432
2021-08-12 18:10:36 -07:00
Simon Willison
e837095ef3
Column metadata, closes #942
2021-08-12 16:53:23 -07:00
Simon Willison
3bb6409a6c
render_cell() can now return an awaitable, refs
2021-08-08 16:05:00 -07:00
Simon Willison
66e143c76e
New hide_sql canned query option, refs #1422
2021-08-06 22:17:36 -07:00
Simon Willison
eccfeb0871
register_routes() plugin hook datasette argument, closes #1404
2021-07-26 16:16:46 -07:00
Simon Willison
2e8d924cdc
Refactored generated_columns test, no longer in fixtures.db - refs #1391
2021-07-10 12:03:19 -07:00
Simon Willison
02b19c7a9a
Removed rogue pdb=True, refs #1377
2021-06-23 15:50:48 -07:00
Simon Willison
b1fd24ac9f
skip_csrf(datasette, scope) plugin hook, refs #1377
2021-06-23 15:40:09 -07:00
Simon Willison
ff29dd55fa
?_trace=1 now depends on trace_debug setting, closes #1359
2021-06-05 13:18:37 -07:00
Simon Willison
807de378d0
/-/databases and homepage maintain connection order, closes #1216
2021-06-01 20:10:15 -07:00
Simon Willison
7e983fede6
?_facet_size=max, ... now links to that, closes #1337
...
Refs #1332
2021-05-27 09:00:58 -07:00
Simon Willison
6ad544df5e
Fixed master -> main in a bunch of places, mainly docs
2021-03-23 09:19:41 -07:00
Konstantin Baikov
8e18c79431
Use context manager instead of plain open ( #1211 )
...
Context manager with open closes the files after usage.
When the object is already a pathlib.Path i used read_text
write_text functions
In some cases pathlib.Path.open were used in context manager,
it is basically the same as builtin open.
Thanks, Konstantin Baikov!
2021-03-11 08:15:49 -08:00
Simon Willison
6f41c8a2be
--crossdb option for joining across databases ( #1232 )
...
* Test for cross-database join, refs #283
* Warn if --crossdb used with more than 10 DBs, refs #283
* latest.datasette.io demo of --crossdb joins, refs #283
* Show attached databases on /_memory page, refs #283
* Documentation for cross-database queries, refs #283
2021-02-18 14:09:12 -08:00
Miroslav Šedivý
a882d67962
Modernize code to Python 3.6+ ( #1158 )
...
* Compact dict and set building
* Remove redundant parentheses
* Simplify chained conditions
* Change method name to lowercase
* Use triple double quotes for docstrings
Thanks, @eumiro!
2020-12-23 09:04:32 -08:00
Simon Willison
17cbbb1f7f
generated_columns table in fixtures.py, closes #1119
2020-11-30 16:28:02 -08:00
Simon Willison
461670a0b8
Support for generated columns
...
* Support for generated columns, closes #1116
* Show SQLite version in pytest report header
* Use table_info() if SQLite < 3.26.0
* Cache sqlite_version() rather than re-calculate every time
* Adjust test_database_page for SQLite 3.26.0 or higher
2020-11-30 13:29:57 -08:00
Simon Willison
deb0be4ae5
Fix bug where compound foreign keys produced broken links, closes #1098
2020-11-29 11:30:17 -08:00
Simon Willison
30e64c8d3b
Use f-strings in place of .format()
...
Code transformed like so:
pip install flynt
flynt .
black .
2020-11-15 15:24:22 -08:00
Simon Willison
e8e0a6f284
Use FTS4 in fixtures
...
Closes #1081
2020-11-11 16:02:58 -08:00
Simon Willison
2a981e2ac1
Blank foreign key labels now show as hyphens, closes #1086
2020-11-11 15:44:04 -08:00
Simon Willison
7b19492070
database_actions() plugin hook, closes #1077
2020-11-02 10:27:25 -08:00
Simon Willison
a4ca26a265
Address PrefixedUrlString bug in #1075
2020-10-31 13:35:47 -07:00
Simon Willison
d6db47f5c1
Deploy demo plugins to latest.datasette.io, refs #1074
2020-10-31 10:36:46 -07:00
Simon Willison
f0a740ac21
Remove load_plugin hook - closes #1073
...
Refs #1042
This reverts commit 81dea4b07a
.
2020-10-31 09:21:22 -07:00
Simon Willison
81dea4b07a
load_template() plugin hook
...
Closes #1042
2020-10-30 10:47:18 -07:00
Simon Willison
2f7731e9e5
table_actions() plugin hook plus menu, closes #1066
...
Refs #690
2020-10-29 22:16:41 -07:00
Simon Willison
18a64fbb29
Navigation menu plus menu_links() hook
...
Closes #1064 , refs #690 .
2020-10-29 20:45:15 -07:00