diff -r 5275135955c0 -r 7015d65beb3d lib/folders.py --- a/lib/folders.py Fri Oct 24 17:55:22 2003 -0400 +++ b/lib/folders.py Sun Oct 26 22:26:03 2003 -0500 @@ -40,20 +40,23 @@ do_folder_action(db, form, folder) parents = db.get_folder_parents_and_self(folder) children = db.get_subfolders(folder) - parents.reverse() selection = map(lambda e: e['keyword'], parents) exclusion = map(lambda e: e['keyword'], children) - bookmarks = db.select_bookmarks(selection, exclusion) + parents.reverse() + folder = parents.pop() + bookmarks = db.select_bookmarks(selection) selected_keywords = set_selection(db, map(lambda e: e[0], bookmarks), - selection, exclusion) + selection) keywords = [] + folders_keywords = selection +exclusion for keyword in selected_keywords: - if not keyword['id'] in exclusion: + if keyword['id'] not in folders_keywords: keywords.append(keyword) for child in children: child['count'] = len(db.select_bookmarks(selection + [child['keyword']])) + bookmarks = db.select_bookmarks(selection, exclusion) if len(bookmarks) <> 0: bookmarks = db.get_bookmarks(map(lambda bk: bk[0], bookmarks)) bookmarks = map(lambda bk: bk.dict(), bookmarks) - output(prefs, parents.pop(), parents, children, bookmarks, keywords) + output(prefs, folder, parents, children, bookmarks, keywords)