refactor: singlefile uses snapshot instead of link

This commit is contained in:
Cristian 2020-12-29 12:46:51 -05:00
parent f6152ded44
commit ca7f48042b
3 changed files with 11 additions and 9 deletions

View file

@ -5,7 +5,9 @@ from pathlib import Path
from typing import Optional from typing import Optional
import json 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 ..system import run, chmod_file
from ..util import ( from ..util import (
enforce_types, enforce_types,
@ -23,9 +25,9 @@ from ..logging_util import TimedProgress
@enforce_types @enforce_types
def should_save_singlefile(link: Link, out_dir: Optional[Path]=None) -> bool: def should_save_singlefile(snapshot: Model, out_dir: Optional[Path]=None) -> bool:
out_dir = out_dir or Path(link.link_dir) out_dir = out_dir or Path(snapshot.snapshot_dir)
if is_static_file(link.url): if is_static_file(snapshot.url):
return False return False
output = out_dir / 'singlefile.html' output = out_dir / 'singlefile.html'
@ -33,10 +35,10 @@ def should_save_singlefile(link: Link, out_dir: Optional[Path]=None) -> bool:
@enforce_types @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""" """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") output = str(out_dir.absolute() / "singlefile.html")
browser_args = chrome_args(TIMEOUT=0) 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'], DEPENDENCIES['SINGLEFILE_BINARY']['path'],
'--browser-executable-path={}'.format(CHROME_BINARY), '--browser-executable-path={}'.format(CHROME_BINARY),
browser_args, browser_args,
link.url, snapshot.url,
output output
] ]

View file

@ -8,7 +8,7 @@ from datetime import datetime
from django.db.models import Model 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 ..system import run, chmod_file
from ..util import ( from ..util import (
enforce_types, enforce_types,

2
package-lock.json generated
View file

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