diff -r d3c1de4d929e -r 2781ac85b807 folders.py --- a/folders.py Fri Oct 24 14:19:30 2003 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ -#!/usr/bin/python - -import sys -import traceback -if (__name__ == '__main__'): - sys.path.insert(0, "/home/fabien/lib/python") - sys.path.insert(0, "./lib") - sys.stderr = sys.stdout - - print "Content-type: text/html; charset=iso-8859-1;" - print - -# import cgitb; cgitb.enable() -import cgi -import my_db -from os import environ -from htmltmpl import TemplateManager -from webutils import get_template_processor, set_selection, sort_keywords - -def output(prefs, folder, parents, children, bookmarks, keywords): - tmpl = TemplateManager().prepare("folders.tmpl") - tproc = get_template_processor(prefs) - tproc.set('Parents', parents) - tproc.set('folder', folder['id']) - tproc.set('name', folder['name']) - tproc.set('total', len(bookmarks)) - bookmarks.sort(lambda l,r: cmp(l['name'],r['name'])) - tproc.set('Bookmarks', bookmarks) - tproc.set('Subfolders', children) - keywords = sort_keywords(keywords[1:], prefs) - tproc.set('Keywords', keywords) - print tproc.process(tmpl) - -if (__name__ == "__main__"): - form = cgi.FieldStorage() - db = my_db.connect(environ["REMOTE_USER"]) - if form.has_key('folder'): - folder = int(form['folder'].value) - else: - folder = 0 - if form.has_key('action'): - if form['action'].value == 'add': - if form.has_key('sel'): - keyword = int(form['sel'].value) - db.add_folder(keyword, folder) - print "Folder successfully add." - 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) - selected_keywords = set_selection(db, - map(lambda e: e[0], bookmarks), - selection, exclusion) - keywords = [] - for keyword in selected_keywords: - if not keyword['id'] in exclusion: - keywords.append(keyword) - for child in children: - child['count'] = len(db.select_bookmarks(selection + [child['keyword']])) - bookmarks = db.get_bookmarks(map(lambda bk: bk[0], bookmarks)) - bookmarks = map(lambda bk: bk.dict(), bookmarks) - output(db.get_preferences(), parents.pop(), parents, children, bookmarks, keywords)