mirror of
https://github.com/ArchiveBox/ArchiveBox.git
synced 2025-05-13 06:34:25 -04:00
Add selector for archive modes
This commit is contained in:
parent
b186e98cd2
commit
d9fd1e3811
2 changed files with 24 additions and 1 deletions
|
@ -10,10 +10,28 @@ CHOICES = (
|
|||
('1', 'depth = 1 (archive these URLs and all URLs one hop away)'),
|
||||
)
|
||||
|
||||
ARCHIVE_METHODS = [
|
||||
('title', 'title'),
|
||||
('favicon', 'favicon'),
|
||||
('wget', 'wget'),
|
||||
('warc', 'warc'),
|
||||
('pdf', 'pdf'),
|
||||
('screenshot', 'screenshot'),
|
||||
('dom', 'dom'),
|
||||
('singlefile', 'singlefile'),
|
||||
('git', 'git'),
|
||||
('media', 'media'),
|
||||
('archive_org', 'archive_org'),
|
||||
]
|
||||
|
||||
|
||||
class AddLinkForm(forms.Form):
|
||||
url = forms.RegexField(label="URLs (one per line)", regex=URL_REGEX, min_length='6', strip=True, widget=forms.Textarea, required=True)
|
||||
depth = forms.ChoiceField(label="Archive depth", choices=CHOICES, widget=forms.RadioSelect, initial='0')
|
||||
|
||||
archiveMethods = forms.MultipleChoiceField(
|
||||
required=False,
|
||||
widget=forms.SelectMultiple,
|
||||
choices=ARCHIVE_METHODS,)
|
||||
|
||||
class TagWidgetMixin:
|
||||
def format_value(self, value):
|
||||
|
|
|
@ -138,12 +138,17 @@ class AddView(UserPassesTestMixin, FormView):
|
|||
url = form.cleaned_data["url"]
|
||||
print(f'[+] Adding URL: {url}')
|
||||
depth = 0 if form.cleaned_data["depth"] == "0" else 1
|
||||
extractors = ""
|
||||
for extractor in form.cleaned_data["archiveMethods"]:
|
||||
extractors = extractors + extractor + ','
|
||||
input_kwargs = {
|
||||
"urls": url,
|
||||
"depth": depth,
|
||||
"update_all": False,
|
||||
"out_dir": OUTPUT_DIR,
|
||||
}
|
||||
if extractors:
|
||||
input_kwargs.append("extractors": extractors)
|
||||
add_stdout = StringIO()
|
||||
with redirect_stdout(add_stdout):
|
||||
add(**input_kwargs)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue