scripts/degal
branchuse-distutils
changeset 40 373392025533
parent 38 2e9fdb080ad6
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/degal	Wed Jun 03 18:59:46 2009 +0300
@@ -0,0 +1,60 @@
+#!/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, log
+
+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]
+    
+    log.title("Indexing %s...", dir)
+    root = folder.Folder(dir)
+    root.index(root_filter)
+    log.up()
+
+    log.title("Syncing ShortURLs...")
+    shorturl.updateDB(root)
+    log.up()
+
+    log.title("Rendering updated dirs...")
+    root.render()
+    log.up()
+
+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)