support adding urls with tags directly via CLI and add page

This commit is contained in:
Nick Sweeting 2021-03-27 04:30:15 -04:00
parent 5fb9ca389f
commit f3a3d76439
6 changed files with 25 additions and 14 deletions

View file

@ -611,17 +611,6 @@ def add(urls: Union[str, List[str]],
write_main_index(links=new_links, out_dir=out_dir)
all_links = load_main_index(out_dir=out_dir)
# add any tags to imported links
tags = [
Tag.objects.get_or_create(name=name.strip())
for name in tag.split(',')
if name.strip()
]
if tags:
for link in imported_links:
link.as_snapshot().tags.add(*tags)
if index_only:
# mock archive all the links using the fake index_only extractor method in order to update their state
if overwrite:
@ -644,6 +633,21 @@ def add(urls: Union[str, List[str]],
archive_links(new_links, overwrite=False, **archive_kwargs)
# add any tags to imported links
tags = [
Tag.objects.get_or_create(name=name.strip())[0]
for name in tag.split(',')
if name.strip()
]
if tags:
for link in imported_links:
snapshot = link.as_snapshot()
snapshot.tags.add(*tags)
tags_str = snapshot.tags_str(nocache=True)
snapshot.save()
# print(f' √ Tagged {len(imported_links)} Snapshots with {len(tags)} tags {tags_str}')
return all_links
@enforce_types