summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2016-01-19 18:15:06 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2016-01-19 18:15:06 +0100
commitdb07dd65480b3a207754d323e85f41a3f9012455 (patch)
tree52b2ae7d509437dc86d191529356dd92611bdcdb
parentbbb2da4c8ca1d29db77db5191dcaefd4aec1c6e6 (diff)
downloadChimère-db07dd65480b3a207754d323e85f41a3f9012455.tar.bz2
Chimère-db07dd65480b3a207754d323e85f41a3f9012455.zip
Flake8
-rw-r--r--chimere/views.py133
1 files changed, 76 insertions, 57 deletions
diff --git a/chimere/views.py b/chimere/views.py
index 55775f4..6cf16aa 100644
--- a/chimere/views.py
+++ b/chimere/views.py
@@ -613,6 +613,7 @@ def getDescriptionDetail(request, area_name, category_id):
return render_to_response('chimere/category_detail.html', response_dct,
context_instance=RequestContext(request))
+
def checkDate(q):
"""
Filter a queryset to manage dates
@@ -622,12 +623,12 @@ def checkDate(q):
today = datetime.date.today()
after = today + datetime.timedelta(settings.CHIMERE_DAYS_BEFORE_EVENT)
- q = q & ( Q(start_date__isnull=True)
- | Q(start_date__gte=today, start_date__lte=after)
- | Q(start_date__lte=today, end_date__gte=today)
- )
+ q = q & (Q(start_date__isnull=True) | Q(start_date__gte=today,
+ start_date__lte=after) | Q(
+ start_date__lte=today, end_date__gte=today))
return q
+
def _getGeoObjects(area_name, category_ids, status='A', getjson=True,
item_types=('Marker', 'Route')):
'''
@@ -654,8 +655,9 @@ def _getGeoObjects(area_name, category_ids, status='A', getjson=True,
# routes
if 'Route' in item_types:
- query = AggregatedRoute.objects.filter(status__in=status,
- subcategory__in=category_ids).order_by('subcategory', '-pk')
+ query = AggregatedRoute.objects.filter(
+ status__in=status, subcategory__in=category_ids).order_by(
+ 'subcategory', '-pk')
if getjson:
for route in query.all():
c_cat = route.subcategory
@@ -663,10 +665,11 @@ def _getGeoObjects(area_name, category_ids, status='A', getjson=True,
idx = 0
current_cat = c_cat
colors = list(Color.objects.filter(
- color_theme=c_cat.color_theme))
+ color_theme=c_cat.color_theme))
if colors:
items.append(json.loads(
- route.getGeoJSON(color=colors[idx % len(colors)].code)))
+ route.getGeoJSON(color=colors[idx % len(colors)].code))
+ )
else:
items.append(json.loads(route.getGeoJSON(color='000')))
idx += 1
@@ -677,6 +680,7 @@ def _getGeoObjects(area_name, category_ids, status='A', getjson=True,
return empty
return items
+
def getGeoObjects(request, area_name, category_ids, status):
'''
Get the JSON for markers and routes
@@ -688,10 +692,11 @@ def getGeoObjects(request, area_name, category_ids, status):
jsons = _getGeoObjects(area_name, category_ids, status)
if not jsons:
- return HttpResponse('no results')
- data = json.dumps({"type": "FeatureCollection", "features":jsons})
+ return HttpResponse("[]", content_type="application/json")
+ data = json.dumps({"type": "FeatureCollection", "features": jsons})
return HttpResponse(data, content_type="application/json")
+
def getMarker(request, area_name, pk):
q = Marker.objects.filter(pk=pk, status='A')
if not q.count():
@@ -699,6 +704,7 @@ def getMarker(request, area_name, pk):
data = q.all()[0].getGeoJSON()
return HttpResponse(data, content_type="application/json")
+
def get_all_categories(request, area_name=None):
'''
Get all available categories in JSON
@@ -707,16 +713,17 @@ def get_all_categories(request, area_name=None):
area = context_data["area"]
subcategories = []
if area:
- subcategories = list(area.getCategories('A',
- area_name=context_data['area_name']))
+ subcategories = list(area.getCategories(
+ 'A', area_name=context_data['area_name']))
else:
categories = SubCategory.getAvailable()
for cat, subcats in categories:
subcategories += subcats
subcats = [subcat.getJSONDict() for subcat in subcategories]
- jsons = json.dumps({'categories':subcats})
+ jsons = json.dumps({'categories': subcats})
return HttpResponse(jsons)
+
def get_available_categories(request, area_name=None, area=None, status='A',
force=None):
'''
@@ -727,21 +734,23 @@ def get_available_categories(request, area_name=None, area=None, status='A',
if redir:
return redir
if area and area.dynamic_categories and \
- not "current_extent" in request.GET:
+ "current_extent" not in request.GET:
context_data['sub_categories'] = []
- return render_to_response('chimere/blocks/categories.html', context_data,
- context_instance=RequestContext(request))
+ return render_to_response(
+ 'chimere/blocks/categories.html', context_data,
+ context_instance=RequestContext(request))
if not area or not area.dynamic_categories:
# Categories are not updated dynamicaly when the user move the map
# so we return ALL the categories
subcategories = SubCategory.getAvailable(
- area_name=context_data['area_name'])
+ area_name=context_data['area_name'])
context_data['sub_categories'] = subcategories
- return render_to_response('chimere/blocks/categories.html', context_data,
- context_instance=RequestContext(request))
+ return render_to_response(
+ 'chimere/blocks/categories.html', context_data,
+ context_instance=RequestContext(request))
default_message = "<p class='warning'>%s</p>" % \
- _("No category available in this area.")
- if not "status" in request.GET: # there must be a status
+ _("No category available in this area.")
+ if "status" not in request.GET: # there must be a status
status = 'A'
try:
status = status.split('_')
@@ -752,18 +761,20 @@ def get_available_categories(request, area_name=None, area=None, status='A',
# bad extent format
return HttpResponse(default_message)
# if not force and area.isIn(SimpleArea(cookie.AREA):return
- categories = area.getCategories(status, area_name=context_data['area_name'])
+ categories = area.getCategories(
+ status, area_name=context_data['area_name'])
if not categories:
return HttpResponse(default_message)
get_cat = lambda subcat: subcat.category
get_cat_order = lambda subcat: (subcat.category.order, subcat.category.pk,
subcat.order)
categories = sorted(categories, key=get_cat_order)
- subcategories = [(cat, list(subcats)) \
- for cat, subcats in groupby(categories, get_cat)]
+ subcategories = [(cat, list(subcats))
+ for cat, subcats in groupby(categories, get_cat)]
context_data['sub_categories'] = subcategories
return render_to_response('chimere/blocks/categories.html', context_data,
- context_instance=RequestContext(request))
+ context_instance=RequestContext(request))
+
def getCategory(request, area_name='', category_id=0):
'''
@@ -772,14 +783,15 @@ def getCategory(request, area_name='', category_id=0):
try:
category = SubCategory.objects.get(pk=category_id)
except ObjectDoesNotExist:
- return HttpResponse('no results')
- return HttpResponse(category.getJSON())
+ return HttpResponse('[]', content_type="application/json")
+ return HttpResponse(category.getJSON(), content_type="application/json")
+
def getTinyfiedUrl(request, parameters, area_name=''):
'''
Get the tinyfied version of parameters
'''
- data = {"urn": "", "url":"", "text":""}
+ data = {"urn": "", "url": "", "text": ""}
try:
urn = TinyUrl.getUrnByParameters(parameters)
except:
@@ -787,8 +799,8 @@ def getTinyfiedUrl(request, parameters, area_name=''):
response_dct, redir = get_base_response(request, area_name)
if redir:
return redir
- url = reverse('chimere:tiny', args=[(response_dct['area_name'] \
- if response_dct['area_name'] else '') + '/', urn])
+ url = reverse('chimere:tiny', args=[(response_dct['area_name']
+ if response_dct['area_name'] else '') + '/', urn])
if not url.startswith('http'):
url = get_base_uri(request) + url
url = re.sub("([^:])\/\/", "\g<1>/", url)
@@ -805,6 +817,7 @@ def getTinyfiedUrl(request, parameters, area_name=''):
data["text"] = urlquote(text)
return data
+
def redirectFromTinyURN(request, area_name='', tiny_urn=''):
"""
Redirect from a tiny Urn
@@ -815,6 +828,7 @@ def redirectFromTinyURN(request, area_name='', tiny_urn=''):
return redir
return HttpResponseRedirect(response_dct['extra_url'] + parameters)
+
class CategoryDirectoryView(ListView):
template_name = "chimere/category_directory.html"
@@ -823,26 +837,27 @@ class CategoryDirectoryView(ListView):
if self.area_name:
self.area_name = self.area_name.split('/')[0]
area = get_object_or_404(Area, urn=self.area_name, available=True)
- q = area.subcategories.filter(available=True,
- category__available=True
- ).order_by('category__order', 'category__id', 'order')
+ q = area.subcategories.filter(
+ available=True, category__available=True).order_by(
+ 'category__order', 'category__id', 'order')
if q.count():
return q
- return SubCategory.objects.filter(available=True,
- category__available=True
- ).order_by('category__order', 'category__id', 'order')
+ return SubCategory.objects.filter(
+ available=True, category__available=True).order_by(
+ 'category__order', 'category__id', 'order')
def get_context_data(self, *args, **kwargs):
context = super(CategoryDirectoryView, self).get_context_data(
- *args, **kwargs)
+ *args, **kwargs)
new_context, redirect = get_base_response(self.request, self.area_name)
context.update(new_context)
context.update({
- 'actions':actions(self.area_name),
- 'action_selected':('categories',),
+ 'actions': actions(self.area_name),
+ 'action_selected': ('categories',),
})
return context
+
class CategoryView(TemplateView):
template_name = "chimere/category_directory_detail.html"
@@ -875,18 +890,19 @@ class CategoryView(TemplateView):
def get_context_data(self, *args, **kwargs):
context = super(CategoryView, self).get_context_data(
- *args, **kwargs)
+ *args, **kwargs)
self.items = self.get_geo_items()
new_context, redirect = get_base_response(self.request, self.area_name)
context.update(new_context)
context.update({
- 'actions':actions(self.area_name),
- 'action_selected':('categories',),
- 'category':self.category,
- 'items':self.items
+ 'actions': actions(self.area_name),
+ 'action_selected': ('categories',),
+ 'category': self.category,
+ 'items': self.items
})
return context
+
def route(request, area_name, lon1, lat1, lonlat_steps, lon2, lat2,
transport='foot', speed=''):
'''
@@ -897,7 +913,8 @@ def route(request, area_name, lon1, lat1, lonlat_steps, lon2, lat2,
lon2, lat2 = float(lon2), float(lat2)
steps = [float(lonlat) for lonlat in lonlat_steps.split('_') if lonlat]
# regroup by 2
- steps = [(steps[i*2], steps[i*2+1]) for i in range(len(steps)/2)]
+ steps = [(steps[i * 2], steps[i * 2 + 1])
+ for i in range(len(steps) / 2)]
except ValueError:
return HttpResponse('no results')
@@ -906,8 +923,9 @@ def route(request, area_name, lon1, lat1, lonlat_steps, lon2, lat2,
transport = settings.CHIMERE_ROUTING_TRANSPORT[0][0]
if speed:
speed = unicode(speed)
- available_speed = [unicode(sp)
- for sp, lbl in settings.CHIMERE_ROUTING_SPEEDS[transport]]
+ available_speed = [
+ unicode(sp)
+ for sp, lbl in settings.CHIMERE_ROUTING_SPEEDS[transport]]
if speed not in available_speed:
speed = None
if not speed:
@@ -930,12 +948,12 @@ def route(request, area_name, lon1, lat1, lonlat_steps, lon2, lat2,
message = ''
if cats.count():
st_string = '{"type":"Feature", "geometry":{ "type": "Point", '\
- '"coordinates": [ %f, %f ] }, "properties":{"icon_path":"%s",'\
- '"icon_width":%d, "icon_height":%d}}'
+ '"coordinates": [ %f, %f ] }, "properties":{"icon_path":"%s",'\
+ '"icon_width":%d, "icon_height":%d}}'
points = [(m.point, m.categories.all()[0].icon)
- for m in list(Marker.objects.filter(status='A',
- categories__in=cats, point__distance_lte=(route, D(m=15))
- ).all())]
+ for m in list(Marker.objects.filter(
+ status='A', categories__in=cats,
+ point__distance_lte=(route, D(m=15))).all())]
for pt, icon in points:
st = st_string % (pt.x, pt.y, icon.image.url, icon.image.width,
icon.image.height)
@@ -951,18 +969,19 @@ def route(request, area_name, lon1, lat1, lonlat_steps, lon2, lat2,
if pts:
pt = pts[0]
st = st_string % (pt.x, pt.y, icon.image.url, icon.image.width,
- icon.image.height)
+ icon.image.height)
jsons.append(st)
if points or intersect:
message = getattr(settings, 'CHIMERE_ROUTING_WARN_MESSAGE', '')
if message:
message = ', "message":%s' % jsonencoder.encode(
- "%s" % _(message))
+ "%s" % _(message))
else:
message = ''
data = '{"properties":{"transport":%s, "total":%s, "description":%s}, '\
'"type": "FeatureCollection", "features":[%s]%s}' % (
- jsonencoder.encode(transport), total, desc, ",".join(jsons), message)
+ jsonencoder.encode(transport), total, desc, ",".join(jsons),
+ message)
return HttpResponse(data)
@@ -1012,7 +1031,7 @@ def rss(request, area_name=''):
else:
error = _("Incorrect choice in the list")
response_dct.update({
- 'error_message':error,
+ 'error_message': error,
'category_rss_feed': '',
'sub_categories': SubCategory.getAvailable()})
return render_to_response(
@@ -1089,7 +1108,7 @@ def rss(request, area_name=''):
return render_to_response('chimere/feeds/rss.html', response_dct,
context_instance=RequestContext(request))
-from django.core.paginator import Paginator, InvalidPage
+# from django.core.paginator import Paginator, InvalidPage
SearchView = None
autocomplete = None