home / github

Menu
  • Search all tables
  • GraphQL API

issue_comments

Table actions
  • GraphQL API for issue_comments

7 rows where issue = 688622148 and user = 9599 sorted by updated_at descending

✖
✖
✖

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: updated_at (date)

user 1

  • simonw · 7 ✖

issue 1

  • Simplify imports of common classes · 7 ✖

author_association 1

  • OWNER 7
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions issue performed_via_github_app
1030762140 https://github.com/simonw/datasette/issues/957#issuecomment-1030762140 https://api.github.com/repos/simonw/datasette/issues/957 IC_kwDOBm6k_c49cC6c simonw 9599 2022-02-06T06:36:41Z 2022-02-06T06:36:41Z OWNER

Documented here: https://docs.datasette.io/en/latest/internals.html#import-shortcuts

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Simplify imports of common classes 688622148  
1030761625 https://github.com/simonw/datasette/issues/957#issuecomment-1030761625 https://api.github.com/repos/simonw/datasette/issues/957 IC_kwDOBm6k_c49cCyZ simonw 9599 2022-02-06T06:30:32Z 2022-02-06T06:31:44Z OWNER

I'm just going with:

python from datasette import Response from datasette import Forbidden from datasette import NotFound from datasette import hookimpl from datasette import actor_matches_allow

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Simplify imports of common classes 688622148  
683357092 https://github.com/simonw/datasette/issues/957#issuecomment-683357092 https://api.github.com/repos/simonw/datasette/issues/957 MDEyOklzc3VlQ29tbWVudDY4MzM1NzA5Mg== simonw 9599 2020-08-30T00:15:51Z 2020-08-30T00:16:02Z OWNER

Weirdly even removing this single datasette import from utils/asgi.py didn't fix the circular import:

https://github.com/simonw/datasette/blob/44cf424a94a85b74552075272660bb96a7432661/datasette/utils/asgi.py#L1-L3

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Simplify imports of common classes 688622148  
683356440 https://github.com/simonw/datasette/issues/957#issuecomment-683356440 https://api.github.com/repos/simonw/datasette/issues/957 MDEyOklzc3VlQ29tbWVudDY4MzM1NjQ0MA== simonw 9599 2020-08-30T00:08:18Z 2020-08-30T00:10:26Z OWNER

Annoyingly this seems to be the line that causes the circular import: python from .utils.asgi import Forbidden, NotFound, Response

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Simplify imports of common classes 688622148  
683355993 https://github.com/simonw/datasette/issues/957#issuecomment-683355993 https://api.github.com/repos/simonw/datasette/issues/957 MDEyOklzc3VlQ29tbWVudDY4MzM1NTk5Mw== simonw 9599 2020-08-30T00:02:11Z 2020-08-30T00:04:18Z OWNER

I tried doing this and got this error: ``` (datasette) datasette % pytest ==================================================================== test session starts ===================================================================== platform darwin -- Python 3.8.5, pytest-6.0.1, py-1.9.0, pluggy-0.13.1 rootdir: /Users/simon/Dropbox/Development/datasette, configfile: pytest.ini plugins: asyncio-0.14.0, timeout-1.4.2 collected 1 item / 23 errors

=========================================================================== ERRORS =========================================================================== _________ ERROR collecting tests/test_api.py ________ ImportError while importing test module '/Users/simon/Dropbox/Development/datasette/tests/testapi.py'. Hint: make sure your test modules/packages have valid Python names. Traceback: /usr/local/opt/python@3.8/Frameworks/Python.framework/Versions/3.8/lib/python3.8/importlib/init__.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) tests/test_api.py:1: in <module> from datasette.plugins import DEFAULT_PLUGINS datasette/init.py:2: in <module> from .app import Datasette datasette/app.py:30: in <module> from .views.base import DatasetteError, ureg datasette/views/base.py:12: in <module> from datasette.plugins import pm datasette/plugins.py:26: in <module> mod = importlib.import_module(plugin) /usr/local/opt/python@3.8/Frameworks/Python.framework/Versions/3.8/lib/python3.8/importlib/init.py:127: in import_module return _bootstrap._gcd_import(name[level:], package, level) datasette/publish/heroku.py:2: in <module> from datasette import hookimpl E ImportError: cannot import name 'hookimpl' from partially initialized module 'datasette' (most likely due to a circular import) (/Users/simon/Dropbox/Development/datasette/datasette/init.py) That's with `datasette/__init__.py` looking like this:python from datasette.version import version_info, version # noqa from .app import Datasette from .utils.asgi import Forbidden, NotFound, Response from .utils import actor_matches_allow, QueryInterrupted from .hookspecs import hookimpl # noqa from .hookspecs import hookspec # noqa

all = [ "actor_matches_allow", "hookimpl", "hookspec", "QueryInterrupted", "Forbidden", "NotFound", "Response", "Datasette", ] ```

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Simplify imports of common classes 688622148  
683355598 https://github.com/simonw/datasette/issues/957#issuecomment-683355598 https://api.github.com/repos/simonw/datasette/issues/957 MDEyOklzc3VlQ29tbWVudDY4MzM1NTU5OA== simonw 9599 2020-08-29T23:55:10Z 2020-08-29T23:55:34Z OWNER

Of these I think I'm going to promote the following to being importable directly from datasette:

  • from datasette.app import Datasette
  • from datasette.utils import QueryInterrupted
  • from datasette.utils.asgi import Response, Forbidden, NotFound
  • from datasette.utils import actor_matches_allow

All of the rest are infrequently used enough (or clearly named enough) that I'm happy to leave them as-is.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Simplify imports of common classes 688622148  
683355508 https://github.com/simonw/datasette/issues/957#issuecomment-683355508 https://api.github.com/repos/simonw/datasette/issues/957 MDEyOklzc3VlQ29tbWVudDY4MzM1NTUwOA== simonw 9599 2020-08-29T23:54:01Z 2020-08-29T23:54:01Z OWNER

Reviewing https://github.com/search?q=user%3Asimonw+%22from+datasette%22&type=Code I spotted these others:

```python

Various:

from datasette.utils import path_with_replaced_args from datasette.plugins import pm from datasette.utils import QueryInterrupted from datasette.utils.asgi import Response, Forbidden, NotFound

datasette-publish-vercel:

from datasette.publish.common import ( add_common_publish_arguments_and_options, fail_if_publish_binary_not_installed ) from datasette.utils import temporary_docker_directory

datasette-insert

from datasette.utils import actor_matches_allow, sqlite3

obsolete: russian-ira-facebook-ads-datasette

from datasette.utils import TableFilter

simonw/museums

from datasette.utils.asgi import asgi_send

datasette-media

from datasette.utils.asgi import Response, asgi_send_file

datasette/tests/plugins/my_plugin.py

from datasette.facets import Facet

datasette-graphql

from datasette.views.table import TableView ```

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
Simplify imports of common classes 688622148  

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 1160.899ms · About: github-to-sqlite
  • Sort ascending
  • Sort descending
  • Facet by this
  • Hide this column
  • Show all columns
  • Show not-blank rows