Commit graph

355 commits

Author SHA1 Message Date
Simon Willison
aa954382c3
FTS tables now detected by inspect(), closes #240 2018-04-28 17:04:32 -07:00
Simon Willison
f188ceaa2a
New ?_size=XXX querystring parameter for table view, closes #229
Also added documentation for all of the _special arguments.

Plus deleted some duplicate logic implementing _group_count.
2018-04-25 21:47:12 -07:00
Simon Willison
4504d5160b
If max_returned_rows==page_size, increment max_returned_rows
Fixes #230, where if the two were equal pagination didn't work correctly.
2018-04-25 21:04:12 -07:00
Simon Willison
02ee31c8b4
New hidden: True option for table metadat, closes #239 2018-04-25 20:42:57 -07:00
Simon Willison
d3a0069c54
Hide idx_* tables if spatialite detected, closes #228 2018-04-25 20:25:21 -07:00
Simon Willison
db7a57a9a6
Added class=rows-and-columns to custom query results table 2018-04-25 20:24:22 -07:00
Simon Willison
7f44d31782
Link to register-of-members-interests tutorial 2018-04-25 10:40:48 -07:00
Simon Willison
00ab954300
Added CSS class rows-and-columns to main table 2018-04-23 18:31:32 -07:00
Simon Willison
f3f4295712
label_column now defined on the table-being-linked-to, fixes #234 2018-04-22 13:46:18 -07:00
Simon Willison
f27cabbaf3
label_column option in metadata.json - closes #234 2018-04-22 10:53:16 -07:00
Simon Willison
ea0a761303
Link to documentation from README 2018-04-20 17:20:56 -07:00
lsb
a971718d2a Fix a typo (#232) 2018-04-20 17:19:07 -07:00
Simon Willison
05bdf53358
Added missing hyphen 2018-04-20 14:15:13 -07:00
Simon Willison
ae02e9f4ac
Added datasette-cluster-map blog entry to news 2018-04-20 14:14:35 -07:00
Simon Willison
3a5d7951ce
Added Datasette 0.20 to news 0.20 2018-04-20 07:36:29 -07:00
Simon Willison
72a7ae6859
Datasette 0.20: static assets and templates for plugins 2018-04-20 07:32:02 -07:00
Simon Willison
e2750c7cc0
Add col-X classes to HTML table on custom query page 2018-04-19 08:36:14 -07:00
Simon Willison
1e4c295012
Fixed out-dated template in documentation 2018-04-18 22:57:31 -07:00
Simon Willison
b52171db1e
Plugins can now bundle custom templates, closes #224
Refs #14
2018-04-18 22:50:27 -07:00
Simon Willison
b55809a1e2
Added /-/metadata /-/plugins /-/inspect, closes #225 2018-04-18 22:25:22 -07:00
Simon Willison
6e28ed447f
Thanks to #214 JavaScript is no longer 'soon' 2018-04-18 08:17:20 -07:00
Simon Willison
7581320823
Documentation for --install option, refs #223 2018-04-18 08:05:06 -07:00
Simon Willison
404fa2252b
datasette publish/package --install option, closes #223
Allows you to specify one or more additional packages to be installed,
useful for deploying plugins.
2018-04-18 07:55:36 -07:00
Simon Willison
2b344f6a34
Ran black against datasette/cli.py
https://pypi.org/project/black/

cli.py was getting a bit untidy due to all of the heavily annotated
click function methods - used black to clean it up and make it
easier to read.
2018-04-18 07:52:17 -07:00
Simon Willison
f8f818711b
Formatting tweak 2018-04-17 21:30:58 -07:00
Simon Willison
4be6deb947
Fix for plugins in Python 3.5 (#222)
ModuleNotFoundError is not a thing in Python 3.5, so catch KeyError/ImportError instead.
2018-04-17 20:24:20 -07:00
Simon Willison
1c36d07dd4
New plugin hooks: extra_css_urls() and extra_js_urls()
Closes #214
2018-04-17 20:12:21 -07:00
Simon Willison
ca588b6a30
Fixed example HTML in CSS docs 2018-04-17 19:35:03 -07:00
Simon Willison
0bb483ca5b
/-/static-plugins/PLUGIN_NAME/ now serves static/ from plugins
Refs #214
2018-04-17 19:32:48 -07:00
Simon Willison
a5792a8c61
<th> now gets class="col-X" - plus added col-X documentation
Refs #209
2018-04-17 19:11:54 -07:00
Simon Willison
dfb87d012c
Use to_css_class for table cell column classes
This ensures that columns with spaces in the name will still
generate usable CSS class names. Refs #209
2018-04-17 18:19:21 -07:00
Russ Garrett
136a70d887 Add column name classes to <td>s, make PK bold 2018-04-17 18:13:02 -07:00
Russ Garrett
0f782dd8df Additional test asserts 2018-04-17 18:13:02 -07:00
Russ Garrett
4586aa506a Don't duplicate simple primary keys in the link column
When there's a simple (single-column) primary key, it looks weird to
duplicate it in the link column.

This change removes the second PK column and treats the link column as
if it were the PK column from a header/sorting perspective.
2018-04-17 18:13:02 -07:00
Russ Garrett
b231d4243d Correct escaping for HTML display of row links 2018-04-17 18:13:02 -07:00
Simon Willison
aaf59db570
Longer time limit for test_paginate_compound_keys
It was failing intermittently in Travis - see #209
2018-04-17 18:09:48 -07:00
Simon Willison
5ebc7137d7
Use application/octet-stream for downloadable databses
I'd also like to send the Content-Length here but that's not currently
possible in Sanic - see bug report here:

https://github.com/channelcat/sanic/issues/1194
2018-04-17 17:31:54 -07:00
Simon Willison
1f384e662b
Updated PyPI classifiers 2018-04-17 17:30:46 -07:00
Simon Willison
bf5ec2d611
Updated PyPI link to pypi.org 2018-04-16 19:24:36 -07:00
Simon Willison
ba9bfa5831
Datasette 0.19: plugin preview (with release notes) 0.19 2018-04-16 19:12:21 -07:00
Simon Willison
e7c769ef30
Working implementation of #216 which passes the tests
Reverted commit 5364fa7f33 (where I removed the
code that didn't work).

Added primary keys to order-by clause for sorting to get tests to pass
2018-04-16 18:41:55 -07:00
Simon Willison
5364fa7f33
Revert #216 until I can get tests to pass in Travis
Revert "Fix for _sort_desc=sortable_with_nulls test, refs #216"

This reverts commit 07fc2d113e.

Revert "Fixed #216 - paginate correctly when sorting by nullable column"

This reverts commit 2abe539a0f.
2018-04-16 17:53:37 -07:00
Simon Willison
07fc2d113e
Fix for _sort_desc=sortable_with_nulls test, refs #216 2018-04-16 17:05:03 -07:00
Simon Willison
2abe539a0f
Fixed #216 - paginate correctly when sorting by nullable column 2018-04-16 16:52:50 -07:00
Simon Willison
1652a9707e
Apache 2.0 license badge 2018-04-16 16:10:12 -07:00
Simon Willison
10a34f995c
Removed rogue print() call 2018-04-16 08:38:09 -07:00
Simon Willison
904f1c75a3
Initial documentation for plugins, closes #213
https://datasette.readthedocs.io/en/latest/plugins.html
2018-04-16 08:12:09 -07:00
Simon Willison
b2955d9065
New --plugins-dir=plugins/ option (#212)
* New --plugins-dir=plugins/ option

New option causing Datasette to load and evaluate all of the Python files in
the specified directory and register any plugins that are defined in those
files.

This new option is available for the following commands:

    datasette serve mydb.db --plugins-dir=plugins/
    datasette publish now/heroku mydb.db --plugins-dir=plugins/
    datasette package mydb.db --plugins-dir=plugins/

* Unit tests for --plugins-dir=plugins/

Closes #211
2018-04-15 22:22:01 -07:00
Simon Willison
92396ae5ba
Better fix for setup.py version 2018-04-15 21:38:04 -07:00
Simon Willison
33c7c53ff8
Start of the plugin system, based on pluggy (#210)
Uses https://pluggy.readthedocs.io/ originally created for the py.test project

We're starting with two plugin hooks:

prepare_connection(conn)

This is called when a new SQLite connection is created. It can be used to register custom SQL functions.

prepare_jinja2_environment(env)

This is called with the Jinja2 environment. It can be used to register custom template tags and filters.

An example plugin which uses these two hooks can be found at https://github.com/simonw/datasette-plugin-demos or installed using `pip install datasette-plugin-demos`

Refs #14
2018-04-15 17:56:15 -07:00