Simon Willison
b8227556c6
Suggested facets now use #fragment links
...
Useful for pages with large amounts of content at the top like on
https://fivethirtyeight.datasettes.com/fivethirtyeight-469e30d/nba-elo%2Fnbaallelo
2018-05-18 09:18:51 -07:00
Simon Willison
39426ff0e4
Added /-/limits and /-/limits.json, closes #270
2018-05-17 23:16:28 -07:00
Simon Willison
08f4b7658f
Show facets that timed out using new InterruptedError
...
If the user requests some _facet= options that do not successfully execute in
the configured facet_time_limit_ms, we now show a warning message like this:
These facets timed out: rowid, Title
To build this I had to clean up our SQLite interrupted logic. We now raise a
custom InterruptedError exception when SQLite terminates due to exceeding a
time limit.
In implementing this I found and fixed a logic error where invalid SQL was
being generated in some cases for our faceting calculations but the resulting
sqlite3.OperationalError had been incorrectly captured and treated as a
timeout.
Refs #255
Closes #269
2018-05-17 23:11:23 -07:00
Simon Willison
cef9a9a870
--limit= mechanism plus new limits for facets
...
Replaced the --max_returned_rows and --sql_time_limit_ms options to
"datasette serve" with a new --limit option, which supports a larger
list of limits.
Example usage:
datasette serve --limit max_returned_rows:1000 \
--limit sql_time_limit_ms:2500 \
--limit default_facet_size:50 \
--limit facet_time_limit_ms:1000 \
--limit facet_suggest_time_limit_ms:500
New docs: https://datasette.readthedocs.io/en/latest/limits.html
Closes #270
Closes #264
2018-05-17 22:08:26 -07:00
Simon Willison
8003a13331
Empty string "" facets can now be selected in UI, refs #255
2018-05-17 06:34:42 -07:00
Simon Willison
7261584f04
Display currently selected facets better, refs #255
2018-05-16 19:42:31 -07:00
Simon Willison
566f2d31d6
Clarified relationship between metadata and _facet= facets, updated docs - refs @255
2018-05-16 08:27:24 -07:00
Simon Willison
b263da78e3
Reliable sort order for facets in Python 3.5, fixing test - refs #255
2018-05-16 08:27:24 -07:00
Simon Willison
062303419c
Hide facet button is now a ✖ - refs #255
2018-05-16 08:27:24 -07:00
Simon Willison
62f1d3a6cb
class="suggested-facets"
2018-05-16 08:27:24 -07:00
Simon Willison
91bf5f56bb
Show enabled facets in flexbox columns, refs #255
2018-05-16 08:27:24 -07:00
Simon Willison
6d12580ed7
Foreign key facets are now expanded to labels, refs #255
2018-05-16 08:27:24 -07:00
Simon Willison
a892f9a0bd
Use escape_sqlite() more consistently
2018-05-16 08:27:24 -07:00
Simon Willison
8a0bd68c39
Undid some slightly weird code formatting by 'black'
2018-05-16 08:27:24 -07:00
Simon Willison
63aac537f2
1,442 format for facet counts, refs #255
2018-05-16 08:27:24 -07:00
Simon Willison
f4943ca89b
_facet selections persist through table form, refs #255
2018-05-16 08:27:24 -07:00
Simon Willison
514873c629
Fix bug with toggle_url on integer facets
2018-05-16 08:27:24 -07:00
Simon Willison
1dc94f6eaa
Facets can now be toggled off again, refs #255
2018-05-16 08:27:24 -07:00
Simon Willison
ba515fc56e
Removed un-used variable
2018-05-16 08:27:24 -07:00
Simon Willison
142a550a99
Facet results now have "truncated" field
...
To indicate if there was more than 20 distinct values. Refs #255
2018-05-16 08:27:24 -07:00
Simon Willison
a82175276c
_sort/_next links now use new path_with_replaced_args method
2018-05-16 08:27:24 -07:00
Simon Willison
2f81552cd2
Never suggest a facet if it only results in on option
2018-05-16 08:27:24 -07:00
Simon Willison
b0d2bb3e43
Facets no longer consider null values
2018-05-16 08:27:24 -07:00
Simon Willison
ddef229850
Initial implementation of suggested facets
...
Causes tests to break at the moment
2018-05-16 08:27:24 -07:00
Simon Willison
8a4ed052a5
path_with_added_args now works with multiple existing args
2018-05-16 08:27:24 -07:00
Simon Willison
f36c9d4b4c
Facet toggling now works for integer columns, refs #255
2018-05-16 08:27:24 -07:00
Simon Willison
de05cf21aa
Facet "selected" key and toggle_url now toggles, refs #255
2018-05-16 08:27:24 -07:00
Simon Willison
2b79f2bdeb
path_with_added_args now preserves order in Python 3.5
2018-05-14 00:04:23 -03:00
Simon Willison
eaf715a60a
Extract /-/plugins view into a method
2018-05-14 00:04:23 -03:00
Simon Willison
cf1fe693e5
Used isort to re-order my imports
2018-05-14 00:04:23 -03:00
Simon Willison
3686385551
Ran black source formatting tool against new views/ and app.py
2018-05-14 00:04:23 -03:00
Simon Willison
1f69269fe9
Refactored views into new views/ modules, refs #256
2018-05-14 00:04:23 -03:00
Simon Willison
eaaa3ea149
Initial implementation of facets, plus tests and docs
...
Refs #255
2018-05-12 19:29:41 -03:00
Simon Willison
70ff615f1b
utils.path_with_added_args() improvements
...
* Now covered by unit tests
* Preserves original order
* Can handle multiple args of the same name, e.g. ?bar=1&bar=2
2018-05-12 18:44:09 -03:00
Simon Willison
04d21ccd08
/-/versions now includes SQLite fts_versions, closes #252
2018-05-11 10:19:25 -03:00
Simon Willison
e10f8e1274
Slight simplification of /-/inspect
2018-05-06 10:05:38 -03:00
Simon Willison
403211de63
Release Datasette 0.21
2018-05-05 20:15:38 -03:00
Simon Willison
1259b8ac0b
Support _search_COLUMN=text searches, closes #237
2018-05-05 19:33:08 -03:00
Simon Willison
ca290719ed
Show version on /-/plugins page, closes #248
2018-05-04 15:04:33 -03:00
Simon Willison
d4da4c92c8
?_size=max option, closes #249
2018-05-04 15:03:40 -03:00
Simon Willison
bb87cf8730
Added /-/versions and /-/versions.json, closes #244
...
Sample output:
{
"python": {
"version": "3.6.3",
"full": "3.6.3 (default, Oct 4 2017, 06:09:38) \n[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.37)]"
},
"datasette": {
"version": "0.20"
},
"sqlite": {
"version": "3.23.1",
"extensions": {
"json1": null,
"spatialite": "4.3.0a"
}
}
}
2018-05-03 11:09:27 -03:00
Simon Willison
349e262bb1
Renamed ?_sql_time_limit_ms= to ?_timelimit, closes #242
2018-05-01 17:20:39 -07:00
Simon Willison
a4cc5dc813
New ?_shape=array option + tweaks to _shape, closes #245
...
* Default is now ?_shape=arrays (renamed from lists)
* New ?_shape=array returns an array of objects as the root object
* Changed ?_shape=object to return the object as the root
* Updated docs
2018-05-01 17:20:39 -07:00
Simon Willison
2565d623af
?_shape=array experimental feature
2018-05-01 17:20:39 -07:00
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