lib/webutils.py
branchxbelweb
changeset 47 2781ac85b807
parent 45 c81d480c3224
child 51 7015d65beb3d
--- a/lib/webutils.py	Fri Oct 24 14:19:30 2003 -0400
+++ b/lib/webutils.py	Fri Oct 24 17:04:29 2003 -0400
@@ -1,90 +1,22 @@
 #!/usr/bin/python
 
-
-import cgi
-import my_db
-from htmltmpl import TemplateManager, TemplateProcessor
 from os import environ
 from urlparse import urljoin
-
-def get_keywords(form, name):
-	kws = form.getvalue(name)
-	if not isinstance(kws, type([])):
-		if kws:
-			kws = [kws]
-		else:
-			kws = []
-	return map(int, kws)
-
-def set_selection(db, bk, sel, exc = []):
-	if len(bk) > 0:
-		ids, names = map(list,apply(zip,db.get_keywords(bk)))
-		for key in exc:
-			if key not in ids:
-				ids.append(key)
-				names.append(db.get_keyword(key))
-		allkw = map(lambda x,y: [x, y], ids, names)
-	else:
-		allkw = db.get_all_keywords()
-	(kw, cnt) = map(list,apply(zip, db.get_keywords_count(bk)))
-	res = []
-	for key in allkw:
-		is_selected = key[0] in sel
-		is_excluded = key[0] in exc
-		is_unselected = not (is_selected or is_excluded)
-		if key[0] in kw:
-			kcnt = cnt[kw.index(key[0])]
-		else:
-			kcnt = 0
-		res.append({'id':key[0],
-			'keyword': key[1],
-			'count' : kcnt,
-			'selected' : is_selected,
-			'excluded' : is_excluded,
-			'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
+from dynamic import do_dynamic
+from folders import do_folders
 
 def get_curl():
 	return urljoin( 'http://' + environ["HTTP_HOST"] + environ["REQUEST_URI"], 'add.py')
 
-def load_index(db):
-    	keywords = set_selection(db, [], [], [])
-    	exc = map(lambda e: int(e['id']), keywords[1:])
-   	bookmarks = db.select_bookmarks([0], exc)
-    	total = keywords[0]['count']
-	if len(bookmarks)>0:
-    		bookmarks = db.get_bookmarks(map(lambda x: x[0], bookmarks))
-    	bookmarks = map(lambda bk: bk.dict(), bookmarks)
-	pref = db.get_preferences()
-    	process_index(bookmarks, keywords[1:], pref)
-
-def get_template_processor(prefs):
-    tproc = TemplateProcessor()
-    tproc.set("remote_user", prefs["fullname"])
-    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 = get_template_processor(pref)
-    bk.sort(lambda x,y: cmp(x['name'],y['name']))
-    tproc.set("Bookmarks", bk)
-    kw = sort_keywords(kw, pref)
-    tproc.set("Keywords", kw)
-    tproc.set("curl", get_curl())
-    tproc.set("total", len(bk))
-    print tproc.process(tmpl)
-
+def load_index(db, prefs, form = None):
+    if form:
+    	if form.has_key('view'):
+    		if form['view'].value == 'folder':
+    			do_folders(db, prefs, form)
+		else:
+    			do_dynamic(db, prefs, form)
+		return
+    if prefs['default_view'] == 0:
+        do_dynamic(db, prefs, form)
+    else:
+	do_folders(db, prefs, form)