degal.py
author terom
Sun, 20 Jan 2008 01:52:00 +0000
changeset 25 4b3cf12848c2
parent 24 001f52cd057e
child 27 301d738b1181
permissions -rwxr-xr-x
tweaks/bugfixes (e.g. support adding multiple tags to an image at once)
#!/usr/bin/env python2.5
#
# 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 os.path, os
from optparse import OptionParser

from lib import folder, shorturl

def main (dir='.', targets=()) :
    root_filter = {}

    for target in targets :
        f = root_filter
        for path_part in target.split('/') :
            if path_part :
                if path_part not in f :
                    f[path_part] = {}
                    
                f = f[path_part]

    root = folder.Folder(dir)
    root.index(root_filter)
    shorturl.updateDB(root)
    root.render()

if __name__ == '__main__' :
    parser = OptionParser(usage="usage: %prog [options] ... [target ...]")
    
    parser.add_option("-d", "--dir", dest="dir", help="look for images in DIR and write the HTML there", metavar="DIR", default=".")
    
    options, filter_targets = parser.parse_args()
    
    main(options.dir, filter_targets)