diff --git a/cazador/forms.py b/cazador/forms.py deleted file mode 100644 index eccda20..0000000 --- a/cazador/forms.py +++ /dev/null @@ -1,19 +0,0 @@ -from django.forms import Form - - -class CazadorForm(Form): - def search(self): - sqs = super(CazadorForm, self).search() - - if not self.is_valid(): - return self.no_query_found() - - if not self.cleaned_data.get('q'): - return self.no_query_found() - - sqs = self.searchqueryset.using('cazador').auto_query(self.cleaned_data['q']) - - if self.load_all: - sqs = sqs.load_all() - - return sqs diff --git a/cazador/management/commands/import_data.py b/cazador/management/commands/import_data.py deleted file mode 100644 index df19b15..0000000 --- a/cazador/management/commands/import_data.py +++ /dev/null @@ -1,70 +0,0 @@ -"""Add deudores al Estado to index""" -from tqdm import tqdm - -from django.core.management.base import BaseCommand, CommandError - -from cazador.models import Cazador -from cazador import shrink_url_in_string - - -DBS = ['deudores', 'candidato_2014', 'narcoindultos', 'redam'] - - -class Command(BaseCommand): - def add_arguments(self, parser): - parser.add_argument('-i', - action='store', - dest='input_file', - help='Enter filename with data to import.', - ) - parser.add_argument('-db', - action='store', - dest='database', - help='Enter database, options: {}'.format(', '.join(DBS))) - - def handle(self, *args, **options): - if not options['input_file']: - raise CommandError("Input Filename does not exist.") - if options['database'] not in DBS: - raise CommandError("Name of database is incorrect. Use one of the " - "following options: {}".format(', '.join(DBS))) - - input_file = options['input_file'] - database = options['database'] - self.process_file(input_file, database) - - def process_file(self, input_file, database): - print(input_file, database) - with open(input_file, "r") as handle: - data = handle.readlines() - - entries = [] - for raw_line in tqdm(data): - line = raw_line.strip() - fields = line.split("\t") - if database == 'candidato_2014': - raw_data = " ".join([fields[2], fields[3], fields[4], fields[1], fields[7]]) - c = Cazador( - raw_data=raw_data, - raw_data_with_short_links=shrink_url_in_string(raw_data), - source=database, - ) - elif database == 'redam': - c = Cazador( - raw_data=", ".join(fields), - source=database, - ) - elif database == 'narcoindultos': - c = Cazador( - raw_data=" ".join(fields), - source=database, - ) - else: - raw_data = " ".join([fields[2], fields[10], fields[1]]) - c = Cazador( - raw_data=raw_data, - raw_data_with_short_links=shrink_url_in_string(raw_data), - source=database, - ) - entries.append(c) - Cazador.objects.bulk_create(entries) diff --git a/cazador/tests.py b/cazador/tests.py deleted file mode 100644 index 08da51c..0000000 --- a/cazador/tests.py +++ /dev/null @@ -1,14 +0,0 @@ -import unittest - -from .utils import shrink_url_in_string - - -class TestUtils(unittest.TestCase): - def setUp(self): - self.maxDiff = None - - def test_shrink_url_in_string(self): - my_string = "Carlos Fernando Raffo Arce http://ot.minjus.gob.pe:8080/sisca_web/DeudoresWebAction_verDeudorWeb.action?deudor.id=7683" # noqa - expected = "Carlos Fernando Raffo Arce http://ot.minjus.gob.pe..." # noqa - result = shrink_url_in_string(my_string) - self.assertEqual(expected, result) diff --git a/cazador/utils.py b/cazador/utils.py deleted file mode 100644 index eb905dc..0000000 --- a/cazador/utils.py +++ /dev/null @@ -1,44 +0,0 @@ -import re - - -def search(name): - es = None - # TODO: implement django queryset search here - if not es: - return [] - res = es.search(index="great_db", q=name) - - records = [] - - for i in res['hits']['hits']: - if i['_score'] >= 2.0: - record = [i['_score'], i['_source']['source'], name, i['_source']['raw_data']] - records.append(record) - - return records - - -def search_list(input_filename): - with open(input_filename, "r") as handle: - names = handle.readlines() - - for name in names: - name = name.strip() - search(name) - - -def shrink_url_in_string(my_string): - """Identify URL and shrink it. Note that this will not be a short_url.""" - res = re.search("(https?://.+)$", my_string) - if res: - long_link = res.groups()[0] - short_link = long_link[0:23] - my_string_less_link = my_string.replace(long_link, "") - my_new_string = "{0} {2}...".format( - my_string_less_link, - long_link, - short_link, - ) - return my_new_string - else: - return my_string diff --git a/cazador/views.py b/cazador/views.py index 4619af4..12cfef5 100644 --- a/cazador/views.py +++ b/cazador/views.py @@ -1,39 +1,7 @@ -import urllib - from django.shortcuts import render -from django.utils.datastructures import MultiValueDictKeyError from django.views.decorators.csrf import csrf_exempt -from cazador.forms import CazadorForm -from visitors.views import do_pagination - @csrf_exempt def index(request): - try: - original_query = request.GET['q'] - except MultiValueDictKeyError: - return render(request, "cazador/index.html") - - all_items = [] - query_list = original_query.splitlines() - for query in query_list: - request_query = {'q': query} - form = CazadorForm(request_query) - query_results = form.search() - all_items += query_results - - search_queryset = list(set(all_items)) - paginator, page = do_pagination(request, search_queryset) - - return render( - request, - "cazador/results.html", - context={ - "paginator": paginator, - "page": page, - "query": "; ".join(query_list), - "original_query": original_query, - "encoded_query": urllib.parse.quote_plus(original_query.strip()), - } - ) + return render(request, "cazador/index.html")