11 |
11 |
12 # import cgitb; cgitb.enable() |
12 # import cgitb; cgitb.enable() |
13 import cgi |
13 import cgi |
14 import my_db |
14 import my_db |
15 from os import environ |
15 from os import environ |
16 from index import load_index |
16 from webutils import load_index, get_keywords |
17 |
17 |
18 def do_merge(form, db): |
18 def do_merge(form, db): |
19 fromid = int(form['id'].value) |
19 fromids = get_keywords(form, 'id') |
20 toid = int(form['merge'].value) |
20 toid = int(form['kw'].value) |
21 db.merge_keywords(fromid, toid) |
21 tokw = db.get_keyword(toid) |
|
22 for id in fromids: |
|
23 fromkw = db.get_keyword(id) |
|
24 print "<em>Merging '%s' into '%s'.</em><br/>" % (fromkw, tokw) |
|
25 db.merge_keywords(id, toid) |
22 |
26 |
23 def do_update(form, db): |
27 def do_rename(form, db): |
24 id = int(form['id'].value) |
28 ids = get_keywords(form, 'id') |
25 newname = form['name'].value |
29 for id in ids: |
26 db.update_keyword(id, newname) |
30 oldname = db.get_keyword(id) |
|
31 newname = form['name%d' % id].value |
|
32 print "<em>Renaming '%s' into '%s'.</em><br/>" % (oldname, newname) |
|
33 db.update_keyword(id, newname) |
27 |
34 |
28 def do_delete(form, db): |
35 def do_delete(form, db): |
29 id = int(form['id'].value) |
36 ids = get_keywords(form, 'id') |
30 db.remove_keyword(id) |
37 for id in ids: |
|
38 kw = db.get_keyword(id) |
|
39 print "<em>Removing '%s'.</em><br/>" % kw |
|
40 db.remove_keyword(id) |
31 |
41 |
32 if (__name__ == "__main__"): |
42 if (__name__ == "__main__"): |
33 form = cgi.FieldStorage() |
43 form = cgi.FieldStorage() |
34 db = my_db.connect(environ["REMOTE_USER"]) |
44 db = my_db.connect(environ["REMOTE_USER"]) |
35 action = form['action'].value |
45 action = form['action'].value |
36 if action == 'merge': |
46 if action == 'merge': |
37 do_merge(form, db) |
47 do_merge(form, db) |
38 elif action == 'update': |
48 elif action == 'rename': |
39 do_update(form, db) |
49 do_rename(form, db) |
40 elif action == 'delete': |
50 elif action == 'delete': |
41 do_delete(form, db) |
51 do_delete(form, db) |
42 load_index(db) |
52 load_index(db) |