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/dogsheep/github-to-sqlite/issues/50#issuecomment-711569063 | https://api.github.com/repos/dogsheep/github-to-sqlite/issues/50 | 711569063 | MDEyOklzc3VlQ29tbWVudDcxMTU2OTA2Mw== | 9599 | 2020-10-19T05:01:29Z | 2020-10-19T05:01:29Z | MEMBER | Demo of `--accept`: github-to-sqlite get /repos/simonw/datasette/readme --accept 'application/vnd.github.VERSION.html' | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
703218756 | |
https://github.com/dogsheep/dogsheep-beta/issues/29#issuecomment-712266834 | https://api.github.com/repos/dogsheep/dogsheep-beta/issues/29 | 712266834 | MDEyOklzc3VlQ29tbWVudDcxMjI2NjgzNA== | 9599 | 2020-10-19T16:01:23Z | 2020-10-19T16:01:23Z | MEMBER | Might just be a documented pattern for how to configure this in YAML templates. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
724759588 | |
https://github.com/simonw/datasette/pull/1030#issuecomment-711407607 | https://api.github.com/repos/simonw/datasette/issues/1030 | 711407607 | MDEyOklzc3VlQ29tbWVudDcxMTQwNzYwNw== | 22429695 | 2020-10-18T19:31:31Z | 2020-10-19T08:01:51Z | NONE | # [Codecov](https://codecov.io/gh/simonw/datasette/pull/1030?src=pr&el=h1) Report > Merging [#1030](https://codecov.io/gh/simonw/datasette/pull/1030?src=pr&el=desc) into [main](https://codecov.io/gh/simonw/datasette/commit/568bd7bbf590861687db8c318f3d8cfcd1dfb47a?el=desc) will **decrease** coverage by `0.10%`. > The diff coverage is `68.75%`. [![Impacted file tree graph](https://codecov.io/gh/simonw/datasette/pull/1030/graphs/tree.svg?width=650&height=150&src=pr&token=eSahVY7kw1)](https://codecov.io/gh/simonw/datasette/pull/1030?src=pr&el=tree) ```diff @@ Coverage Diff @@ ## main #1030 +/- ## ========================================== - Coverage 84.63% 84.53% -0.11% ========================================== Files 28 28 Lines 3892 3905 +13 ========================================== + Hits 3294 3301 +7 - Misses 598 604 +6 ``` | [Impacted Files](https://codecov.io/gh/simonw/datasette/pull/1030?src=pr&el=tree) | Coverage Δ | | |---|---|---| | [datasette/utils/\_\_init\_\_.py](https://codecov.io/gh/simonw/datasette/pull/1030/diff?src=pr&el=tree#diff-ZGF0YXNldHRlL3V0aWxzL19faW5pdF9fLnB5) | `93.35% <68.75%> (-0.79%)` | :arrow_down: | | [datasette/views/index.py](https://codecov.io/gh/simonw/datasette/pull/1030/diff?src=pr&el=tree#diff-ZGF0YXNldHRlL3ZpZXdzL2luZGV4LnB5) | `96.49% <0.00%> (-1.76%)` | :arrow_down: | ------ [Continue to review full report at Codecov](https://codecov.io/gh/simonw/datasette/pull/1030?src=pr&el=continue). > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta) > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data` > Powered by [Codecov](https://codecov.io/gh/simonw/datasette/pull/1030?src=pr&el=footer). Last update [568bd7b...e082533](https://codecov.io/gh/simonw/datasette/pull/1030?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments). | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
723982480 | |
https://github.com/simonw/datasette/pull/1031#issuecomment-711792622 | https://api.github.com/repos/simonw/datasette/issues/1031 | 711792622 | MDEyOklzc3VlQ29tbWVudDcxMTc5MjYyMg== | 22429695 | 2020-10-19T07:57:17Z | 2020-10-19T07:57:17Z | NONE | # [Codecov](https://codecov.io/gh/simonw/datasette/pull/1031?src=pr&el=h1) Report > Merging [#1031](https://codecov.io/gh/simonw/datasette/pull/1031?src=pr&el=desc) into [main](https://codecov.io/gh/simonw/datasette/commit/568bd7bbf590861687db8c318f3d8cfcd1dfb47a?el=desc) will **decrease** coverage by `0.02%`. > The diff coverage is `n/a`. [![Impacted file tree graph](https://codecov.io/gh/simonw/datasette/pull/1031/graphs/tree.svg?width=650&height=150&src=pr&token=eSahVY7kw1)](https://codecov.io/gh/simonw/datasette/pull/1031?src=pr&el=tree) ```diff @@ Coverage Diff @@ ## main #1031 +/- ## ========================================== - Coverage 84.63% 84.60% -0.03% ========================================== Files 28 28 Lines 3892 3892 ========================================== - Hits 3294 3293 -1 - Misses 598 599 +1 ``` | [Impacted Files](https://codecov.io/gh/simonw/datasette/pull/1031?src=pr&el=tree) | Coverage Δ | | |---|---|---| | [datasette/cli.py](https://codecov.io/gh/simonw/datasette/pull/1031/diff?src=pr&el=tree#diff-ZGF0YXNldHRlL2NsaS5weQ==) | `74.22% <ø> (ø)` | | | [datasette/views/index.py](https://codecov.io/gh/simonw/datasette/pull/1031/diff?src=pr&el=tree#diff-ZGF0YXNldHRlL3ZpZXdzL2luZGV4LnB5) | `96.49% <0.00%> (-1.76%)` | :arrow_down: | ------ [Continue to review full report at Codecov](https://codecov.io/gh/simonw/datasette/pull/1031?src=pr&el=continue). > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta) > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data` > Powered by [Codecov](https://codecov.io/gh/simonw/datasette/pull/1031?src=pr&el=footer). Last update [568bd7b...7e7eaa4](https://codecov.io/gh/simonw/datasette/pull/1031?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments). | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
724369025 | |
https://github.com/simonw/datasette/issues/1032#issuecomment-712397537 | https://api.github.com/repos/simonw/datasette/issues/1032 | 712397537 | MDEyOklzc3VlQ29tbWVudDcxMjM5NzUzNw== | 236498 | 2020-10-19T19:37:55Z | 2020-10-19T19:37:55Z | NONE | python-dateutil is awesome, but it can only guess at one date at a time. So if you have a column of dates that are (presumably) in the same format, it can't use the full set of dates to deduce the format. Also, once it has parsed a date, you can't get the format it used, whether to parse or render other dates. These limitations prevent it from being a silver bullet for date parsing, though they're not enough for me to stop using it! | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
724878151 | |
https://github.com/simonw/datasette/issues/904#issuecomment-710487083 | https://api.github.com/repos/simonw/datasette/issues/904 | 710487083 | MDEyOklzc3VlQ29tbWVudDcxMDQ4NzA4Mw== | 9599 | 2020-10-16T19:34:10Z | 2020-10-19T17:39:04Z | OWNER | Alternatively, I could expose a single object that knows how to construct all kinds of URLs. Something like this: ``` {{ urls.instance() }} {{ urls.database(database_name) }} {{ urls.table(database_name, table_name) }} etc ``` | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
663228985 | |
https://github.com/simonw/datasette/issues/991#issuecomment-712317638 | https://api.github.com/repos/simonw/datasette/issues/991 | 712317638 | MDEyOklzc3VlQ29tbWVudDcxMjMxNzYzOA== | 9599 | 2020-10-19T17:30:56Z | 2020-10-19T17:30:56Z | OWNER | https://biglocal.datasettes.com/ is one of my larger Datasettes in terms of number of databases. | { "total_count": 1, "+1": 1, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
714377268 | |
https://github.com/simonw/datasette/issues/1027#issuecomment-712320103 | https://api.github.com/repos/simonw/datasette/issues/1027 | 712320103 | MDEyOklzc3VlQ29tbWVudDcxMjMyMDEwMw== | 9599 | 2020-10-19T17:35:04Z | 2020-10-19T17:35:04Z | OWNER | Still need to configure proxying though. https://www.netnea.com/cms/apache-tutorial-9_setting-up-a-reverse-proxy/ | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
722758132 | |
https://github.com/simonw/datasette/issues/904#issuecomment-712324077 | https://api.github.com/repos/simonw/datasette/issues/904 | 712324077 | MDEyOklzc3VlQ29tbWVudDcxMjMyNDA3Nw== | 9599 | 2020-10-19T17:39:38Z | 2020-10-19T17:39:38Z | OWNER | If I do these methods I think this should be available on the `datasette` object too, as an internal API for plugins to use to construct redirects and suchlike. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
663228985 | |
https://github.com/simonw/datasette/issues/904#issuecomment-712354600 | https://api.github.com/repos/simonw/datasette/issues/904 | 712354600 | MDEyOklzc3VlQ29tbWVudDcxMjM1NDYwMA== | 9599 | 2020-10-19T18:15:03Z | 2020-10-19T18:15:39Z | OWNER | Related: #1026 (How should datasette.client interact with base_url) Also this comment from https://github.com/simonw/datasette/issues/943#issuecomment-675752436 > One thing to consider here: Datasette's table and database name escaping rules can be a little bit convoluted. > > If a plugin wants to get back the first five rows of a table, it will need to construct a URL `/dbname/tablename?_size=5` - but it will need to know how to turn the database and table names into the correctly escaped `dbname` and `tablename` values. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
663228985 | |
https://github.com/simonw/datasette/issues/904#issuecomment-712355706 | https://api.github.com/repos/simonw/datasette/issues/904 | 712355706 | MDEyOklzc3VlQ29tbWVudDcxMjM1NTcwNg== | 9599 | 2020-10-19T18:17:03Z | 2020-10-19T18:17:03Z | OWNER | Options: - `datasette.urls.instance()` (or `datasette.urls.root()`), `datasette.urls.table()` etc - `datasette.url_for.instance()`... - `datasette.url.instance()`... - `datasette.root_url()`, `datasette.table_url()`... | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
663228985 | |
https://github.com/simonw/datasette/issues/904#issuecomment-712355877 | https://api.github.com/repos/simonw/datasette/issues/904 | 712355877 | MDEyOklzc3VlQ29tbWVudDcxMjM1NTg3Nw== | 9599 | 2020-10-19T18:17:22Z | 2020-10-19T18:17:22Z | OWNER | I quite like `datasette.urls.table()` but I'm not sure why. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
663228985 | |
https://github.com/simonw/datasette/issues/1032#issuecomment-712363344 | https://api.github.com/repos/simonw/datasette/issues/1032 | 712363344 | MDEyOklzc3VlQ29tbWVudDcxMjM2MzM0NA== | 9599 | 2020-10-19T18:31:46Z | 2020-10-19T18:31:46Z | OWNER | As always with dates, the challenge is America. `mm/dd/yy` is indistinguishable from the more sensible `dd/mm/yy`. It's crucially important to visibly tell people which format you assumed, otherwise all kinds of weird invisible bugs can manifest. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
724878151 | |
https://github.com/simonw/datasette/issues/1032#issuecomment-712363825 | https://api.github.com/repos/simonw/datasette/issues/1032 | 712363825 | MDEyOklzc3VlQ29tbWVudDcxMjM2MzgyNQ== | 9599 | 2020-10-19T18:32:43Z | 2020-10-19T18:32:43Z | OWNER | Horrible thought: I bet there is data out there that uses more than one date format in the same table! So this needs to be exposed as a visible per-column setting. Column action menu can help here, although it's not yet the full solution because it isn't yet visible on mobile. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
724878151 | |
https://github.com/simonw/datasette/issues/1032#issuecomment-712364317 | https://api.github.com/repos/simonw/datasette/issues/1032 | 712364317 | MDEyOklzc3VlQ29tbWVudDcxMjM2NDMxNw== | 9599 | 2020-10-19T18:33:42Z | 2020-10-19T18:33:42Z | OWNER | Related challenge: timezones. I think I'll punt on those for the moment and just concentrate on dates, but I should keep them in mind. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
724878151 | |
https://github.com/simonw/datasette/issues/1032#issuecomment-712364532 | https://api.github.com/repos/simonw/datasette/issues/1032 | 712364532 | MDEyOklzc3VlQ29tbWVudDcxMjM2NDUzMg== | 9599 | 2020-10-19T18:34:10Z | 2020-10-19T18:34:10Z | OWNER | Lots of great example date data in https://biglocal.datasettes.com/COVID_WARN_Notices | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
724878151 | |
https://github.com/simonw/datasette/issues/1032#issuecomment-712365236 | https://api.github.com/repos/simonw/datasette/issues/1032 | 712365236 | MDEyOklzc3VlQ29tbWVudDcxMjM2NTIzNg== | 9599 | 2020-10-19T18:35:25Z | 2020-10-19T18:35:25Z | OWNER | Since I'm dealing with tables of data I usually have a whole column of examples, so heuristics that check for numbers-greater-than-12 could actually work well for many cases. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
724878151 | |
https://github.com/simonw/datasette/issues/1032#issuecomment-712365439 | https://api.github.com/repos/simonw/datasette/issues/1032 | 712365439 | MDEyOklzc3VlQ29tbWVudDcxMjM2NTQzOQ== | 9599 | 2020-10-19T18:35:50Z | 2020-10-19T18:37:57Z | OWNER | Maybe I don't need to add `dateutil` as a dependency here? `pendulum` and `arrow` both depend on it so it's pretty deeply embedded in the Python date ecosystem. Adding it as a dependency seems reasonable. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
724878151 | |
https://github.com/simonw/datasette/issues/1032#issuecomment-712367285 | https://api.github.com/repos/simonw/datasette/issues/1032 | 712367285 | MDEyOklzc3VlQ29tbWVudDcxMjM2NzI4NQ== | 9599 | 2020-10-19T18:39:32Z | 2020-10-19T18:39:32Z | OWNER | https://github.com/digital-land/brownfield-land-collection/blob/a09ddf9960a6af59e72dc02448f7b645e59bf227/bin/harmonise.py#L217-L247 is a beautiful example of this problem. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
724878151 | |
https://github.com/simonw/datasette/issues/1028#issuecomment-712480866 | https://api.github.com/repos/simonw/datasette/issues/1028 | 712480866 | MDEyOklzc3VlQ29tbWVudDcxMjQ4MDg2Ng== | 9599 | 2020-10-19T22:39:51Z | 2020-10-19T22:39:51Z | OWNER | Documentation: https://docs.datasette.io/en/latest/spatialite.html | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
723803777 | |
https://github.com/simonw/datasette/issues/1020#issuecomment-712481568 | https://api.github.com/repos/simonw/datasette/issues/1020 | 712481568 | MDEyOklzc3VlQ29tbWVudDcxMjQ4MTU2OA== | 9599 | 2020-10-19T22:41:59Z | 2020-10-19T22:41:59Z | OWNER | It turns out this works just fine: ```python response = await datasette.client.get(path, cookies=request.cookies) ``` So I don't need a mechanism for this. I'm going to add this to the documentation instead. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
721068929 | |
https://github.com/simonw/datasette/issues/1020#issuecomment-712482015 | https://api.github.com/repos/simonw/datasette/issues/1020 | 712482015 | MDEyOklzc3VlQ29tbWVudDcxMjQ4MjAxNQ== | 9599 | 2020-10-19T22:43:24Z | 2020-10-19T22:43:24Z | OWNER | ... unless I want to support authentication mechanisms that work based on incoming IP address instead, in which case there's an argument for copying more over from the incoming request. Tailscale is a good example of a system where authentication based on IP address can actually work well, so this is worth doing. Also, there might be authentication mechanisms which work by setting a custom header on the incoming request (not to mention the `Authorization` header). | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
721068929 | |
https://github.com/simonw/datasette/issues/1020#issuecomment-712482504 | https://api.github.com/repos/simonw/datasette/issues/1020 | 712482504 | MDEyOklzc3VlQ29tbWVudDcxMjQ4MjUwNA== | 9599 | 2020-10-19T22:45:01Z | 2020-10-19T22:45:01Z | OWNER | I'm having trouble coming up with the syntax for this. Here's one option: ```python response = await datasette.client.get(path, request=request) ``` But this feels confusing to me. We're not using the `request=` argument as a request - we're using it as a source of some default request values (the cookies and incoming headers, but not the path). We're essentially combining that request with the other arguments passed to `.get()`. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
721068929 | |
https://github.com/simonw/datasette/issues/904#issuecomment-712483066 | https://api.github.com/repos/simonw/datasette/issues/904 | 712483066 | MDEyOklzc3VlQ29tbWVudDcxMjQ4MzA2Ng== | 9599 | 2020-10-19T22:46:48Z | 2020-10-19T22:46:48Z | OWNER | OK, I'm committing to `datasette.urls.table()` and friends, which will be available to (and documented for use in) plugins and will be exposed to templates as `{{ urls.table(...) }}`. | { "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
663228985 |