Index: trunk/DataStore/scripts/dsget
===================================================================
--- trunk/DataStore/scripts/dsget	(revision 16178)
+++ trunk/DataStore/scripts/dsget	(revision 16301)
@@ -3,5 +3,5 @@
 # Copyright (C) 2006-2008  Joshua Hoblitt
 #
-# $Id: dsget,v 1.11 2008-01-22 20:54:45 jhoblitt Exp $
+# $Id: dsget,v 1.12 2008-02-05 04:57:10 eugene Exp $
 
 use strict;
@@ -15,4 +15,5 @@
 use File::Temp ();
 use File::Basename qw( basename dirname );
+use Nebulous::Util qw( parse_neb_key );
 
 use Getopt::Long qw( GetOptions :config auto_help auto_version gnu_getopt );
@@ -39,8 +40,38 @@
 ) unless defined $uri and defined $filename;
 
+# if --nebulous is specified, parse the nebulous name
+my ($uriVolume, $uriFilename);
+if ($nebulous) {
+    ($uriVolume, $uriFilename) = parse_neb_key ($filename);
+}    
+
 # --volume implies --nebulous
 if ($volume) {
     $nebulous ||=1;
-}
+} 
+
+# if ($uriVolume) {
+#     print "uriVolume: $uriVolume\n";
+# }
+# if ($uriFilename) {
+#     print "uriFilename: $uriFilename\n";
+# }
+
+if ($volume and $uriVolume and ($volume ne $uriVolume)) {
+    die "conflicting volume names specified";
+}
+
+if ($uriVolume) { $volume = $uriVolume; }
+if ($uriFilename) { $filename = $uriFilename; }
+
+# if ($volume) {
+#     print "volume: $volume\n";
+# } else {
+#     print "volume undefined\n";
+# }
+# print "filename: $filename\n";
+# if ($nebulous) {
+#     print "using nebulous\n";
+# }
 
 my %p = (
