home / github

Menu
  • Search all tables
  • GraphQL API

issue_comments

Table actions
  • GraphQL API for issue_comments

10 rows where issue = 567902704 and user = 9599 sorted by updated_at descending

✖
✖
✖

✎ View and edit SQL

This data as json, CSV (advanced)

user 1

  • simonw · 10 ✖

issue 1

  • --cp option for datasette publish and datasette package for shipping additional files and directories · 10 ✖

author_association 1

  • OWNER 10
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions issue performed_via_github_app
751826749 https://github.com/simonw/datasette/issues/675#issuecomment-751826749 https://api.github.com/repos/simonw/datasette/issues/675 MDEyOklzc3VlQ29tbWVudDc1MTgyNjc0OQ== simonw 9599 2020-12-28T18:49:21Z 2020-12-28T18:49:21Z OWNER

That --exec could help solve all sorts of other problems too, like needing to apt-get install extra packages or download files from somewhere using wget.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
--cp option for datasette publish and datasette package for shipping additional files and directories 567902704  
751826621 https://github.com/simonw/datasette/issues/675#issuecomment-751826621 https://api.github.com/repos/simonw/datasette/issues/675 MDEyOklzc3VlQ29tbWVudDc1MTgyNjYyMQ== simonw 9599 2020-12-28T18:48:51Z 2020-12-28T18:48:51Z OWNER

I could make --include work if I also had a mechanism for running some shell commands inside the container at the end of the build - which users could then use to move files into the correct place.

