shorturl.cgi
author terom
Thu, 08 Nov 2007 19:26:00 +0000
changeset 6 d9d1f8e5f384
parent 5 156cdfffef8e
child 9 a0a13d5e406c
permissions -rwxr-xr-x
fix alignment of teh paginator, and make shorturl dirs better (no index.html + pagination)
1
740133ab6353 initial code, somewhere between 0.2 and 0.5
terom
parents:
diff changeset
     1
#!/usr/bin/env python2.5
740133ab6353 initial code, somewhere between 0.2 and 0.5
terom
parents:
diff changeset
     2
2
8b2b40a51098 modify shorturl.cgi to use the new shorturls2.db
terom
parents: 1
diff changeset
     3
import shelve
1
740133ab6353 initial code, somewhere between 0.2 and 0.5
terom
parents:
diff changeset
     4
import cgi
740133ab6353 initial code, somewhere between 0.2 and 0.5
terom
parents:
diff changeset
     5
import os, os.path
740133ab6353 initial code, somewhere between 0.2 and 0.5
terom
parents:
diff changeset
     6
740133ab6353 initial code, somewhere between 0.2 and 0.5
terom
parents:
diff changeset
     7
vars = cgi.FieldStorage()
740133ab6353 initial code, somewhere between 0.2 and 0.5
terom
parents:
diff changeset
     8
740133ab6353 initial code, somewhere between 0.2 and 0.5
terom
parents:
diff changeset
     9
key = vars['key'].value
6
d9d1f8e5f384 fix alignment of teh paginator, and make shorturl dirs better (no index.html + pagination)
terom
parents: 5
diff changeset
    10
d9d1f8e5f384 fix alignment of teh paginator, and make shorturl dirs better (no index.html + pagination)
terom
parents: 5
diff changeset
    11
if 'index' in vars :
d9d1f8e5f384 fix alignment of teh paginator, and make shorturl dirs better (no index.html + pagination)
terom
parents: 5
diff changeset
    12
    index = int(vars['index'].value.lstrip('/'))
d9d1f8e5f384 fix alignment of teh paginator, and make shorturl dirs better (no index.html + pagination)
terom
parents: 5
diff changeset
    13
else :
d9d1f8e5f384 fix alignment of teh paginator, and make shorturl dirs better (no index.html + pagination)
terom
parents: 5
diff changeset
    14
    index = None
d9d1f8e5f384 fix alignment of teh paginator, and make shorturl dirs better (no index.html + pagination)
terom
parents: 5
diff changeset
    15
2
8b2b40a51098 modify shorturl.cgi to use the new shorturls2.db
terom
parents: 1
diff changeset
    16
db = shelve.open('shorturls2', 'r')
1
740133ab6353 initial code, somewhere between 0.2 and 0.5
terom
parents:
diff changeset
    17
740133ab6353 initial code, somewhere between 0.2 and 0.5
terom
parents:
diff changeset
    18
try :
2
8b2b40a51098 modify shorturl.cgi to use the new shorturls2.db
terom
parents: 1
diff changeset
    19
    type, dirpath, fname = db[key]
8b2b40a51098 modify shorturl.cgi to use the new shorturls2.db
terom
parents: 1
diff changeset
    20
6
d9d1f8e5f384 fix alignment of teh paginator, and make shorturl dirs better (no index.html + pagination)
terom
parents: 5
diff changeset
    21
    if index :
d9d1f8e5f384 fix alignment of teh paginator, and make shorturl dirs better (no index.html + pagination)
terom
parents: 5
diff changeset
    22
        if index > 1 : 
d9d1f8e5f384 fix alignment of teh paginator, and make shorturl dirs better (no index.html + pagination)
terom
parents: 5
diff changeset
    23
            fname += 'index_%s.html' % (index - 1)
5
156cdfffef8e fix shorturls to dirs, and a new feature: pagination for index pages
terom
parents: 3
diff changeset
    24
6
d9d1f8e5f384 fix alignment of teh paginator, and make shorturl dirs better (no index.html + pagination)
terom
parents: 5
diff changeset
    25
        dirpath = '../%s' % dirpath
d9d1f8e5f384 fix alignment of teh paginator, and make shorturl dirs better (no index.html + pagination)
terom
parents: 5
diff changeset
    26
    
d9d1f8e5f384 fix alignment of teh paginator, and make shorturl dirs better (no index.html + pagination)
terom
parents: 5
diff changeset
    27
    if type == 'img' :
d9d1f8e5f384 fix alignment of teh paginator, and make shorturl dirs better (no index.html + pagination)
terom
parents: 5
diff changeset
    28
        fname += '.html'
d9d1f8e5f384 fix alignment of teh paginator, and make shorturl dirs better (no index.html + pagination)
terom
parents: 5
diff changeset
    29
d9d1f8e5f384 fix alignment of teh paginator, and make shorturl dirs better (no index.html + pagination)
terom
parents: 5
diff changeset
    30
    path = os.path.join(dirpath, fname)
1
740133ab6353 initial code, somewhere between 0.2 and 0.5
terom
parents:
diff changeset
    31
finally :
740133ab6353 initial code, somewhere between 0.2 and 0.5
terom
parents:
diff changeset
    32
    db.close()
740133ab6353 initial code, somewhere between 0.2 and 0.5
terom
parents:
diff changeset
    33
740133ab6353 initial code, somewhere between 0.2 and 0.5
terom
parents:
diff changeset
    34
print "Status: 302"
740133ab6353 initial code, somewhere between 0.2 and 0.5
terom
parents:
diff changeset
    35
print "Location: ../%s" % path
740133ab6353 initial code, somewhere between 0.2 and 0.5
terom
parents:
diff changeset
    36
print
740133ab6353 initial code, somewhere between 0.2 and 0.5
terom
parents:
diff changeset
    37
print "../%s" % path
740133ab6353 initial code, somewhere between 0.2 and 0.5
terom
parents:
diff changeset
    38