17 import my_db |
17 import my_db |
18 import time |
18 import time |
19 from bkmark import Bookmark |
19 from bkmark import Bookmark |
20 from index import load_index |
20 from index import load_index |
21 from utils import unique |
21 from utils import unique |
|
22 import os |
22 |
23 |
23 def get_bk_from_form(form): |
24 def get_bk_from_form(form): |
24 bk = Bookmark() |
25 bk = Bookmark() |
25 bk.id = int(form['id'].value) |
26 bk.id = int(form['id'].value) |
26 bk.url = form['url'].value |
27 bk.url = form['url'].value |
50 |
51 |
51 def get_unique_keywords(form, db): |
52 def get_unique_keywords(form, db): |
52 kw = get_kw_from_form(form) |
53 kw = get_kw_from_form(form) |
53 kw = map(db.get_keyword, kw) |
54 kw = map(db.get_keyword, kw) |
54 kw = kw + get_new_kw_from_form(form) |
55 kw = kw + get_new_kw_from_form(form) |
55 return unique(kw) |
56 kw = unique(kw) |
|
57 return kw |
56 |
58 |
57 def main(action, bk, kw): |
59 def main(action, bk, kw): |
58 tmpl = TemplateManager().prepare("add_confirm.tmpl") |
60 tmpl = TemplateManager().prepare("add_confirm.tmpl") |
59 tproc = TemplateProcessor() |
61 tproc = TemplateProcessor() |
|
62 tproc.set("pagetitle", os.environ["REMOTE_USER"]+"'s XBELWeb Confirmation") |
60 tproc.set("confirm_delete", action == 'delete') |
63 tproc.set("confirm_delete", action == 'delete') |
61 tproc.set("confirm_update", action == 'update') |
64 tproc.set("confirm_update", action == 'update') |
62 tproc.set("action", action) |
65 tproc.set("action", action) |
63 tproc.set("id", bk.id) |
66 tproc.set("id", bk.id) |
64 tproc.set("name", bk.name) |
67 tproc.set("name", bk.name) |
66 tproc.set("Keywords", map(lambda x: {'keyword': x }, kw)) |
69 tproc.set("Keywords", map(lambda x: {'keyword': x }, kw)) |
67 print tproc.process(tmpl) |
70 print tproc.process(tmpl) |
68 |
71 |
69 if (__name__ == "__main__"): |
72 if (__name__ == "__main__"): |
70 form = cgi.FieldStorage() |
73 form = cgi.FieldStorage() |
71 db = my_db.connect() |
74 db = my_db.connect(os.environ["REMOTE_USER"]) |
72 id = int(form['id'].value) |
75 id = int(form['id'].value) |
73 action = form['action'].value |
76 action = form['action'].value |
74 if action == 'cancel' or (action == 'delete' and id == -1): |
77 if action == 'cancel' or (action == 'delete' and id == -1): |
75 load_index(db) |
78 load_index(db) |
76 else: |
79 else: |
78 bk = get_bk_from_form(form) |
81 bk = get_bk_from_form(form) |
79 kw = get_unique_keywords(form, db) |
82 kw = get_unique_keywords(form, db) |
80 else: |
83 else: |
81 bk = db.get_bookmarks([id])[0] |
84 bk = db.get_bookmarks([id])[0] |
82 (ids, kw) = apply(zip,db.get_keywords(id)) |
85 (ids, kw) = apply(zip,db.get_keywords(id)) |
83 main(action, bk, kw[1:]) |
86 kw = kw[1:] |
|
87 main(action, bk, kw) |
84 |
88 |