Merge pull request #580 from BlipRanger/master

This commit is contained in:
Nick Sweeting 2020-12-10 12:48:30 -05:00 committed by GitHub
commit a194bb6301
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 2 deletions

View file

@ -10,11 +10,22 @@ CHOICES = (
('1', 'depth = 1 (archive these URLs and all URLs one hop away)'), ('1', 'depth = 1 (archive these URLs and all URLs one hop away)'),
) )
from ..extractors import get_default_archive_methods
ARCHIVE_METHODS = [
(name, name)
for name, _, _ in get_default_archive_methods()
]
class AddLinkForm(forms.Form): 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) 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') depth = forms.ChoiceField(label="Archive depth", choices=CHOICES, widget=forms.RadioSelect, initial='0')
archive_methods = forms.MultipleChoiceField(
required=False,
widget=forms.SelectMultiple,
choices=ARCHIVE_METHODS,
)
class TagWidgetMixin: class TagWidgetMixin:
def format_value(self, value): def format_value(self, value):
if value is not None and not isinstance(value, str): if value is not None and not isinstance(value, str):

View file

@ -150,12 +150,15 @@ class AddView(UserPassesTestMixin, FormView):
url = form.cleaned_data["url"] url = form.cleaned_data["url"]
print(f'[+] Adding URL: {url}') print(f'[+] Adding URL: {url}')
depth = 0 if form.cleaned_data["depth"] == "0" else 1 depth = 0 if form.cleaned_data["depth"] == "0" else 1
extractors = ','.join(form.cleaned_data["archive_methods"])
input_kwargs = { input_kwargs = {
"urls": url, "urls": url,
"depth": depth, "depth": depth,
"update_all": False, "update_all": False,
"out_dir": OUTPUT_DIR, "out_dir": OUTPUT_DIR,
} }
if extractors:
input_kwargs.update({"extractors": extractors})
add_stdout = StringIO() add_stdout = StringIO()
with redirect_stdout(add_stdout): with redirect_stdout(add_stdout):
add(**input_kwargs) add(**input_kwargs)