terom@8: #!/usr/bin/env python2.4 terom@8: terom@8: import cgi terom@8: import shelve terom@8: import os, os.path terom@8: terom@8: import degal terom@8: terom@8: images = shelve.open('images', 'c') terom@8: tag_images = shelve.open('tag_images', 'c') terom@8: tag_tags = shelve.open('tag_tags', 'c') terom@8: terom@8: # request params terom@8: vars = cgi.FieldStorage() terom@8: terom@8: if 'path' in vars : terom@8: path = vars['path'].value terom@8: else : terom@8: path = '.' terom@8: terom@8: image_list = [] terom@8: terom@8: if 'bulk_tag' in vars : terom@8: bulk_tags = vars['bulk_tag'].value.split() terom@8: else : terom@8: bulk_tags = None terom@8: terom@8: for fname in os.listdir(path) : terom@8: if degal.isImage(fname) : terom@8: image_path = os.path.join(path, fname) terom@8: thumb_path = os.path.join(path, degal.THUMB_DIR, fname) terom@8: html_path = image_path + '.html' terom@8: terom@8: title, descr, tags = images.get(image_path, (None, None, [])) terom@8: terom@8: if 'img_%s_title' % fname in vars : terom@8: title = vars['img_%s_title' % fname].value terom@8: terom@8: if 'img_%s_descr' % fname in vars : terom@8: descr = vars['img_%s_descr' % fname].value terom@8: terom@8: if 'img_%s_tags' % fname in vars : terom@8: tags = vars['img_%s_tags' % fname].value.split() terom@8: terom@8: if bulk_tags and 'img_%s_chk' % fname in vars : terom@8: tags.extend(bulk_tags) terom@8: terom@8: if title or descr or tags : terom@8: images[image_path] = (title, descr, tags) terom@8: terom@8: html = """ terom@8: