github
html_url | issue_url | id | node_id | user | created_at | updated_at | author_association | body | reactions | issue | performed_via_github_app |
---|---|---|---|---|---|---|---|---|---|---|---|
https://github.com/simonw/datasette/issues/1896#issuecomment-1317757112 | https://api.github.com/repos/simonw/datasette/issues/1896 | 1317757112 | IC_kwDOBm6k_c5Oi2C4 | 9599 | 2022-11-16T22:26:52Z | 2022-11-16T22:33:13Z | OWNER | Some ideas from walking the dog: Challenge: standard URL routing of request to database/table/row Standardize on the named components of the URL patterns - `database`, `table`, `pks` Async function that takes the request and the Datasette instance and returns a Resolved instance with: ``` .level - database or table or row (better name?) .database - the name of the database .db - the database object .table - the name of the table (or view) .is_view perhaps? .pk_values if it's a row ``` Should this attempt to resolve names queries too? ``` .where_sql - the where fragment you use .where_params - accompanying dictionary await datasette.resolve_request(request) ``` Or even better three methods: ```python datasette.resolve_database(request) datasette.resolve_table(request) datasette.resolve_row(request) ``` These can be typed correctly Methods raise `NotFound` if not found | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
1452364777 | |
https://github.com/simonw/datasette/issues/1896#issuecomment-1317757949 | https://api.github.com/repos/simonw/datasette/issues/1896 | 1317757949 | IC_kwDOBm6k_c5Oi2P9 | 9599 | 2022-11-16T22:27:47Z | 2022-11-18T21:48:29Z | OWNER | Open question: should `resolve_table()` know how to identify named canned queries too? I think not, at least for the moment. Feels a bit too specialist to expose in a documented API. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
1452364777 | |
https://github.com/simonw/datasette/issues/1896#issuecomment-1320588299 | https://api.github.com/repos/simonw/datasette/issues/1896 | 1320588299 | IC_kwDOBm6k_c5OtpQL | 9599 | 2022-11-18T22:16:59Z | 2022-11-18T22:17:06Z | OWNER | Found myself needing an `await db.view_exists()` method for this, similar to the existing `await db.table_exists()` one. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
1452364777 | |
https://github.com/simonw/datasette/issues/1896#issuecomment-1320616559 | https://api.github.com/repos/simonw/datasette/issues/1896 | 1320616559 | IC_kwDOBm6k_c5OtwJv | 9599 | 2022-11-18T22:51:14Z | 2022-11-18T22:51:14Z | OWNER | New methods are documented here: https://docs.datasette.io/en/1.0-dev/internals.html#resolve-database-request | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
1452364777 |