From 6456cb17274feab01f653d830dc8ca0d212771ec Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Wed, 28 Aug 2024 00:51:16 -0700 Subject: [PATCH] fix NOT NULL constraint failed: core_snapshot.created_by_id --- archivebox/index/sql.py | 4 +++- archivebox/plugantic/extractors.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/archivebox/index/sql.py b/archivebox/index/sql.py index 10c1525d..97058590 100644 --- a/archivebox/index/sql.py +++ b/archivebox/index/sql.py @@ -37,9 +37,11 @@ def remove_from_sql_main_index(snapshots: QuerySet, atomic: bool=False, out_dir: @enforce_types def write_link_to_sql_index(link: Link, created_by_id: int | None=None): from core.models import Snapshot, ArchiveResult + from abid_utils.models import get_or_create_system_user_pk + info = {k: v for k, v in link._asdict().items() if k in Snapshot.keys} - info['created_by_id'] = created_by_id + info['created_by_id'] = created_by_id or get_or_create_system_user_pk() tag_list = list(dict.fromkeys( tag.strip() for tag in re.split(TAG_SEPARATOR_PATTERN, link.tags or '') diff --git a/archivebox/plugantic/extractors.py b/archivebox/plugantic/extractors.py index 3befa5b5..56d594f3 100644 --- a/archivebox/plugantic/extractors.py +++ b/archivebox/plugantic/extractors.py @@ -31,7 +31,7 @@ def no_empty_args(args: List[str]) -> List[str]: assert all(len(arg) for arg in args) return args -ExtractorName = Literal['wget', 'warc', 'media'] +ExtractorName = Literal['wget', 'warc', 'media', 'singlefile'] | str HandlerFuncStr = Annotated[str, AfterValidator(lambda s: s.startswith('self.'))] CmdArgsList = Annotated[List[str], AfterValidator(no_empty_args)]