diff -r 46536daf9e04 -r 8d3ffd87cb0b lib/shorturl.py --- a/lib/shorturl.py Sat Dec 22 21:31:01 2007 +0000 +++ b/lib/shorturl.py Wed Jan 16 14:58:03 2008 +0000 @@ -96,3 +96,32 @@ db['_id'] = id db.close() + +class DB (object) : + def __init__ (self, read_only=True) : + self.db = shelve.open('shorturls2', read_only and 'r' or 'c') + + def html_path (self, key, index) : + type, dirpath, fname = self.db[key] + + if type == 'img' : + fname += '.html' + elif type == 'dir' : + fname = '' + + if index : + dirpath = '../%s' % dirpath + + if type == 'dir' and index > 1 : + fname = 'index_%s.html' % (index - 1) + + return os.path.join(dirpath, fname) + + def image_info (self, key) : + type, dirpath, fname = self.db[key] + + if type != 'img' : + raise ValueError("%s is not an img" % key) + + return dirpath, fname +