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/184#issuecomment-494459264 | https://api.github.com/repos/simonw/datasette/issues/184 | 494459264 | MDEyOklzc3VlQ29tbWVudDQ5NDQ1OTI2NA== | 222245 | 2019-05-21T16:17:29Z | 2019-05-21T16:17:29Z | NONE | Reopening this because it still raises 500 for incorrect table capitalization. Example: - https://salaries.news.baltimoresun.com/salaries/2018+Maryland+state+salaries/1 200 OK - https://salaries.news.baltimoresun.com/salaries/bad-table/1 400 - https://salaries.news.baltimoresun.com/salaries/2018+maryland+state+salaries/1 500 Internal Error (note lowercase 'm') I think because the table name exists but is not in its canonical form, it triggers a dict lookup error. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
292011379 | |
https://github.com/simonw/datasette/issues/272#issuecomment-494297022 | https://api.github.com/repos/simonw/datasette/issues/272 | 494297022 | MDEyOklzc3VlQ29tbWVudDQ5NDI5NzAyMg== | 647359 | 2019-05-21T08:39:17Z | 2019-05-21T08:39:17Z | NONE | Useful context stuff: > ASGI decodes %2F encoded slashes in URLs automatically `raw_path` for ASGI looks to be under consideration: https://github.com/django/asgiref/issues/87 > uvicorn doesn't support Python 3.5 That was an issue specifically against the <=3.5.2 minor point releases of Python, now resolved: https://github.com/encode/uvicorn/issues/330 👍 > Starlette for things like form parsing - but it's 3.6+ only! Yeah - the bits that require 3.6 are anywhere with the "async for" syntax. If it wasn't for that I'd downport it, but that one's a pain. It's the one bit of syntax to watch out for if you're looking to bring any bits of implementation across to Datasette. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
324188953 | |
https://github.com/simonw/datasette/issues/481#issuecomment-494255074 | https://api.github.com/repos/simonw/datasette/issues/481 | 494255074 | MDEyOklzc3VlQ29tbWVudDQ5NDI1NTA3NA== | 9599 | 2019-05-21T06:18:17Z | 2019-05-21T06:18:17Z | OWNER | Demo: https://latest.datasette.io/fixtures/facetable?_facet_date=created <img width="842" alt="fixtures__facetable__15_rows" src="https://user-images.githubusercontent.com/9599/58072755-88426500-7b55-11e9-948a-2ca8517956fc.png"> | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
446429421 | |
https://github.com/simonw/datasette/issues/272#issuecomment-494192779 | https://api.github.com/repos/simonw/datasette/issues/272 | 494192779 | MDEyOklzc3VlQ29tbWVudDQ5NDE5Mjc3OQ== | 9599 | 2019-05-21T00:10:47Z | 2019-05-21T00:10:47Z | OWNER | https://github.com/simonw/datasette/commit/9fdb47ca952b93b7b60adddb965ea6642b1ff523 added `decode_path_component()` and `encode_path_component()` functions because ASGI decodes %2F encoded slashes in URLs automatically. The new encoding scheme looks like this: "table/and/slashes" => "tableU+002FandU+002Fslashes" "~table" => "U+007Etable" "+bobcats!" => "U+002Bbobcats!" "U+007Etable" => "UU+002B007Etable" For background see this comment: https://github.com/django/asgiref/issues/51#issuecomment-450603464 | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
324188953 | |
https://github.com/simonw/datasette/issues/272#issuecomment-494192163 | https://api.github.com/repos/simonw/datasette/issues/272 | 494192163 | MDEyOklzc3VlQ29tbWVudDQ5NDE5MjE2Mw== | 9599 | 2019-05-21T00:07:25Z | 2019-05-21T00:07:25Z | OWNER | Bah, I'd much rather depend on Starlette for things like form parsing - but it's 3.6+ only! https://github.com/encode/starlette/blob/ab86530eddfcf56e0f7e5ca56f6ab69c15594a7d/setup.py#L39 Maybe I could require Python 3.6 or higher if you want to handle POST data? This would make my internals far too complicated though I think. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
324188953 | |
https://github.com/simonw/datasette/issues/272#issuecomment-494191738 | https://api.github.com/repos/simonw/datasette/issues/272 | 494191738 | MDEyOklzc3VlQ29tbWVudDQ5NDE5MTczOA== | 9599 | 2019-05-21T00:05:02Z | 2019-05-21T00:05:02Z | OWNER | While I'm not depending on Starlette any more I will need to instead depend on https://github.com/andrew-d/python-multipart for POST form parsing - as used by Starlette here https://github.com/encode/starlette/blob/ab86530eddfcf56e0f7e5ca56f6ab69c15594a7d/starlette/requests.py#L178-L193 | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
324188953 | |
https://github.com/simonw/datasette/issues/272#issuecomment-494191378 | https://api.github.com/repos/simonw/datasette/issues/272 | 494191378 | MDEyOklzc3VlQ29tbWVudDQ5NDE5MTM3OA== | 9599 | 2019-05-21T00:02:48Z | 2019-05-21T00:02:48Z | OWNER | I said earlier that I only need to support GET - I actually need to be able to support POST too, mainly to support plugins (e.g. a plugin that allows authenticated login before you can view Datasette, but potentially also plugins that let you write data directly to SQLite as well). | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
324188953 | |
https://github.com/simonw/datasette/issues/272#issuecomment-494190922 | https://api.github.com/repos/simonw/datasette/issues/272 | 494190922 | MDEyOklzc3VlQ29tbWVudDQ5NDE5MDkyMg== | 9599 | 2019-05-21T00:00:40Z | 2019-05-21T00:01:09Z | OWNER | Wow, this issue has been open for a full year now! I've been thinking about this a lot. I've decided I want Datasette to use ASGI 3.0 internally with no dependencies on anything else - then I want the option to run Datasette under both daphne and uvicorn - because uvicorn doesn't support Python 3.5 but Datasette still needs to (primarily for Glitch), and daphne works with 3.5. So I'm going to try to go the following route: - Every Datasette view becomes an ASGI app - The Datasette application itself is an ASGI app that routes to those views - When you `pip install datasette` you get Daphne as a dependency (I'd like you to be able to opt-out of installing Daphne, I'm not yet sure how that would work) - A new `asgi_serve` plugin hook allows a plugin to serve Datasette using uvicorn (or hypercorn) instead | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
324188953 |