diff --git a/archivebox/core/urls.py b/archivebox/core/urls.py
index a078ed94..60548c2d 100644
--- a/archivebox/core/urls.py
+++ b/archivebox/core/urls.py
@@ -5,7 +5,7 @@ from django.views import static
from django.conf import settings
from django.views.generic.base import RedirectView
-from core.views import MainIndex, OldIndex, LinkDetails, PublicArchiveView, SearchResultsView, add_view
+from core.views import MainIndex, OldIndex, LinkDetails, PublicArchiveView, add_view
# print('DEBUG', settings.DEBUG)
@@ -32,5 +32,4 @@ urlpatterns = [
path('index.json', static.serve, {'document_root': settings.OUTPUT_DIR, 'path': 'index.json'}),
path('', MainIndex.as_view(), name='Home'),
path('public/', PublicArchiveView.as_view(), name='public-index'),
- path('search_results/', SearchResultsView.as_view(), name='search-results'),
]
diff --git a/archivebox/core/views.py b/archivebox/core/views.py
index c7a0890f..4dee4612 100644
--- a/archivebox/core/views.py
+++ b/archivebox/core/views.py
@@ -123,6 +123,9 @@ class PublicArchiveView(ListView):
def get_queryset(self, **kwargs):
qs = super().get_queryset(**kwargs)
+ query = self.request.GET.get('q')
+ if query:
+ qs = Snapshot.objects.filter(title__icontains=query)
for snapshot in qs:
snapshot.icons = get_icons(snapshot)
return qs
@@ -134,45 +137,38 @@ class PublicArchiveView(ListView):
else:
return redirect(f'/admin/login/?next={self.request.path}')
-class SearchResultsView(PublicArchiveView):
- def get_queryset(self):
- query = self.request.GET.get('q')
- results = Snapshot.objects.filter(title__icontains=query)
- for snapshot in results:
- snapshot.icons = get_icons(snapshot)
- return results
def add_view(request):
- if PUBLIC_ADD_VIEW or request.user.is_authenticated:
- context = {
- 'title': 'Add URLs',
- }
- if request.method == 'GET':
- context['form'] = AddLinkForm()
+ if PUBLIC_ADD_VIEW or request.user.is_authenticated:
+ context = {
+ 'title': 'Add URLs',
+ }
+ if request.method == 'GET':
+ context['form'] = AddLinkForm()
- elif request.method == 'POST':
- form = AddLinkForm(request.POST)
- if form.is_valid():
- url = form.cleaned_data["url"]
- print(f'[+] Adding URL: {url}')
- depth = 0 if form.cleaned_data["depth"] == "0" else 1
- input_kwargs = {
- "urls": url,
- "depth": depth,
- "update_all": False,
- "out_dir": OUTPUT_DIR,
- }
- add_stdout = StringIO()
- with redirect_stdout(add_stdout):
- add(**input_kwargs)
- print(add_stdout.getvalue())
+ elif request.method == 'POST':
+ form = AddLinkForm(request.POST)
+ if form.is_valid():
+ url = form.cleaned_data["url"]
+ print(f'[+] Adding URL: {url}')
+ depth = 0 if form.cleaned_data["depth"] == "0" else 1
+ input_kwargs = {
+ "urls": url,
+ "depth": depth,
+ "update_all": False,
+ "out_dir": OUTPUT_DIR,
+ }
+ add_stdout = StringIO()
+ with redirect_stdout(add_stdout):
+ add(**input_kwargs)
+ print(add_stdout.getvalue())
- context.update({
- "stdout": ansi_to_html(add_stdout.getvalue().strip()),
- "form": AddLinkForm()
- })
- else:
- context["form"] = form
- return render(template_name='add_links.html', request=request, context=context)
- else:
- return redirect(f'/admin/login/?next={request.path}')
\ No newline at end of file
+ context.update({
+ "stdout": ansi_to_html(add_stdout.getvalue().strip()),
+ "form": AddLinkForm()
+ })
+ else:
+ context["form"] = form
+ return render(template_name='add_links.html', request=request, context=context)
+ else:
+ return redirect(f'/admin/login/?next={request.path}')
\ No newline at end of file
diff --git a/archivebox/themes/default/core/snapshot_list.html b/archivebox/themes/default/core/snapshot_list.html
index befec1be..ec92db14 100644
--- a/archivebox/themes/default/core/snapshot_list.html
+++ b/archivebox/themes/default/core/snapshot_list.html
@@ -232,7 +232,7 @@
-