Index: trunk/DataStore/scripts/dsget
===================================================================
--- trunk/DataStore/scripts/dsget	(revision 15085)
+++ trunk/DataStore/scripts/dsget	(revision 15264)
@@ -3,5 +3,5 @@
 # Copyright (C) 2006  Joshua Hoblitt
 #
-# $Id: dsget,v 1.6 2007-09-28 21:10:58 jhoblitt Exp $
+# $Id: dsget,v 1.7 2007-10-09 23:20:33 jhoblitt Exp $
 
 use strict;
@@ -12,4 +12,5 @@
 
 use DataStore;
+use File::Path qw( mkpath );
 use File::Temp ();
 use File::Basename qw( basename dirname );
@@ -46,4 +47,11 @@
 $p{md5sum} = $md5 if defined $md5;
 
+my $dirname = dirname($filename);
+
+if (!-d $dirname) {
+    # create path and possibly fix up permissions
+    mkpath([$dirname], 1, 0775);
+}
+
 # can we truely write to filename?
 {
@@ -62,14 +70,7 @@
 }
 
-my $dirname = dirname($filename);
-
-if (!-d $dirname) {
-    # create path and possibly fix up permissions
-    mkpath([$dirname], 1, 0775);
-}
-
 my $tmp = File::Temp->new(
     DIR         => $dirname,
-    TEMPLATE    => '.' . basename($filename) . 'XXXX',
+    TEMPLATE    => '.' . basename($filename) . '.XXXXXXXX',
     SUFFIX      => '.tmp',
     UNLINK      => 1,
@@ -82,4 +83,5 @@
 die "request failed" unless defined $response;
 die "request failed: ", $response->status_line unless $response->is_success;
+die "checksum failed" unless $response->filename;
 
 # file retreival succeed
