47 bookmarks = db.select_bookmarks(selection) |
47 bookmarks = db.select_bookmarks(selection) |
48 selected_keywords = set_selection(db, |
48 selected_keywords = set_selection(db, |
49 map(lambda e: e[0], bookmarks), |
49 map(lambda e: e[0], bookmarks), |
50 selection) |
50 selection) |
51 keywords = [] |
51 keywords = [] |
|
52 subfolders = [] |
52 folders_keywords = selection +exclusion |
53 folders_keywords = selection +exclusion |
53 for keyword in selected_keywords: |
54 for keyword in selected_keywords: |
54 if keyword['id'] not in folders_keywords: |
55 if keyword['id'] not in folders_keywords: |
55 keywords.append(keyword) |
56 keywords.append(keyword) |
56 for child in children: |
57 for child in children: |
57 child['count'] = len(db.select_bookmarks(selection + [child['keyword']])) |
58 if child['keyword'] == keyword['id']: |
|
59 child['count'] = keyword['count'] |
|
60 subfolders.append(child) |
|
61 children.remove(child) |
|
62 break |
58 bookmarks = db.select_bookmarks(selection, exclusion) |
63 bookmarks = db.select_bookmarks(selection, exclusion) |
59 if len(bookmarks) <> 0: |
64 if len(bookmarks) <> 0: |
60 bookmarks = db.get_bookmarks(map(lambda bk: bk[0], bookmarks)) |
65 bookmarks = db.get_bookmarks(map(lambda bk: bk[0], bookmarks)) |
61 bookmarks = map(lambda bk: bk.dict(), bookmarks) |
66 bookmarks = map(lambda bk: bk.dict(), bookmarks) |
62 output(prefs, folder, parents, children, bookmarks, keywords) |
67 output(prefs, folder, parents, subfolders, bookmarks, keywords) |