kw_result.py
author fabien
Tue, 07 Oct 2003 00:05:59 -0400
branchxbelweb
changeset 31 cee64de4e7e0
parent 30 dbf4027d82fc
child 47 2781ac85b807
permissions -rwxr-xr-x
[svn r1575] Move index.py generic functions into a separate library.
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
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    14
import my_db
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    15
from os import environ
30
dbf4027d82fc [svn r1574] Keywords edition now in a separate page.
fabien
parents: 21
diff changeset
    16
from webutils import load_index, get_keywords
15
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    17
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    18
def do_merge(form, db):
30
dbf4027d82fc [svn r1574] Keywords edition now in a separate page.
fabien
parents: 21
diff changeset
    19
	fromids = get_keywords(form, 'id')
dbf4027d82fc [svn r1574] Keywords edition now in a separate page.
fabien
parents: 21
diff changeset
    20
	toid = int(form['kw'].value)	
dbf4027d82fc [svn r1574] Keywords edition now in a separate page.
fabien
parents: 21
diff changeset
    21
	tokw = db.get_keyword(toid)
dbf4027d82fc [svn r1574] Keywords edition now in a separate page.
fabien
parents: 21
diff changeset
    22
	for id in fromids:
dbf4027d82fc [svn r1574] Keywords edition now in a separate page.
fabien
parents: 21
diff changeset
    23
		fromkw = db.get_keyword(id)
dbf4027d82fc [svn r1574] Keywords edition now in a separate page.
fabien
parents: 21
diff changeset
    24
		print "<em>Merging '%s' into '%s'.</em><br/>" % (fromkw, tokw)
dbf4027d82fc [svn r1574] Keywords edition now in a separate page.
fabien
parents: 21
diff changeset
    25
		db.merge_keywords(id, toid)
15
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    26
30
dbf4027d82fc [svn r1574] Keywords edition now in a separate page.
fabien
parents: 21
diff changeset
    27
def do_rename(form, db):
dbf4027d82fc [svn r1574] Keywords edition now in a separate page.
fabien
parents: 21
diff changeset
    28
	ids = get_keywords(form, 'id')
dbf4027d82fc [svn r1574] Keywords edition now in a separate page.
fabien
parents: 21
diff changeset
    29
	for id in ids:
dbf4027d82fc [svn r1574] Keywords edition now in a separate page.
fabien
parents: 21
diff changeset
    30
		oldname = db.get_keyword(id)
dbf4027d82fc [svn r1574] Keywords edition now in a separate page.
fabien
parents: 21
diff changeset
    31
		newname = form['name%d' % id].value
dbf4027d82fc [svn r1574] Keywords edition now in a separate page.
fabien
parents: 21
diff changeset
    32
		print "<em>Renaming '%s' into '%s'.</em><br/>" % (oldname, newname)
dbf4027d82fc [svn r1574] Keywords edition now in a separate page.
fabien
parents: 21
diff changeset
    33
		db.update_keyword(id, newname)
15
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    34
 
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    35
def do_delete(form, db):
30
dbf4027d82fc [svn r1574] Keywords edition now in a separate page.
fabien
parents: 21
diff changeset
    36
	ids = get_keywords(form, 'id')
dbf4027d82fc [svn r1574] Keywords edition now in a separate page.
fabien
parents: 21
diff changeset
    37
	for id in ids:
dbf4027d82fc [svn r1574] Keywords edition now in a separate page.
fabien
parents: 21
diff changeset
    38
		kw = db.get_keyword(id)
dbf4027d82fc [svn r1574] Keywords edition now in a separate page.
fabien
parents: 21
diff changeset
    39
		print "<em>Removing '%s'.</em><br/>" % kw
dbf4027d82fc [svn r1574] Keywords edition now in a separate page.
fabien
parents: 21
diff changeset
    40
		db.remove_keyword(id)
15
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    41
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    42
if (__name__ == "__main__"):
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    43
    form = cgi.FieldStorage()
21
345ee7421989 [svn r1555] Add multiuser support and more templating.
fabien
parents: 17
diff changeset
    44
    db = my_db.connect(environ["REMOTE_USER"])
15
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    45
    action = form['action'].value
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    46
    if action == 'merge':
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    47
	do_merge(form, db)
30
dbf4027d82fc [svn r1574] Keywords edition now in a separate page.
fabien
parents: 21
diff changeset
    48
    elif action == 'rename':
dbf4027d82fc [svn r1574] Keywords edition now in a separate page.
fabien
parents: 21
diff changeset
    49
	do_rename(form, db)
15
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    50
    elif action == 'delete':
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents:
diff changeset
    51
    	do_delete(form, db)
17
14bec94bbe89 [svn r1551] Add delete bookmarks functionality as well as many reusability issues.
fabien
parents: 15
diff changeset
    52
    load_index(db)