--- a/web/hdalab/views/ajax.py Thu Oct 11 15:49:57 2012 +0200
+++ b/web/hdalab/views/ajax.py Thu Oct 11 18:22:45 2012 +0200
@@ -49,21 +49,21 @@
tags = Tag.objects.filter(wp_categories__wp_category = category).distinct()
taglabels = [k for k in dict([(t.label,t.label) for t in tags])]
resobj = {
- 'category': category.label,
- 'tags': [],
+ 'label': category.label,
+ 'themes': [],
'contents': []
- }
+ }
for label in taglabels:
if label == catlabel:
globtags[label] = {'level': level, 'access': resobj }
else:
tag_in_list = {'label' : label, 'contents': []}
- resobj['tags'].append(tag_in_list)
+ resobj['themes'].append(tag_in_list)
globtags[label] = {'level': (level + 1), 'access': tag_in_list }
if level < max_level:
subcats = WpCategory.objects.filter(parent_categories__parent_category = category)
- resobj['sub_categories'] = [subcat(subcats[i], globtags, level + 1, max_level ) for i in range(len(subcats))]
+ resobj['themes'] += [subcat(subcats[i], globtags, level + 1, max_level ) for i in range(len(subcats))]
return resobj
def cleantags(category):
@@ -71,21 +71,15 @@
del category['contents']
if category.has_key('contents'):
category['contents'] = sorted(category['contents'], key=lambda content: -content['score'])
- if category.has_key('tags'):
- category['tags'] = [cleantags(tag) for tag in category['tags'] if len(tag['contents'])]
- if len(category['tags']) == 0:
- del category['tags']
- else:
- category['tags'] = sorted(category['tags'], key=lambda tag: tag['label'])
- if category.has_key('sub_categories'):
- sub_cats = []
- for sub_cat in category['sub_categories']:
- cat = cleantags(sub_cat)
- if cat.has_key('tags') or cat.has_key('sub_categories') or cat.has_key('contents'):
- sub_cats.append(cat)
- category['sub_categories'] = sorted(sub_cats, key=lambda cat: cat['category'])
- if len(category['sub_categories']) == 0:
- del category['sub_categories']
+ if category.has_key('themes'):
+ themes = []
+ for theme in category['themes']:
+ clean_theme = cleantags(theme)
+ if clean_theme.has_key('themes') or clean_theme.has_key('contents'):
+ themes.append(clean_theme)
+ category['themes'] = sorted(themes, key=lambda cat: cat['label'])
+ if len(category['themes']) == 0:
+ del category['themes']
return category
def cattree(request):
@@ -434,15 +428,15 @@
contents = sorted(contents, key=lambda e: -e['score'])
- res = { 'category': label }
+ res = { 'label': label }
if len(contents):
res['contents'] = contents
if len(sub):
subcats = [subtree(st) for st in sub]
- subcats = [sc for sc in subcats if len(sc.get('contents',[])) or len(sc.get('sub_categories',[]))]
- res['sub_categories'] = subcats
+ subcats = [sc for sc in subcats if len(sc.get('contents',[])) or len(sc.get('themes',[]))]
+ res['themes'] = subcats
return res