Browse Source

refactor: singlefile uses snapshot instead of link

Cristian 5 years ago
parent
commit
ca7f48042b
3 changed files with 11 additions and 9 deletions
  1. 9 7
      archivebox/extractors/singlefile.py
  2. 1 1
      archivebox/extractors/wget.py
  3. 1 1
      package-lock.json

+ 9 - 7
archivebox/extractors/singlefile.py

@@ -5,7 +5,9 @@ from pathlib import Path
 from typing import Optional
 import json
 
-from ..index.schema import Link, ArchiveResult, ArchiveError
+from django.db.models import Model
+
+from ..index.schema import ArchiveResult, ArchiveError
 from ..system import run, chmod_file
 from ..util import (
     enforce_types,
@@ -23,9 +25,9 @@ from ..logging_util import TimedProgress
 
 
 @enforce_types
-def should_save_singlefile(link: Link, out_dir: Optional[Path]=None) -> bool:
-    out_dir = out_dir or Path(link.link_dir)
-    if is_static_file(link.url):
+def should_save_singlefile(snapshot: Model, out_dir: Optional[Path]=None) -> bool:
+    out_dir = out_dir or Path(snapshot.snapshot_dir)
+    if is_static_file(snapshot.url):
         return False
 
     output = out_dir / 'singlefile.html'
@@ -33,10 +35,10 @@ def should_save_singlefile(link: Link, out_dir: Optional[Path]=None) -> bool:
 
 
 @enforce_types
-def save_singlefile(link: Link, out_dir: Optional[Path]=None, timeout: int=TIMEOUT) -> ArchiveResult:
+def save_singlefile(snapshot: Model, out_dir: Optional[Path]=None, timeout: int=TIMEOUT) -> ArchiveResult:
     """download full site using single-file"""
 
-    out_dir = out_dir or Path(link.link_dir)
+    out_dir = out_dir or Path(snapshot.snapshot_dir)
     output = str(out_dir.absolute() / "singlefile.html")
 
     browser_args = chrome_args(TIMEOUT=0)
@@ -47,7 +49,7 @@ def save_singlefile(link: Link, out_dir: Optional[Path]=None, timeout: int=TIMEO
         DEPENDENCIES['SINGLEFILE_BINARY']['path'],
         '--browser-executable-path={}'.format(CHROME_BINARY),
         browser_args,
-        link.url,
+        snapshot.url,
         output
     ]
 

+ 1 - 1
archivebox/extractors/wget.py

@@ -8,7 +8,7 @@ from datetime import datetime
 
 from django.db.models import Model
 
-from ..index.schema import Link, ArchiveResult, ArchiveOutput, ArchiveError
+from ..index.schema import ArchiveResult, ArchiveOutput, ArchiveError
 from ..system import run, chmod_file
 from ..util import (
     enforce_types,

+ 1 - 1
package-lock.json

@@ -1,6 +1,6 @@
 {
 	"name": "archivebox",
-	"version": "0.4.21",
+	"version": "0.5.1",
 	"lockfileVersion": 1,
 	"requires": true,
 	"dependencies": {