diff -r 980825f2aeed -r adde6ad8731e www/shorturl.cgi --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/www/shorturl.cgi Sat Dec 22 19:19:05 2007 +0000 @@ -0,0 +1,61 @@ +#!/usr/bin/env python2.4 +# +# DeGAL - A pretty simple web image gallery +# Copyright (C) 2007 Tero Marttila +# http://marttila.de/~terom/degal/ +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# + + +import shelve +import cgi +import os, os.path + +vars = cgi.FieldStorage() + +key = vars['key'].value + +if 'index' in vars : + index = int(vars['index'].value.lstrip('/')) +else : + index = None + +db = shelve.open('shorturls2', 'r') + +try : + type, dirpath, fname = db[key] + + if type == 'img' : + fname += '.html' + elif type == 'dir' : + fname = '' + + if index : + if index > 1 : + fname = 'index_%s.html' % (index - 1) + + dirpath = '../%s' % dirpath + + path = os.path.join(dirpath, fname) +finally : + db.close() + +print "Status: 302" +print "Location: ../%s" % path +print +print "../%s" % path +