9 print "Content-type: text/html; charset=iso-8859-1;" |
9 print "Content-type: text/html; charset=iso-8859-1;" |
10 print |
10 print |
11 |
11 |
12 # import cgitb; cgitb.enable() |
12 # import cgitb; cgitb.enable() |
13 import cgi |
13 import cgi |
14 from htmltmpl import TemplateManager |
14 from templates import Template |
15 from webutils import get_template_processor |
|
16 import time |
15 import time |
17 from utils import unique |
16 from utils import unique |
18 import my_db |
17 import my_db |
19 from add_confirm import get_bk_from_form, get_new_kw_from_form |
18 from add_confirm import get_bk_from_form, get_new_kw_from_form |
20 from index import load_index |
19 from webutils import load_index |
21 import os |
20 import os |
22 |
21 |
23 def add_new_keywords(db, newkw): |
22 def add_new_keywords(db, newkw): |
24 kw = [0] # Default keyword, so that every bookmarks appears in |
23 kw = [0] # Default keyword, so that every bookmarks appears in |
25 # the bookmarks_keywords db. |
24 # the bookmarks_keywords db. |
31 id = db.add_keyword(elem) |
30 id = db.add_keyword(elem) |
32 kw.append(id) |
31 kw.append(id) |
33 return kw |
32 return kw |
34 |
33 |
35 def main(bk, kw, prefs): |
34 def main(bk, kw, prefs): |
36 tmpl = TemplateManager().prepare("add_result.tmpl") |
35 tmpl = Template("add_result.tmpl", prefs) |
37 tproc = get_template_processor(prefs) |
36 tmpl.set("url", bk.url) |
38 tproc.set("url", bk.url) |
37 tmpl.set("name", bk.name) |
39 tproc.set("name", bk.name) |
38 tmpl.set("added", bk.added) |
40 tproc.set("added", bk.added) |
39 tmpl.set("desc", bk.desc) |
41 tproc.set("desc", bk.desc) |
40 tmpl.set("Keywords", kw) |
42 tproc.set("Keywords", kw) |
41 print tmpl.process() |
43 print tproc.process(tmpl) |
|
44 |
42 |
45 if (__name__ == "__main__"): |
43 if (__name__ == "__main__"): |
46 form = cgi.FieldStorage() |
44 form = cgi.FieldStorage() |
47 db = my_db.connect(os.environ["REMOTE_USER"]) |
45 db = my_db.connect(os.environ["REMOTE_USER"]) |
|
46 prefs = db.get_preferences() |
48 action = form['action'].value |
47 action = form['action'].value |
49 if action == 'cancel': |
48 if action == 'cancel': |
50 load_index(db) |
49 load_index(db, prefs) |
51 elif action == 'delete': |
50 elif action == 'delete': |
52 db.remove_bookmark(int(form['id'].value)) |
51 db.remove_bookmark(int(form['id'].value)) |
53 load_index(db) |
52 load_index(db, prefs) |
54 else: |
53 else: |
55 bk = get_bk_from_form(form) |
54 bk = get_bk_from_form(form) |
56 newkw = get_new_kw_from_form(form) |
55 newkw = get_new_kw_from_form(form) |
57 kw = add_new_keywords(db, newkw) |
56 kw = add_new_keywords(db, newkw) |
58 if bk.id == -1: |
57 if bk.id == -1: |
60 else: |
59 else: |
61 db.update_bookmark(bk) |
60 db.update_bookmark(bk) |
62 id = bk.id |
61 id = bk.id |
63 db.update_keywords(id, kw) |
62 db.update_keywords(id, kw) |
64 kw = map(lambda e: { 'keyword': e[1] }, db.get_keywords([id])[1:]) |
63 kw = map(lambda e: { 'keyword': e[1] }, db.get_keywords([id])[1:]) |
65 main(bk, kw, db.get_preferences()) |
64 main(bk, kw, prefs) |