diff -r 130fb8a8dbb9 -r d3167c40e7b9 scripts/detool --- a/scripts/detool Wed Jul 01 20:03:41 2009 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,106 +0,0 @@ -#!/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. -# - -from lib import settings -from lib.log import misc as log -from lib.utils import path_join -import os, os.path, logging - -def move (options, args) : - if len(args) < 2 : - raise Exception("Must give one or more source files, and a destination dir") - - dest = args.pop(-1) - srcs = args - - if not os.path.isdir(dest) : - raise Exception("Given destination '%s' is not a directory" % dest) - - for subdir in (settings.THUMB_DIR, settings.PREVIEW_DIR) : - path = os.path.join(dest, subdir) - - if not os.path.exists(path) : - log.info("mkdir %s" % path) - os.mkdir(path) - - for src in srcs : - if not os.path.isfile(src) : - raise Exception("Given source file '%s' is not a valid file" % src) - - for (pre, post) in ( - (None, None), - (settings.THUMB_DIR, None), - (settings.PREVIEW_DIR, None), - (None, '.html'), - ) : - dir, fname = os.path.split(src) - - if post : - fname += post - - src_path = path_join(dir, pre, fname) - dst_path = path_join(dest, pre, fname) - - if os.path.isfile(src_path) : - if not options.overwite and os.path.exists(dst_path) : - log.warning("%s exists; skipping %s" % (dst_path, src_path)) - log.info("%s -> %s" % (src_path, dst_path)) - os.rename(src_path, dst_path) - -def help (options, args) : - print "Available commands:" - - for name, func in COMMANDS.iteritems() : - print "\t%s" % name - -COMMANDS = dict( - move = move, - mv = move, - help = help, -) - -if __name__ == '__main__' : - from optparse import OptionParser - - parser = OptionParser(usage="usage: %prog [options] [args ...]", version=settings.VERSION) - - parser.add_option("-q", "--quiet", dest="verbose", default=True) - parser.add_option("-i", "--careful", dest="overwrite", help="Do not overwrite files", default=True) - - options, args = parser.parse_args() - - if options.verbose : - log.setLevel(logging.INFO) - else : - log.setLevel(logging.ERROR) - - if not args : - parser.error("Must supply a command. See `detool.py help` for a list of commands") - - command = args.pop(0).lower() - - if command not in COMMANDS : - parser.error("Unknown command '%s'. Try `detool.py help`" % command) - - func = COMMANDS[command] - - func(options, args) \ No newline at end of file