--- a/lib/webutils.py Tue Oct 07 11:10:52 2003 -0400
+++ b/lib/webutils.py Tue Oct 07 12:50:30 2003 -0400
@@ -44,6 +44,17 @@
'unselected' : is_unselected})
return res
+def sort_keywords(kw, pref):
+ global _sk_rev_fact
+ global _sk_sort
+ if pref['keywords_reverse']:
+ _sk_rev_fact = -1
+ else:
+ _sk_rev_fact = 1
+ _sk_sort = pref['keywords_sort']
+ kw.sort(lambda l, r: _sk_rev_fact*cmp(l[_sk_sort], r[_sk_sort]))
+ return kw
+
def get_curl():
return urljoin( 'http://' + environ["HTTP_HOST"] + environ["REQUEST_URI"], 'add.py')
@@ -55,15 +66,23 @@
if len(bookmarks)>0:
bookmarks = db.get_bookmarks(map(lambda x: x[0], bookmarks))
bookmarks = map(lambda bk: bk.dict(), bookmarks)
- process_index(bookmarks, keywords)
+ pref = db.get_preferences()
+ process_index(bookmarks, keywords[1:], pref)
-def process_index(bk, kw):
+def get_template_processor(prefs):
+ tproc = TemplateProcessor()
+ tproc.set("remote_user", environ["REMOTE_USER"])
+ tproc.set("kw_size", prefs['keywords_box'])
+ tproc.set("kw_sort", prefs['keywords_sort'])
+ tproc.set("kw_reverse", prefs['keywords_reverse'])
+ return tproc
+
+def process_index(bk, kw, pref):
tmpl = TemplateManager().prepare("index.tmpl")
- tproc = TemplateProcessor()
- tproc.set("pagetitle", environ["REMOTE_USER"]+"'s XBELWeb")
+ tproc = get_template_processor(pref)
bk.sort(lambda x,y: cmp(x['name'],y['name']))
tproc.set("Bookmarks", bk)
- kw.sort(lambda x,y: -cmp(x['count'],y['count']))
+ kw = sort_keywords(kw[1:], pref)
tproc.set("Keywords", kw)
tproc.set("curl", get_curl())
tproc.set("total", len(bk))