do_edit_kw.py
author fabien
Mon, 27 Oct 2003 02:26:39 -0500
branchxbelweb
changeset 53 e80160a19653
parent 50 5275135955c0
permissions -rwxr-xr-x
[svn r1610] Lots of "small" bugs corrected.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
15
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
     1
#!/usr/bin/python
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
     2
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
     3
import sys
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
     4
import traceback
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
     5
sys.path.insert(0, "/home/fabien/lib/python")
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
     6
sys.path.insert(0, "./lib")
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
     7
sys.stderr = sys.stdout
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
     8
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
     9
print "Content-type: text/html; charset=iso-8859-1;"
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    10
print
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    11
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    12
# import cgitb; cgitb.enable()
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    13
import cgi
47
2781ac85b807 [svn r1604] Implement default_view preferences, which move things around a lot.
fabien
parents: 43
diff changeset
    14
from templates import Template
15
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    15
import my_db
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    16
from bkmark import Bookmark
47
2781ac85b807 [svn r1604] Implement default_view preferences, which move things around a lot.
fabien
parents: 43
diff changeset
    17
from keywords import get_keywords
21
345ee7421989 [svn r1555] Add multiuser support and more templating.
fabien
parents: 16
diff changeset
    18
import os
15
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    19
43
4d194fce51e1 [svn r1594] Update to use user's preferences.
fabien
parents: 30
diff changeset
    20
def main(action, sel_keywords, keywords, prefs):
47
2781ac85b807 [svn r1604] Implement default_view preferences, which move things around a lot.
fabien
parents: 43
diff changeset
    21
    tmpl = Template("kw_confirm.tmpl", prefs)
2781ac85b807 [svn r1604] Implement default_view preferences, which move things around a lot.
fabien
parents: 43
diff changeset
    22
    tmpl.set("confirm_delete", action == 'delete')
2781ac85b807 [svn r1604] Implement default_view preferences, which move things around a lot.
fabien
parents: 43
diff changeset
    23
    tmpl.set("confirm_merge", action == 'merge')
2781ac85b807 [svn r1604] Implement default_view preferences, which move things around a lot.
fabien
parents: 43
diff changeset
    24
    tmpl.set("confirm_rename", action == 'rename')
2781ac85b807 [svn r1604] Implement default_view preferences, which move things around a lot.
fabien
parents: 43
diff changeset
    25
    tmpl.set("action", action)
2781ac85b807 [svn r1604] Implement default_view preferences, which move things around a lot.
fabien
parents: 43
diff changeset
    26
    tmpl.set("Selected", sel_keywords)
2781ac85b807 [svn r1604] Implement default_view preferences, which move things around a lot.
fabien
parents: 43
diff changeset
    27
    tmpl.set("Keywords", keywords)
2781ac85b807 [svn r1604] Implement default_view preferences, which move things around a lot.
fabien
parents: 43
diff changeset
    28
    print tmpl.process()
15
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    29
21
345ee7421989 [svn r1555] Add multiuser support and more templating.
fabien
parents: 16
diff changeset
    30
if (__name__ == "__main__"):
345ee7421989 [svn r1555] Add multiuser support and more templating.
fabien
parents: 16
diff changeset
    31
    form = cgi.FieldStorage()
345ee7421989 [svn r1555] Add multiuser support and more templating.
fabien
parents: 16
diff changeset
    32
    db = my_db.connect(os.environ["REMOTE_USER"])
30
dbf4027d82fc [svn r1574] Keywords edition now in a separate page.
fabien
parents: 26
diff changeset
    33
    ids = get_keywords(form, 'kw')
dbf4027d82fc [svn r1574] Keywords edition now in a separate page.
fabien
parents: 26
diff changeset
    34
    keywords = map(lambda e: { 'id': e[0], 'keyword': e[1]},
50
5275135955c0 [svn r1607] Add remove flag to the keyword merging.
fabien
parents: 47
diff changeset
    35
   	 db.get_all_keywords()[1:])
30
dbf4027d82fc [svn r1574] Keywords edition now in a separate page.
fabien
parents: 26
diff changeset
    36
    keywords.sort(lambda x, y: cmp(x['keyword'],y['keyword']))
dbf4027d82fc [svn r1574] Keywords edition now in a separate page.
fabien
parents: 26
diff changeset
    37
    sel_keywords = filter(lambda e: e['id'] in ids, keywords)
50
5275135955c0 [svn r1607] Add remove flag to the keyword merging.
fabien
parents: 47
diff changeset
    38
    keywords = filter(lambda e: e['id'] not in ids, keywords)
21
345ee7421989 [svn r1555] Add multiuser support and more templating.
fabien
parents: 16
diff changeset
    39
    action = form['action'].value
43
4d194fce51e1 [svn r1594] Update to use user's preferences.
fabien
parents: 30
diff changeset
    40
    main(action, sel_keywords, keywords, db.get_preferences())
21
345ee7421989 [svn r1555] Add multiuser support and more templating.
fabien
parents: 16
diff changeset
    41