shorturl.cgi
changeset 6 d9d1f8e5f384
parent 5 156cdfffef8e
child 9 a0a13d5e406c
equal deleted inserted replaced
5:156cdfffef8e 6:d9d1f8e5f384
     5 import os, os.path
     5 import os, os.path
     6 
     6 
     7 vars = cgi.FieldStorage()
     7 vars = cgi.FieldStorage()
     8 
     8 
     9 key = vars['key'].value
     9 key = vars['key'].value
       
    10 
       
    11 if 'index' in vars :
       
    12     index = int(vars['index'].value.lstrip('/'))
       
    13 else :
       
    14     index = None
       
    15 
    10 db = shelve.open('shorturls2', 'r')
    16 db = shelve.open('shorturls2', 'r')
    11 
    17 
    12 try :
    18 try :
    13     type, dirpath, fname = db[key]
    19     type, dirpath, fname = db[key]
    14 
    20 
    15     if type == 'dir' : fname = 'index'
    21     if index :
       
    22         if index > 1 : 
       
    23             fname += 'index_%s.html' % (index - 1)
    16 
    24 
    17     path = os.path.join(dirpath, fname) + '.html'
    25         dirpath = '../%s' % dirpath
       
    26     
       
    27     if type == 'img' :
       
    28         fname += '.html'
       
    29 
       
    30     path = os.path.join(dirpath, fname)
    18 finally :
    31 finally :
    19     db.close()
    32     db.close()
    20 
    33 
    21 print "Status: 302"
    34 print "Status: 302"
    22 print "Location: ../%s" % path
    35 print "Location: ../%s" % path