kw_result.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.

#!/usr/bin/python

import sys
import traceback
sys.path.insert(0, "/home/fabien/lib/python")
sys.path.insert(0, "./lib")
sys.stderr = sys.stdout

print "Content-type: text/html; charset=iso-8859-1;"
print

# import cgitb; cgitb.enable()
import cgi
import my_db
from os import environ
from webutils import load_index
from keywords import get_keywords

def do_merge(form, db):
	fromids = get_keywords(form, 'id')
	toids = get_keywords(form, 'kw')
	remove_them = form.has_key('remove')
	if remove_them:
		lastid = toids.pop()
	for id in fromids:
		fromkw = db.get_keyword(id)
		for dest in toids:
			tokw = db.get_keyword(dest)
			print "<em>Adding '%s' into '%s'.</em><br/>" % (fromkw, tokw)
			db.add_keywords(id, dest) 
		if remove_them:
			tokw = db.get_keyword(lastid)
			print "<em>Merging '%s' into '%s'.</em><br/>" % (fromkw, tokw)
			db.merge_keywords(id, lastid)

def do_rename(form, db):
	ids = get_keywords(form, 'id')
	for id in ids:
		oldname = db.get_keyword(id)
		newname = form['name%d' % id].value
		print "<em>Renaming '%s' into '%s'.</em><br/>" % (oldname, newname)
		db.update_keyword(id, newname)
 
def do_delete(form, db):
	ids = get_keywords(form, 'id')
	for id in ids:
		kw = db.get_keyword(id)
		print "<em>Removing '%s'.</em><br/>" % kw
		db.remove_keyword(id)

if (__name__ == "__main__"):
    form = cgi.FieldStorage()
    db = my_db.connect(environ["REMOTE_USER"])
    prefs = db.get_preferences()
    action = form['action'].value
    if action == 'merge':
	do_merge(form, db)
    elif action == 'rename':
	do_rename(form, db)
    elif action == 'delete':
    	do_delete(form, db)
    load_index(db, prefs)