MCPcopy
hub / github.com/ArchiveBox/ArchiveBox / write_sql_link_details

Function write_sql_link_details

archivebox/index/sql.py:99–121  ·  view source on GitHub ↗
(link: Link, out_dir: Path=OUTPUT_DIR)

Source from the content-addressed store, hash-verified

97
98@enforce_types
99def write_sql_link_details(link: Link, out_dir: Path=OUTPUT_DIR) -> None:
100 from core.models import Snapshot
101
102 # with transaction.atomic():
103 # try:
104 # snap = Snapshot.objects.get(url=link.url)
105 # except Snapshot.DoesNotExist:
106 # snap = write_link_to_sql_index(link)
107 # snap.title = link.title
108 try:
109 snap = Snapshot.objects.get(url=link.url)
110 except Snapshot.DoesNotExist:
111 snap = write_link_to_sql_index(link)
112
113 snap.title = link.title
114
115 tag_list = list(
116 {tag.strip() for tag in re.split(TAG_SEPARATOR_PATTERN, link.tags or '')}
117 | set(snap.tags.values_list('name', flat=True))
118 )
119
120 snap.save()
121 snap.save_tags(tag_list)
122
123
124

Callers 1

write_link_detailsFunction · 0.85

Calls 4

write_link_to_sql_indexFunction · 0.85
saveMethod · 0.80
save_tagsMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected