Index: trunk/DataStore/scripts/dsleech
===================================================================
--- trunk/DataStore/scripts/dsleech	(revision 9827)
+++ trunk/DataStore/scripts/dsleech	(revision 11288)
@@ -3,5 +3,5 @@
 # Copyright (C) 2006  Joshua Hoblitt
 #
-# $Id: dsleech,v 1.4 2006-11-02 03:15:08 jhoblitt Exp $
+# $Id: dsleech,v 1.5 2007-01-25 03:39:31 jhoblitt Exp $
 
 use strict;
@@ -24,4 +24,5 @@
     'uri|u=s'           => \$uri,
     'last_fileset|l=s'  => \$last_fileset,
+    'overwrite|o'       => \$overwrite,
     'recall'            => \$recall,
     'remember'          => \$remember,
@@ -71,5 +72,5 @@
 }
 
-process_filesets($filesets, $dir, $verbose) or die "failed to process filesets";
+process_filesets($filesets, $dir, $overwrite, $verbose) or die "failed to process filesets";
 
 # if we got this far we're assuming that the downloads completed and we can
@@ -86,5 +87,5 @@
 sub process_filesets
 {
-    my ($filsets, $dir, $verbose) = @_;
+    my ($filsets, $dir, $overwrite $verbose) = @_;
 
     foreach my $fileset (@$filesets) {
@@ -104,5 +105,5 @@
         }
 
-        if (!process_files($files, $dir, $verbose)) {
+        if (!process_files($files, $dir, $overwrite, $verbose)) {
             warn "failed to process files";
             return;
@@ -115,5 +116,5 @@
 sub process_files
 {
-    my ($files, $dir, $vebose) = @_;
+    my ($files, $dir, $overwrite, $vebose) = @_;
 
     foreach my $file (@$files) {
@@ -137,6 +138,10 @@
         # make sure that filename doesn't already exist
         if (-e $filename) {
-            warn "file $filename already exists, skipping...";
-            next;
+            if ($overwrite) {
+                warn "file $filename already exists, overwriting...";
+            } else {
+                warn "file $filename already exists, skipping...";
+                next;
+            }
         }
 
@@ -226,4 +231,10 @@
 This flag is optional.
 
+=item * --overwrite
+
+If a file already exists, overwrite it.
+
+This flag is optional.
+
 =item * --recall
 
