Correct a bug when saving keywords.
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, db.get_preferences(), 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'].value
else:
step = 'view'
if step == 'view':
view_prefs(prefs)
elif step == 'edit':
edit_prefs(db, prefs, form)
else:
load_index(db, prefs, form, "error", "Operation cancel.")