From f6f2b3c495cce8064b2fd1afb720be4fe0e4f03d Mon Sep 17 00:00:00 2001 From: Sanj Date: Fri, 8 Jun 2012 13:33:35 +0530 Subject: [PATCH 1/3] fuzzystops --- chaloBEST/mumbai/views.py | 31 ++++++++++++++++++++++++++++- chaloBEST/templates/fuzzystops.html | 14 +++++++++++++ chaloBEST/urls.py | 1 + 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 chaloBEST/templates/fuzzystops.html diff --git a/chaloBEST/mumbai/views.py b/chaloBEST/mumbai/views.py index 2ee5836..d9289ce 100644 --- a/chaloBEST/mumbai/views.py +++ b/chaloBEST/mumbai/views.py @@ -3,6 +3,7 @@ from models import * from django.shortcuts import render_to_response, get_object_or_404 from django.template import RequestContext from django.contrib.auth.decorators import login_required +from fuzzywuzzy import process as fuzzprocess def index(request): return render_to_response("index.html", {}) @@ -103,4 +104,32 @@ def stats(request): - +@login_required +def fuzzystops(request): +# import pdb + froms_arr = [] + tos_arr = [] + for unr in UniqueRoute.objects.all(): + s1 = unr.from_stop.name.lower() + s2 = unr.from_stop_txt.lower() + from_ratio = fuzzprocess.ratio(s1,s2) + if from_ratio < 50: + froms_arr.append( + (unr, from_ratio,) + ) + s3 = unr.to_stop.name.lower() + s4 = unr.to_stop_txt.lower() + to_ratio = fuzzprocess.ratio(s3,s4) + if to_ratio < 50: + tos_arr.append( + (unr, to_ratio,) + ) + + froms_arr.sort(key=lambda item: item[1]) + tos_arr.sort(key=lambda item: item[1]) + context = RequestContext(request, { + 'fuzzy_froms': [item[0] for item in froms_arr], + 'fuzzy_tos': [item[0] for item in tos_arr] + }) +# pdb.set_trace() + return render_to_response("fuzzystops.html", context) diff --git a/chaloBEST/templates/fuzzystops.html b/chaloBEST/templates/fuzzystops.html new file mode 100644 index 0000000..0388497 --- /dev/null +++ b/chaloBEST/templates/fuzzystops.html @@ -0,0 +1,14 @@ +

Likely Mismatched From stops:

+{% for f in fuzzy_froms %} + + {{ f.route.alias}} - {{ f.from_stop.name }} - {{ f.from_stop_txt }}
+ +{% endfor %} + +

Likely mismatched to stops:

+ +{% for t in fuzzy_tos %} + + {{ t.route.alias}} - {{ t.from_stop.name }} - {{ t.from_stop_txt }}
+ +{% endfor %} diff --git a/chaloBEST/urls.py b/chaloBEST/urls.py index ab4f134..06c26f0 100644 --- a/chaloBEST/urls.py +++ b/chaloBEST/urls.py @@ -31,6 +31,7 @@ urlpatterns = patterns('', #(r'^grappelli/', include('grappelli.urls')), # Uncomment the next line to enable the admin: (r'^admin/', include(admin.site.urls)), + (r'^fuzzystops/$', 'mumbai.views.fuzzystops'), ) From 40c6f4fab3d91f613e74b4891e5eb846da875127 Mon Sep 17 00:00:00 2001 From: Sanj Date: Fri, 8 Jun 2012 13:48:45 +0530 Subject: [PATCH 2/3] silly template error in fuzzy template --- chaloBEST/templates/fuzzystops.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chaloBEST/templates/fuzzystops.html b/chaloBEST/templates/fuzzystops.html index 0388497..8b4171f 100644 --- a/chaloBEST/templates/fuzzystops.html +++ b/chaloBEST/templates/fuzzystops.html @@ -9,6 +9,6 @@ {% for t in fuzzy_tos %} - {{ t.route.alias}} - {{ t.from_stop.name }} - {{ t.from_stop_txt }}
+ {{ t.route.alias}} - {{ t.to_stop.name }} - {{ t.to_stop_txt }}
{% endfor %} From cff4beba26fbd7fe086a66ae15be1d9866d6fdb4 Mon Sep 17 00:00:00 2001 From: Sanj Date: Fri, 8 Jun 2012 14:11:02 +0530 Subject: [PATCH 3/3] increase fuzzy threshhold --- chaloBEST/mumbai/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chaloBEST/mumbai/views.py b/chaloBEST/mumbai/views.py index d9289ce..a04e914 100644 --- a/chaloBEST/mumbai/views.py +++ b/chaloBEST/mumbai/views.py @@ -113,14 +113,14 @@ def fuzzystops(request): s1 = unr.from_stop.name.lower() s2 = unr.from_stop_txt.lower() from_ratio = fuzzprocess.ratio(s1,s2) - if from_ratio < 50: + if from_ratio < 70: froms_arr.append( (unr, from_ratio,) ) s3 = unr.to_stop.name.lower() s4 = unr.to_stop_txt.lower() to_ratio = fuzzprocess.ratio(s3,s4) - if to_ratio < 50: + if to_ratio < 70: tos_arr.append( (unr, to_ratio,) )