datasette publish cloudrun my.db --include src/ --exec 'mv /app/src/config.yml /etc/conf/config.yml'
{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
--cp option for datasette publish and datasette package for shipping additional files and directories 567902704  
747070709 https://github.com/simonw/datasette/issues/675#issuecomment-747070709 https://api.github.com/repos/simonw/datasette/issues/675 MDEyOklzc3VlQ29tbWVudDc0NzA3MDcwOQ== simonw 9599 2020-12-16T22:09:15Z 2020-12-16T22:09:15Z OWNER

The other way this could work is passing a single argument - the file (or directory) to be copied in - and assuming it should always go in the /app root. Something like:

datasette publish cloudrun my.db --include src/ --include dogsheep-beta.yml

Which would add /app/src/... and /app/dogsheep-beta.yml.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
--cp option for datasette publish and datasette package for shipping additional files and directories 567902704  
747068624 https://github.com/simonw/datasette/issues/675#issuecomment-747068624 https://api.github.com/repos/simonw/datasette/issues/675 MDEyOklzc3VlQ29tbWVudDc0NzA2ODYyNA== simonw 9599 2020-12-16T22:04:42Z 2020-12-16T22:04:42Z OWNER

I can't just use COPY /path/to/blah.yml /app in the Dockerfile because it runs on the Google Cloud Build servers, not on the user's laptop - so I need to first copy the files they specify to that temporary directory that gets uploaded to the cloud, then rewrite the COPY lines in the Dockerfile to copy from there.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
--cp option for datasette publish and datasette package for shipping additional files and directories 567902704  
747067864 https://github.com/simonw/datasette/issues/675#issuecomment-747067864 https://api.github.com/repos/simonw/datasette/issues/675 MDEyOklzc3VlQ29tbWVudDc0NzA2Nzg2NA== simonw 9599 2020-12-16T22:02:55Z 2020-12-16T22:02:55Z OWNER

But since we're already running COPY . /app anything that's made it into the temporary directory will get copied into /app.

But... I feel the usability of the command will be better if users can use absolute paths on the target side:

datasette publish cloudrun my.db --cp dogsheep-beta.yml /app
{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
--cp option for datasette publish and datasette package for shipping additional files and directories 567902704  
747066629 https://github.com/simonw/datasette/issues/675#issuecomment-747066629 https://api.github.com/repos/simonw/datasette/issues/675 MDEyOklzc3VlQ29tbWVudDc0NzA2NjYyOQ== simonw 9599 2020-12-16T21:59:58Z 2020-12-16T22:00:48Z OWNER

Note that datasette publish cloudrun uses a working directory of /app - so users will need to copy their files into /app if that's where they need to live.

https://github.com/simonw/datasette/blob/17cbbb1f7f230b39650afac62dd16476626001b5/datasette/utils/init.py#L348-L357

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
--cp option for datasette publish and datasette package for shipping additional files and directories 567902704  
747059277 https://github.com/simonw/datasette/issues/675#issuecomment-747059277 https://api.github.com/repos/simonw/datasette/issues/675 MDEyOklzc3VlQ29tbWVudDc0NzA1OTI3Nw== simonw 9599 2020-12-16T21:43:52Z 2020-12-16T21:43:52Z OWNER

It turns out I need this for a couple of projects:

  • datasette-ripgrep needs to ship a whole bunch of source code files up in a known location. I worked around this with a nasty hack involving --static but it would be better if I wasn't doing that.
  • dogsheep-beta uses an additional dogsheep-beta.yml configuration file in the project root (a sibling to metadata.yml) which needs to be included when publishing - see https://github.com/simonw/datasette.io/issues/21#issuecomment-747058067

I want this for datasette publish cloudrun, not just for datasette package.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
--cp option for datasette publish and datasette package for shipping additional files and directories 567902704  
592399256 https://github.com/simonw/datasette/issues/675#issuecomment-592399256 https://api.github.com/repos/simonw/datasette/issues/675 MDEyOklzc3VlQ29tbWVudDU5MjM5OTI1Ng== simonw 9599 2020-02-28T08:09:12Z 2020-02-28T08:09:12Z OWNER

Sure, --cp looks good to me.

{
    "total_count": 1,
    "+1": 1,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
--cp option for datasette publish and datasette package for shipping additional files and directories 567902704  
590539805 https://github.com/simonw/datasette/issues/675#issuecomment-590539805 https://api.github.com/repos/simonw/datasette/issues/675 MDEyOklzc3VlQ29tbWVudDU5MDUzOTgwNQ== simonw 9599 2020-02-24T20:44:59Z 2020-02-24T20:45:08Z OWNER

Design looks great to me.

I'm not keen on two letter short versions (-cp) - I'd rather either have a single character or no short form at all.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
--cp option for datasette publish and datasette package for shipping additional files and directories 567902704  
589908912 https://github.com/simonw/datasette/issues/675#issuecomment-589908912 https://api.github.com/repos/simonw/datasette/issues/675 MDEyOklzc3VlQ29tbWVudDU4OTkwODkxMg== simonw 9599 2020-02-22T02:38:21Z 2020-02-22T02:38:21Z OWNER

Interesting feature suggestion.

My initial instinct was that this would be better handled using the layered nature of Docker - so build a Docker image with datasette package and then have a separate custom script which takes that image, copies in the extra data and outputs a new image.

But... datasette package is already meant to be more convenient than messing around with Docker by hand like this - so actually having a --copy option like you describe here feels like it's within scope of what datasette package is meant to do.

So yeah - if you're happy to design this I think it would be worth us adding.

Small design suggestion: allow --copy to be applied multiple times, so you can do something like this:

datasette package \
    --copy ~/project/templates /templates \
    --copy ~/project/README.md /README.md \
    data.db

Also since Click arguments can take multiple options I don't think you need to have the : in there - although if it better matches Docker's own UI it might be more consistent to have it.

{
    "total_count": 1,
    "+1": 1,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
--cp option for datasette publish and datasette package for shipping additional files and directories 567902704  

Advanced export

JSON shape: default, array, newline-delimited, object

CSV options:

CREATE TABLE [issue_comments] (
   [html_url] TEXT,
   [issue_url] TEXT,
   [id] INTEGER PRIMARY KEY,
   [node_id] TEXT,
   [user] INTEGER REFERENCES [users]([id]),
   [created_at] TEXT,
   [updated_at] TEXT,
   [author_association] TEXT,
   [body] TEXT,
   [reactions] TEXT,
   [issue] INTEGER REFERENCES [issues]([id])
, [performed_via_github_app] TEXT);
CREATE INDEX [idx_issue_comments_issue]
                ON [issue_comments] ([issue]);
CREATE INDEX [idx_issue_comments_user]
                ON [issue_comments] ([user]);
Powered by Datasette · Queries took 1616.689ms · About: github-to-sqlite
  • Sort ascending
  • Sort descending
  • Facet by this
  • Hide this column
  • Show all columns
  • Show not-blank rows