--- a/lib/actions/add.py Wed Dec 31 01:53:22 2008 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +0,0 @@
-from templates import Template
-from bkmark import Bookmark
-from webutils import load_index
-from templates import Template
-from keywords import add_unique_keywords
-import os
-
-def get_bk_from_form(form):
- bk = Bookmark()
- bk.id = int(form['id'].value)
- bk.url = form['url'].value
- if form.has_key('name'):
- bk.name = form['name'].value
- if form.has_key('desc'):
- bk.desc = form['desc'].value
- return bk
-
-def get_kw_from_form(form):
- kw = form.getvalue("kw")
- if not isinstance(kw, type([])):
- if kw:
- kw = [kw]
- else:
- kw = []
- kw = map(int, kw)
- return kw
-
-def get_new_kw_from_form(form, sep =','):
- if form.has_key('newkw'):
- kw= map(lambda e: e.strip(),
- form['newkw'].value.split(','))
- return filter(lambda x: x != '', kw)
- else:
- return []
-
-def get_unique_keywords(form, db):
- kw = get_kw_from_form(form)
- kw = set(map(db.get_keyword, kw))
- return list(kw.union(get_new_kw_from_form(form)))
-
-def edit(db, prefs, form, id):
- name = url = ""
- if form.has_key("ctitle"):
- name = form["ctitle"].value
- if form.has_key("curl"):
- url = form["curl"].value
- kw = db.get_all_keywords()[1:]
- kw.sort(lambda l,r: cmp(l[1],r[1]))
- kw = map(lambda elem: {
- 'id' : elem[0],
- 'keyword' : elem[1],
- 'checked' : 0 }, kw)
- print_edit(id, kw, name, url, prefs)
-
-def confirm(step, bk, kw, prefs):
- tmpl = Template("add_confirm.tmpl", prefs)
- confirmation = "Unknown!"
- if (step == 'delete'):
- confirmation = "Delete"
- elif (step == 'update'):
- confirmation = "Update"
- tmpl.set("confirmation", confirmation)
- tmpl.set("step", step)
- tmpl.set("id", bk.id)
- tmpl.set("name", bk.name)
- tmpl.set("url", bk.url)
- tmpl.set("Keywords", map(lambda x: {'keyword': x }, kw))
- tmpl.set("desc", bk.desc)
- print tmpl.process()
-
-def print_edit(id, keywords, title, url, prefs):
- tmpl = Template("add_bk.tmpl", prefs)
- tmpl.set('ctitle', title)
- tmpl.set('curl', url)
- tmpl.set('desc', '')
- tmpl.set('bkid', id)
- tmpl.set('Keywords', keywords)
- print tmpl.process()
-
-def update_bookmark(db, form):
- bk = get_bk_from_form(form)
- id = bk.id
- if (bk.id == -1):
- id = db.add_bookmark(bk)
- else:
- db.update_bookmark(bk)
- kw = add_unique_keywords(db, get_unique_keywords(form, db))
- db.update_keywords(id, kw.values())
-
-def do_it(action, db, prefs, form):
- if form.has_key('id'):
- id = int(form['id'].value)
- else:
- id = -1;
- if form.has_key('step'):
- step = form['step'].value
- else:
- step = 'edit'
- if step == 'edit':
- edit(db, prefs, form, id)
- elif step == 'confirm':
- update_bookmark(db, form)
- load_index(db, prefs, form, "result", "Bookmark update")
- elif step == 'cancel' or (action == 'delete' and id == -1):
- load_index(db, prefs, form, "err", "Operation cancel")
- else:
- if step == 'update':
- bk = get_bk_from_form(form)
- kw = get_unique_keywords(form, db)
- else:
- bk = db.get_bookmarks([id])[0]
- (ids, kw) = apply(zip,db.get_keywords([id]))
- kw = kw[1:]
- confirm(step, bk, kw, prefs)