# HG changeset patch # User fabien@tzone.org # Date 1230486104 18000 # Node ID dad9733c99f0c63c70912098565dad990ebe60fe # Parent 2c5e38748004277b708aab2db507c04948513dea Convert the prefs editor to the action library. diff -r 2c5e38748004 -r dad9733c99f0 edit_prefs.py --- a/edit_prefs.py Sun Dec 28 12:29:23 2008 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -#!/usr/bin/python - -import sys -import traceback -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 webutils import load_index - -if (__name__ == "__main__"): - form = cgi.FieldStorage() - db = my_db.connect(environ["REMOTE_USER"]) - prefs = db.get_preferences() - if form.has_key('kw_size'): - prefs['keywords_box'] = int(form['kw_size'].value) - if form.has_key('kw_sort'): - prefs['keywords_sort'] = form['kw_sort'].value - if form.has_key('default_view'): - prefs['default_view'] = int(form['default_view'].value) - prefs['keywords_reverse'] = form.has_key('kw_reverse') - if form.has_key('fullname'): - prefs['fullname'] = form['fullname'].value - db.set_preferences(prefs) - load_index(db, prefs) diff -r 2c5e38748004 -r dad9733c99f0 lib/actions.py --- a/lib/actions.py Sun Dec 28 12:29:23 2008 -0500 +++ b/lib/actions.py Sun Dec 28 12:41:44 2008 -0500 @@ -30,3 +30,4 @@ actions['import'] = ('imp_xbel', 'do_it') actions['add'] = ('add', 'do_it') actions['keywords'] = ('editkw', 'do_it') +actions['prefs'] = ('edit_prefs', 'do_it') diff -r 2c5e38748004 -r dad9733c99f0 lib/actions/edit_prefs.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lib/actions/edit_prefs.py Sun Dec 28 12:41:44 2008 -0500 @@ -0,0 +1,42 @@ +from templates import Template +from webutils import load_index + +def edit_prefs(db, prefs, form): + if form.has_key('kw_size'): + prefs['keywords_box'] = int(form['kw_size'].value) + if form.has_key('kw_sort'): + prefs['keywords_sort'] = form['kw_sort'].value + if form.has_key('default_view'): + prefs['default_view'] = int(form['default_view'].value) + prefs['keywords_reverse'] = form.has_key('kw_reverse') + if form.has_key('fullname'): + prefs['fullname'] = form['fullname'].value + db.set_preferences(prefs) + load_index(db, prefs, form, "result", "Preferences saved.") + +def view_prefs(prefs): + tmpl = Template("prefs.tmpl", prefs) + sortfields = [] + for field in ['keyword', 'count']: + sortfields.append({'field': field, + 'selected' : prefs['keywords_sort'] == field }) + tmpl.set('Sortfields', sortfields) + views = [] + for view in [(0, 'dynamic'), (1, 'folder')]: + views.append({ 'view': view[0], + 'name': view[1], + 'selected': prefs['default_view'] == view[0]} ) + tmpl.set('Views', views) + print tmpl.process() + +def do_it(action, db, prefs, form): + if form.has_key('step'): + step = form['step'] + else: + step = 'view' + if step == 'view': + view_prefs(prefs) + elif step == 'edit': + edit_prefs(prefs) + else: + load_index(db, prefs, form, "error", "Operation cancel.") diff -r 2c5e38748004 -r dad9733c99f0 prefs.py --- a/prefs.py Sun Dec 28 12:29:23 2008 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -#!/usr/bin/python - -import sys -import traceback -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 -from templates import Template -import my_db -import os - -def main(prefs): - tmpl = Template("prefs.tmpl", prefs) - sortfields = [] - for field in ['keyword', 'count']: - sortfields.append({'field': field, - 'selected' : prefs['keywords_sort'] == field }) - tmpl.set('Sortfields', sortfields) - views = [] - for view in [(0, 'dynamic'), (1, 'folder')]: - views.append({ 'view': view[0], - 'name': view[1], - 'selected': prefs['default_view'] == view[0]} ) - tmpl.set('Views', views) - print tmpl.process() - -if (__name__ == "__main__"): - db = my_db.connect(os.environ["REMOTE_USER"]) - main(db.get_preferences()) diff -r 2c5e38748004 -r dad9733c99f0 templates/prefs.tmpl --- a/templates/prefs.tmpl Sun Dec 28 12:29:23 2008 -0500 +++ b/templates/prefs.tmpl Sun Dec 28 12:41:44 2008 -0500 @@ -3,7 +3,8 @@

's Preferences

-
+ +

@@ -28,10 +29,10 @@ checked> reversed

- + +

- Back to main page