reorganizing the repository
[project-aon.git] / common / scripts / convert-ill.pl
diff --git a/common/scripts/convert-ill.pl b/common/scripts/convert-ill.pl
new file mode 100644 (file)
index 0000000..3789c08
--- /dev/null
@@ -0,0 +1,72 @@
+#!/usr/bin/perl  -w
+# This script recurses a directory and creates a similar structure
+# but converting the files from a given format to a different one.
+#
+# This program is copyright 2009 by Javier Fernandez-Sanguino <jfs@debian.org>
+#
+#    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
+#
+# For more information please see
+#  http://www.gnu.org/licenses/licenses.html#GPL
+
+
+$oldformat="gif";
+$newformat="png";
+$sourcedir = `pwd`;
+chomp($sourcedir);
+
+convert_recurse_dir($sourcedir."/".$oldformat);
+exit 0;
+
+sub convert_recurse_dir ($) {
+    my ($dir) = @_;
+    my $DIRFH;
+    print "Looking $dir\n";
+    opendir $DIRFH, $dir || die ("Cannot open directory $dir: $!");
+
+    while ( $file = readdir($DIRFH) ) {
+        next if $file =~ /^\./; # Skip hidden files and directories
+        $filename = $dir."/".$file;
+        print "Checking $filename\n";
+        if ( -d "$filename" ) {
+            $newdir = $filename;
+            $newdir =~ s/\/$oldformat\//\/$newformat\//;
+            if ( ! -d "$newdir" ) {
+                print "Creating $newdir\n";
+                `mkdir $newdir`;
+            }
+            convert_recurse_dir($filename);
+        } 
+        if ( -f "$filename" ) {
+            copy_file($filename);
+        }
+        print "Done with $filename\n";
+    }
+    closedir $DIRFH;
+    return 0;
+}
+
+sub copy_file ($) {
+    my ($file) = @_;
+    $newfile = $file;
+    $newfile =~ s/\/$oldformat\//\/$newformat\//;
+    $newfile =~ s/\.$oldformat$/\.$newformat/;
+    if ( ! -e "$newfile" ) {
+        print "Converting $file to $newfile\n";
+        `convert $file $newfile`;
+    }
+    return 0;
+}
+