edit.py
author fabien
Sat, 27 Sep 2003 03:37:42 -0400
branchxbelweb
changeset 27 212f1dc25b67
parent 21 345ee7421989
child 33 db91081e5a78
permissions -rwxr-xr-x
[svn r1561] Index sorting modification.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
     1
#!/usr/bin/python
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
     2
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
     3
import sys
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
     4
import traceback
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
     5
sys.path.insert(0, "/home/fabien/lib/python")
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
     6
sys.path.insert(0, "./lib")
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
     7
sys.stderr = sys.stdout
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
     8
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
     9
print "Content-type: text/html; charset=iso-8859-1;"
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    10
print
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    11
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    12
# import cgitb; cgitb.enable()
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    13
import cgi
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    14
from htmltmpl import TemplateManager, TemplateProcessor
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    15
import my_db
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    16
import time
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    17
from bkmark import Bookmark
21
345ee7421989 [svn r1555] Add multiuser support and more templating.
fabien
parents: 9
diff changeset
    18
import os
9
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    19
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    20
def main(keywords, bk):
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    21
    tmpl = TemplateManager().prepare("add_bk.tmpl")
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    22
    tproc = TemplateProcessor()
21
345ee7421989 [svn r1555] Add multiuser support and more templating.
fabien
parents: 9
diff changeset
    23
    tproc.set("pagetitle", os.environ["REMOTE_USER"]+"'s XBELWeb Confirmation")
9
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    24
    tproc.set('ctitle', bk.name)
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    25
    tproc.set('curl', bk.url)
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    26
    tproc.set('desc', bk.desc)
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    27
    tproc.set('bkid', bk.id)
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    28
    tproc.set('Keywords', keywords)
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    29
    print tproc.process(tmpl)
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    30
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    31
if (__name__ == "__main__"):
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    32
    form = cgi.FieldStorage()
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    33
    id = int(form["id"].value)
21
345ee7421989 [svn r1555] Add multiuser support and more templating.
fabien
parents: 9
diff changeset
    34
    db = my_db.connect(os.environ["REMOTE_USER"])
9
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    35
    bk = db.get_bookmarks([id])[0]
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    36
    kw = db.get_all_keywords()[1:]
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    37
    kw.sort(lambda l,r: cmp(l[1],r[1]))
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    38
    (ids, kws) = apply(zip,db.get_keywords(id))
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    39
    kw = map(lambda elem: {
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    40
   	 'id' : elem[0],
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    41
   	 'keyword' : elem[1],
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    42
	 'checked' : elem[0] in ids }, kw)
896b7c6de627 [svn r1543] Ajout des fonctions d'�ditions.
fabien
parents:
diff changeset
    43
    main(kw, bk)