From d9406bc272711bc3b1e16e10e714923812460833 Mon Sep 17 00:00:00 2001 From: Johnson Chetty Date: Wed, 22 Feb 2012 14:02:34 +0100 Subject: [PATCH] stat page addedfor stop mapping sprint --- chaloBEST/gtfs/gtfs_export.py | 2 +- chaloBEST/templates/stats.html | 80 ++++++++++++++++++++++++++++++++++ chaloBEST/urls.py | 2 + chaloBEST/views.py | 45 ++++++++++++++++++- 4 files changed, 127 insertions(+), 2 deletions(-) create mode 100644 chaloBEST/templates/stats.html diff --git a/chaloBEST/gtfs/gtfs_export.py b/chaloBEST/gtfs/gtfs_export.py index 6587ecd..99b2d53 100644 --- a/chaloBEST/gtfs/gtfs_export.py +++ b/chaloBEST/gtfs/gtfs_export.py @@ -54,7 +54,7 @@ def routeWithSomeLocationData(route,limit): pass if errs <=limit: - return dict({'route':route, 'neededstops':stoplist, }) + return dict({'route':route, 'neededstops':len(stoplist) }) else: return None diff --git a/chaloBEST/templates/stats.html b/chaloBEST/templates/stats.html new file mode 100644 index 0000000..41eb067 --- /dev/null +++ b/chaloBEST/templates/stats.html @@ -0,0 +1,80 @@ +{% extends 'base.html' %} + +{% block title %} + STATISTICS +{% endblock %} + +{% block head %} + + + + + + +{% endblock %} + +{% block body %} +
+

+ ChaloBEST! The Stats.. +

+
+

We have {{ stops_left }} stops left!



+ +

Routes needing some love..


+
    + {% for r in route_stat %} +
  • + {{ r.route.alias }} needs {{ r.neededstops }} stop locations. +
  • + {% endfor %} +
+ + +

Areas needing some love..


+
    + {% for a in area_stat %} +
  • + {{ a.area.name }} needs {{ a.neededstops }} stop locations. +
  • + {% endfor %} +
+ + +{% endblock %} diff --git a/chaloBEST/urls.py b/chaloBEST/urls.py index 807cce1..aa1d5ef 100644 --- a/chaloBEST/urls.py +++ b/chaloBEST/urls.py @@ -12,6 +12,7 @@ urlpatterns = patterns('', # Example: # (r'^chaloBEST/', include('chaloBEST.foo.urls')), url(r'^$','chaloBEST.views.index', name='index'), + url(r'^stats/$','chaloBEST.views.stats', name='stats'), url(r'^static/(?P.*)$','django.views.static.serve', {'document_root':'./static'}), (r'^routes/$', 'mumbai.views.routes'), (r'^route/(?P[a-zA-Z0-9\s\-]*?)/$', 'mumbai.views.route'), @@ -24,6 +25,7 @@ urlpatterns = patterns('', #(r'^grappelli/', include('grappelli.urls')), # Uncomment the next line to enable the admin: (r'^admin/', include(admin.site.urls)), + ) if settings.LOCAL_DEVELOPMENT: diff --git a/chaloBEST/views.py b/chaloBEST/views.py index d029c52..ec36d2b 100644 --- a/chaloBEST/views.py +++ b/chaloBEST/views.py @@ -2,9 +2,52 @@ from django.shortcuts import redirect from django.shortcuts import render_to_response from django.shortcuts import get_object_or_404 from django.http import HttpResponse +from django.template import RequestContext import json from os.path import join - +from gtfs.gtfs_export import * def index(request): return render_to_response('index.html', {} ) + + +def stats(request): + #No. of stops left + + total_stops = Stop.objects.count() + stops_left = total_stops + for stp in Stop.objects.all(): + if stp.stoplocation_set.all(): + stops_left-=1 + + + #list of of areas having stops left + arealist = Area.objects.all() + + area_stat = [] + + for area in arealist: + area_stops = area.stop_set.all() + astops_left = len(area_stops) + for stp in area_stops: + if stp.stoplocation_set.all(): + astops_left-=1 + + area_stat.append({'area':area,'neededstops':astops_left}) + + + + #Routes having min stops left... + route_stats_temp = getRoutesHavingSomeLocs(5) + route_stat = [] + for routedict in route_stats_temp: + if routedict['neededstops']: + route_stat.append(routedict) + ret = {} + ret['area_stat'] = area_stat + ret['route_stat'] = route_stat + ret['stops_left'] = stops_left + + #return ret + return render_to_response('stats.html', ret) +