|
1 #!/usr/bin/python |
|
2 |
|
3 import sys |
|
4 import traceback |
|
5 sys.path.insert(0, "/home/fabien/lib/python") |
|
6 sys.path.insert(0, "./lib") |
|
7 sys.stderr = sys.stdout |
|
8 |
|
9 print "Content-type: text/html; charset=iso-8859-1;" |
|
10 print |
|
11 |
|
12 # import cgitb; cgitb.enable() |
|
13 import cgi |
|
14 from htmltmpl import TemplateManager, TemplateProcessor |
|
15 import my_db |
|
16 from os import environ |
|
17 from urlparse import urljoin |
|
18 from index import set_selection, get_curl, main |
|
19 |
|
20 def do_merge(form, db): |
|
21 fromid = int(form['id'].value) |
|
22 toid = int(form['merge'].value) |
|
23 db.merge_keywords(fromid, toid) |
|
24 |
|
25 def do_update(form, db): |
|
26 id = int(form['id'].value) |
|
27 newname = form['name'].value |
|
28 db.update_keyword(id, newname) |
|
29 |
|
30 def do_delete(form, db): |
|
31 id = int(form['id'].value) |
|
32 db.remove_keyword(id) |
|
33 |
|
34 if (__name__ == "__main__"): |
|
35 form = cgi.FieldStorage() |
|
36 db = my_db.connect() |
|
37 action = form['action'].value |
|
38 if action == 'merge': |
|
39 do_merge(form, db) |
|
40 elif action == 'update': |
|
41 do_update(form, db) |
|
42 elif action == 'delete': |
|
43 do_delete(form, db) |
|
44 keywords = db.get_all_keywords() |
|
45 total = keywords[0][2] |
|
46 keywords = keywords[1:] |
|
47 exc = map(lambda e: int(e[0]), keywords) |
|
48 bookmarks = db.select_bookmarks([0], exc) |
|
49 keywords = set_selection(keywords, []) |
|
50 if len(bookmarks) > 0: |
|
51 bookmarks = db.get_bookmarks(map(lambda x: x[0], bookmarks)) |
|
52 bookmarks = map(lambda bk: bk.dict(), bookmarks) |
|
53 curl = get_curl(); |
|
54 main(bookmarks, keywords, curl, total) |