1
0
Fork 0
mirror of synced 2024-05-14 01:13:45 +12:00

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
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
]

View file

@ -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,

2
package-lock.json generated
View file

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