{"html_url": "https://github.com/dogsheep/github-to-sqlite/pull/8#issuecomment-549094195", "issue_url": "https://api.github.com/repos/dogsheep/github-to-sqlite/issues/8", "id": 549094195, "node_id": "MDEyOklzc3VlQ29tbWVudDU0OTA5NDE5NQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-11-03T00:43:16Z", "updated_at": "2019-11-03T00:43:28Z", "author_association": "MEMBER", "body": "Also need to take #5 into account - if this command creates incomplete user records, how do we repair them?\r\n\r\nAnd make sure that if we run this command first any future commands that populate users don't break (probably just a case of using `alter=True` in a few places).", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 516763727, "label": "stargazers command, refs #4"}, "performed_via_github_app": null} {"html_url": "https://github.com/dogsheep/github-to-sqlite/issues/5#issuecomment-549094229", "issue_url": "https://api.github.com/repos/dogsheep/github-to-sqlite/issues/5", "id": 549094229, "node_id": "MDEyOklzc3VlQ29tbWVudDU0OTA5NDIyOQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-11-03T00:44:03Z", "updated_at": "2019-11-03T00:44:03Z", "author_association": "MEMBER", "body": "Might not need an incomplete boolean - may be possible to handle this with `alter=True` and then by filtering for users with null values in certain columns.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 493671014, "label": "Add \"incomplete\" boolean to users table for incomplete profiles"}, "performed_via_github_app": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/issues/27#issuecomment-549095217", "issue_url": "https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/27", "id": 549095217, "node_id": "MDEyOklzc3VlQ29tbWVudDU0OTA5NTIxNw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-11-03T01:06:25Z", "updated_at": "2019-11-03T01:06:25Z", "author_association": "MEMBER", "body": "Wow, that `retweets_of_me` endpoint is almost completely useless:\r\n```\r\n$ twitter-to-sqlite fetch https://api.twitter.com/1.1/statuses/retweets_of_me.json\r\n```\r\nIt returns my own tweets that have been retweeted, but with no indication at all of who retweeted them.\r\n\r\nIt looks like this needs to be combined with this API - https://developer.twitter.com/en/docs/tweets/post-and-engage/api-reference/get-statuses-retweets-id - to fetch the details of up to 100 recent users who actually DID retweet an individual status. But that has a one-every-12-seconds rate limit on it.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 514459062, "label": "retweets-of-me command"}, "performed_via_github_app": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/issues/27#issuecomment-549095317", "issue_url": "https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/27", "id": 549095317, "node_id": "MDEyOklzc3VlQ29tbWVudDU0OTA5NTMxNw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-11-03T01:08:10Z", "updated_at": "2019-11-03T01:08:10Z", "author_association": "MEMBER", "body": "Hmm... one thing that could be useful is that `retweets_of_me` can support a `--since` parameter - so if run frequently it should hopefully let us know which tweets we would need to run `statuses/retweets/:id.json` against.\r\n\r\nI'm not sure if the `--since` parameter would show me a tweet that was previously retweeted but has now been retweeted again. I'll have a bit of a test and see.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 514459062, "label": "retweets-of-me command"}, "performed_via_github_app": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/issues/27#issuecomment-549095463", "issue_url": "https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/27", "id": 549095463, "node_id": "MDEyOklzc3VlQ29tbWVudDU0OTA5NTQ2Mw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-11-03T01:10:52Z", "updated_at": "2019-11-03T01:10:52Z", "author_association": "MEMBER", "body": "I imagine it won't, since the data I would be recording and then passing to `since_id` would be the highest ID of my own tweets that have been retweeted at least once. So it won't be able to spot if I should check for fresh retweets of a given tweet.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 514459062, "label": "retweets-of-me command"}, "performed_via_github_app": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/issues/27#issuecomment-549095641", "issue_url": "https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/27", "id": 549095641, "node_id": "MDEyOklzc3VlQ29tbWVudDU0OTA5NTY0MQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-11-03T01:12:58Z", "updated_at": "2019-11-03T01:12:58Z", "author_association": "MEMBER", "body": "It looks like Twitter really want you to subscribe to a premium API for this kind of thing and consume retweets via webhooks: https://developer.twitter.com/en/docs/accounts-and-users/subscribe-account-activity/api-reference\r\n\r\nI'm going to give up on this for the moment.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 514459062, "label": "retweets-of-me command"}, "performed_via_github_app": null} {"html_url": "https://github.com/dogsheep/twitter-to-sqlite/issues/3#issuecomment-549096321", "issue_url": "https://api.github.com/repos/dogsheep/twitter-to-sqlite/issues/3", "id": 549096321, "node_id": "MDEyOklzc3VlQ29tbWVudDU0OTA5NjMyMQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-11-03T01:27:55Z", "updated_at": "2019-11-03T01:28:17Z", "author_association": "MEMBER", "body": "It would be neat if this could support `--since`, with that argument automatically finding the maximum tweet ID from a previous search that used the same exact arguments (using the `search_runs` table).", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 488833975, "label": "Command for running a search and saving tweets for that search"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/577#issuecomment-549160499", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/577", "id": 549160499, "node_id": "MDEyOklzc3VlQ29tbWVudDU0OTE2MDQ5OQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-11-03T17:36:59Z", "updated_at": "2019-11-03T17:36:59Z", "author_association": "OWNER", "body": "I think a `.render_template()` method on the `Datasette` class would be acceptable, since the purpose of that class will mainly be to provide a documented API for plugins to use: #576 ", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 497171390, "label": "Utility mechanism for plugins to render templates"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/613#issuecomment-549168834", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/613", "id": 549168834, "node_id": "MDEyOklzc3VlQ29tbWVudDU0OTE2ODgzNA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-11-03T19:14:01Z", "updated_at": "2019-11-03T19:14:01Z", "author_association": "OWNER", "body": "Consider https://latest.datasette.io/fixtures/facetable\r\n\r\nWith `?_join=city_id` the underlying query would become this:\r\n\r\n```\r\nselect\r\n facetable.pk as 'facetable.pk',\r\n facetable.created as 'facetable.created',\r\n facetable.planet_int as 'facetable.planet_int',\r\n facetable.on_earth as 'facetable.on_earth',\r\n facetable.state as 'facetable.state',\r\n facetable.city_id as 'facetable.city_id',\r\n facetable.neighborhood as 'facetable.neighborhood',\r\n facetable.tags as 'facetable.tags',\r\n facetable.complex_array as 'facetable.complex_array',\r\n facet_cities.id as 'facet_cities.id',\r\n facet_cities.name as 'facet_cities.name'\r\nfrom\r\n facetable\r\n join facet_cities on facetable.city_id = facet_cities.id\r\n```\r\nhttps://latest.datasette.io/fixtures?sql=select%0D%0A++facetable.pk+as+%27facetable.pk%27%2C%0D%0A++facetable.created+as+%27facetable.created%27%2C%0D%0A++facetable.planet_int+as+%27facetable.planet_int%27%2C%0D%0A++facetable.on_earth+as+%27facetable.on_earth%27%2C%0D%0A++facetable.state+as+%27facetable.state%27%2C%0D%0A++facetable.city_id+as+%27facetable.city_id%27%2C%0D%0A++facetable.neighborhood+as+%27facetable.neighborhood%27%2C%0D%0A++facetable.tags+as+%27facetable.tags%27%2C%0D%0A++facetable.complex_array+as+%27facetable.complex_array%27%2C%0D%0A++facet_cities.id+as+%27facet_cities.id%27%2C%0D%0A++facet_cities.name+as+%27facet_cities.name%27%0D%0Afrom%0D%0A++facetable%0D%0A++join+facet_cities+on+facetable.city_id+%3D+facet_cities.id\r\n\r\nI'm using `select foo.bar as 'foo.bar'` here to ensure that every column has an unambiguous name, to avoid any weirdness from joining against a table where both tables have a 'name' column.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 516874735, "label": "Basic join support for table view"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/292#issuecomment-549169101", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/292", "id": 549169101, "node_id": "MDEyOklzc3VlQ29tbWVudDU0OTE2OTEwMQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2019-11-03T19:17:08Z", "updated_at": "2019-11-03T19:17:16Z", "author_association": "OWNER", "body": "A good basic starting point for this would be to ignore the ability to add custom SQL fragments and instead focus on being able to show and hide specific columns. This will play particularly well with #613.\r\n\r\nProposed syntax for that:\r\n\r\n`/db/table?_col=id&_col=name` - just show the `id` and `name` columns\r\n`/db/table?_nocol=extras&_nocol=age` - show all columns except for `extras` and `age`\r\n\r\nI don't think it makes sense to allow both `?_col=` and `?_nocol=` arguments in the same request, so if you provide both I think we throw a 400 error.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 326800219, "label": "Mechanism for customizing the SQL used to select specific columns in the table view"}, "performed_via_github_app": null}