259 country = request.GET.get('country', None) |
259 country = request.GET.get('country', None) |
260 contentlist = request.GET.get('contentlist', None) |
260 contentlist = request.GET.get('contentlist', None) |
261 max_tag_order = int(request.GET.get('mto', '12')) |
261 max_tag_order = int(request.GET.get('mto', '12')) |
262 content_count = request.GET.get('contentcount', 12) |
262 content_count = request.GET.get('contentcount', 12) |
263 tag_count = request.GET.get('tagcount', 30) |
263 tag_count = request.GET.get('tagcount', 30) |
|
264 |
|
265 outputstr = filter_generic(lang, periode, label, country, contentlist, max_tag_order, content_count, tag_count) |
|
266 |
|
267 return HttpResponse(content=outputstr, mimetype='application/json') |
|
268 |
|
269 |
|
270 def filter_generic(lang="fr-fr", periode=None, label=None, country=None, contentlist=None, max_tag_order=12, content_count=12, tag_count=30): |
|
271 |
264 no_translate_langs = [ 'fr' ] |
272 no_translate_langs = [ 'fr' ] |
265 |
273 |
266 key_parts = ("filter",lang,periode,label,country,contentlist,max_tag_order,content_count,tag_count) |
274 key_parts = ("filter",lang,periode,label,country,contentlist,max_tag_order,content_count,tag_count) |
267 key_parts = [unicode(p).encode("ascii", "ignore") for p in key_parts] |
275 key_parts = [unicode(p).encode("ascii", "ignore") for p in key_parts] |
268 |
276 |
426 tag_translations[t['label']] = t['translated_label'] |
434 tag_translations[t['label']] = t['translated_label'] |
427 |
435 |
428 output = {'count': cont_count, 'contents': contenus, 'tags':tags, 'sparkline':yearchange, 'countries':countries, 'disciplines':disciplines, 'tagtranslations': tag_translations} |
436 output = {'count': cont_count, 'contents': contenus, 'tags':tags, 'sparkline':yearchange, 'countries':countries, 'disciplines':disciplines, 'tagtranslations': tag_translations} |
429 outputstr = json.dumps(output) |
437 outputstr = json.dumps(output) |
430 cache.set(cache_key, outputstr) |
438 cache.set(cache_key, outputstr) |
431 |
439 |
432 return HttpResponse(content=outputstr, mimetype='application/json') |
440 return outputstr |
|
441 |
|
442 |
433 |
443 |
434 def subtree(tree): |
444 def subtree(tree): |
435 MAX_TAG_ORDER = 16 |
445 MAX_TAG_ORDER = 16 |
436 label = tree['label'] |
446 label = tree['label'] |
437 sub = tree.get('contents',[]) |
447 sub = tree.get('contents',[]) |