index.py
author fabien
Tue, 07 Oct 2003 11:07:46 -0400
branchxbelweb
changeset 36 6d87015fb314
parent 32 10f57beae364
child 38 c30e2402deca
permissions -rwxr-xr-x
[svn r1580] Prefer get to post method since no change are necessary
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
a4c49a0c313b [svn r1527] Premi�re version.
fabien
parents:
diff changeset
     1
#!/usr/bin/python
a4c49a0c313b [svn r1527] Premi�re version.
fabien
parents:
diff changeset
     2
a4c49a0c313b [svn r1527] Premi�re version.
fabien
parents:
diff changeset
     3
import sys
a4c49a0c313b [svn r1527] Premi�re version.
fabien
parents:
diff changeset
     4
import traceback
15
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents: 13
diff changeset
     5
if (__name__ == '__main__'):
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents: 13
diff changeset
     6
	sys.path.insert(0, "/home/fabien/lib/python")
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents: 13
diff changeset
     7
	sys.path.insert(0, "./lib")
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents: 13
diff changeset
     8
	sys.stderr = sys.stdout
0
a4c49a0c313b [svn r1527] Premi�re version.
fabien
parents:
diff changeset
     9
15
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents: 13
diff changeset
    10
	print "Content-type: text/html; charset=iso-8859-1;"
574631f841c3 [svn r1549] Add update/merge/delete keywords.
fabien
parents: 13
diff changeset
    11
	print
0
a4c49a0c313b [svn r1527] Premi�re version.
fabien
parents:
diff changeset
    12
a4c49a0c313b [svn r1527] Premi�re version.
fabien
parents:
diff changeset
    13
# import cgitb; cgitb.enable()
a4c49a0c313b [svn r1527] Premi�re version.
fabien
parents:
diff changeset
    14
import cgi
a4c49a0c313b [svn r1527] Premi�re version.
fabien
parents:
diff changeset
    15
import my_db
32
10f57beae364 [svn r1576] New selection mechanic.
fabien
parents: 27
diff changeset
    16
from webutils import *
0
a4c49a0c313b [svn r1527] Premi�re version.
fabien
parents:
diff changeset
    17
a4c49a0c313b [svn r1527] Premi�re version.
fabien
parents:
diff changeset
    18
if (__name__ == "__main__"):
a4c49a0c313b [svn r1527] Premi�re version.
fabien
parents:
diff changeset
    19
    form = cgi.FieldStorage()
21
345ee7421989 [svn r1555] Add multiuser support and more templating.
fabien
parents: 17
diff changeset
    20
    db = my_db.connect(environ["REMOTE_USER"])
32
10f57beae364 [svn r1576] New selection mechanic.
fabien
parents: 27
diff changeset
    21
    selection = get_keywords(form, 'sel')
10f57beae364 [svn r1576] New selection mechanic.
fabien
parents: 27
diff changeset
    22
    exclusion = get_keywords(form, 'exc')
10f57beae364 [svn r1576] New selection mechanic.
fabien
parents: 27
diff changeset
    23
    if len(selection) == 0:
10f57beae364 [svn r1576] New selection mechanic.
fabien
parents: 27
diff changeset
    24
    	keywords = set_selection(db, [], selection, exclusion)
10f57beae364 [svn r1576] New selection mechanic.
fabien
parents: 27
diff changeset
    25
    	exc = map(lambda e: int(e['id']), keywords[1:])
3
9e7e8b678819 [svn r1530] Add and browse working.
fabien
parents: 0
diff changeset
    26
   	bookmarks = db.select_bookmarks([0], exc)
9e7e8b678819 [svn r1530] Add and browse working.
fabien
parents: 0
diff changeset
    27
    else:
32
10f57beae364 [svn r1576] New selection mechanic.
fabien
parents: 27
diff changeset
    28
    	bookmarks = db.select_bookmarks(selection, exclusion)
10f57beae364 [svn r1576] New selection mechanic.
fabien
parents: 27
diff changeset
    29
   	keywords = set_selection(db,
10f57beae364 [svn r1576] New selection mechanic.
fabien
parents: 27
diff changeset
    30
		map(lambda e: e[0], bookmarks),
10f57beae364 [svn r1576] New selection mechanic.
fabien
parents: 27
diff changeset
    31
		selection, exclusion)
10f57beae364 [svn r1576] New selection mechanic.
fabien
parents: 27
diff changeset
    32
    total = len(bookmarks)
6
da757ef67c69 [svn r1540] Correction for zero-lenght results in bookmark search.
fabien
parents: 4
diff changeset
    33
    if len(bookmarks) > 0:
da757ef67c69 [svn r1540] Correction for zero-lenght results in bookmark search.
fabien
parents: 4
diff changeset
    34
    	bookmarks = db.get_bookmarks(map(lambda x: x[0], bookmarks))
3
9e7e8b678819 [svn r1530] Add and browse working.
fabien
parents: 0
diff changeset
    35
    bookmarks = map(lambda bk: bk.dict(), bookmarks)
32
10f57beae364 [svn r1576] New selection mechanic.
fabien
parents: 27
diff changeset
    36
    process_index(bookmarks, keywords)