瀏覽代碼

fix: Add condition to avoid breaking the `add` command

Cristian 5 年之前
父節點
當前提交
3afb2401bc
共有 2 個文件被更改,包括 7 次插入4 次删除
  1. 6 3
      archivebox/extractors/__init__.py
  2. 1 1
      archivebox/main.py

+ 6 - 3
archivebox/extractors/__init__.py

@@ -123,7 +123,7 @@ def archive_link(link: Link, overwrite: bool=False, methods: Optional[Iterable[s
 
 
 @enforce_types
-def archive_links(links: List[Link], overwrite: bool=False, methods: Optional[Iterable[str]]=None, out_dir: Optional[str]=None, skip_index: bool=False) -> List[Link]:
+def archive_links(links: List[Link], overwrite: bool=False, methods: Optional[Iterable[str]]=None, out_dir: Optional[str]=None, skip_index: bool=False, oneshot: bool=False) -> List[Link]:
     if not links:
         return []
 
@@ -132,8 +132,11 @@ def archive_links(links: List[Link], overwrite: bool=False, methods: Optional[It
     link: Link = links[0]
     try:
         for idx, link in enumerate(links):
-            link_out_dir = out_dir or link.link_dir
-            archive_link(link, overwrite=overwrite, methods=methods, link_out_dir=out_dir, skip_index=skip_index)
+            if oneshot:
+                link_out_dir = out_dir or link.link_dir
+            else:
+                link_out_dir = link.link_dir
+            archive_link(link, overwrite=overwrite, methods=methods, out_dir=link_out_dir, skip_index=skip_index)
     except KeyboardInterrupt:
         log_archiving_paused(len(links), idx, link.timestamp)
         raise SystemExit(0)

+ 1 - 1
archivebox/main.py

@@ -498,7 +498,7 @@ def status(out_dir: str=OUTPUT_DIR) -> None:
 def oneshot(url: str, out_dir: str=OUTPUT_DIR):
     oneshot_links, _ = parse_links_memory([url])
     oneshot_links, _ = dedupe_links([], oneshot_links)
-    archive_links(oneshot_links, out_dir=out_dir, skip_index=True)
+    archive_links(oneshot_links, out_dir=out_dir, skip_index=True, oneshot=True)
     return oneshot_links
 
 @enforce_types