Index: /trunk/DataStore/lib/DataStore/File.pm
===================================================================
--- /trunk/DataStore/lib/DataStore/File.pm	(revision 8721)
+++ /trunk/DataStore/lib/DataStore/File.pm	(revision 8722)
@@ -1,5 +1,5 @@
 # Copyright (C) 2006  Joshua Hoblitt
 #
-# $Id: File.pm,v 1.13 2006-07-22 01:17:33 smalle Exp $
+# $Id: File.pm,v 1.14 2006-08-31 22:58:34 jhoblitt Exp $
 
 package DataStore::File;
@@ -9,5 +9,5 @@
 
 use vars qw($VERSION);
-$VERSION = '0.02';
+$VERSION = '0.03';
 
 use base qw( DataStore::Record );
@@ -229,27 +229,32 @@
     my $ua = LWP::UserAgent->new;
     my $request = HTTP::Request->new(GET => $self->uri);
-    my $response = $ua->request($request, $p{filename});
+    my $filename = $p{filename};
+    my $response = $ua->request($request, $filename);
 
     if ($response->is_success) {
         # check size
         if (defined $self->bytes) {
-            my $size = stat($p{filename})->size;
+            my $size = stat($filename)->size;
             if (! $self->bytes == $size) {
-                unlink $p{filename};
+                unlink $filename;
                 carp "uri: ", $self->uri,
                      " - expected size: ", $self->bytes,
                      " got: ", $size;
-                return;
+                # set the filename to undef to indicate an error
+                $filename = undef;
+                last;
             }
         }
 
         if (defined $self->md5sum) {
-            my $md5 = file_md5_hex($p{filename});
+            my $md5 = file_md5_hex($filename);
             if (! $self->md5sum eq $md5) {
-                unlink $p{filename};
+                unlink $filename;
                 carp "uri: ", $self->uri,
                      " - expected md5: ", $self->md5sum,
                      " got: ", $md5;
-                return;
+                # set the filename to undef to indicate an error
+                $filename = undef;
+                last;
             }
         }
@@ -261,5 +266,5 @@
         code        => $response->code,
         status_line => $response->status_line,
-        data        => $p{filename},
+        data        => $filename,
         request     => $self,
     );
Index: /trunk/DataStore/lib/DataStore/Utils.pm
===================================================================
--- /trunk/DataStore/lib/DataStore/Utils.pm	(revision 8721)
+++ /trunk/DataStore/lib/DataStore/Utils.pm	(revision 8722)
@@ -1,5 +1,5 @@
 # Copyright (C) 2006  Joshua Hoblitt
 #
-# $Id: Utils.pm,v 1.2 2006-07-22 01:17:33 smalle Exp $
+# $Id: Utils.pm,v 1.3 2006-08-31 22:58:34 jhoblitt Exp $
 
 package DataStore::Utils;
@@ -9,5 +9,5 @@
 
 use vars qw( $VERSION );
-$VERSION = '0.01';
+$VERSION = '0.02';
 
 use base qw( Exporter );
@@ -38,10 +38,10 @@
 );
 
-$STD_FIELD = qr/^[a-z0-9-_.]+$/;
+$STD_FIELD = qr/^[A-z0-9-_.]+$/;
 $TIME_FIELD = qr/^(\d{4})-(\d\d)-(\d\d) T (\d\d):(\d\d):(\d\d) Z$/x;
 $BYTE_FIELD = qr/^\d+$/;
 $MD5_FIELD = qr/^[0-9a-f]{32}$/;
 %KNOWN_FILE_TYPES = map { $_ => 1 } qw( chip );
-%KNOWN_FILESET_TYPES = map { $_ => 1 } qw( object domeflat skyflat bias dark );
+%KNOWN_FILESET_TYPES = map { $_ => 1 } qw( OBJECT BIAS DARK SKYFLAT DOMEFLAT );
 %KNOWN_PRODUCT_TYPES = map { $_ => 1 } qw( image dump );
 
Index: /trunk/DataStore/t/02_fileset_parse.t
===================================================================
--- /trunk/DataStore/t/02_fileset_parse.t	(revision 8721)
+++ /trunk/DataStore/t/02_fileset_parse.t	(revision 8722)
@@ -3,5 +3,5 @@
 # Copyright (C) 2006  Joshua Hoblitt
 #
-# $Id: 02_fileset_parse.t,v 1.7 2006-07-22 01:17:34 smalle Exp $
+# $Id: 02_fileset_parse.t,v 1.8 2006-08-31 22:58:34 jhoblitt Exp $
 
 use strict;
@@ -68,5 +68,5 @@
     my $parser = DataStore::FileSet::Parser->new;
 
-    is($parser->parse('|2006-01-01T00:03:04Z|object'), undef,
+    is($parser->parse('|2006-01-01T00:03:04Z|OBJECT'), undef,
         '->parse() returns undef on failure');
 } qr/does not conform /,
@@ -76,5 +76,5 @@
     my $parser = DataStore::FileSet::Parser->new;
 
-    is($parser->parse('foobar|2006-01-0100:03:04Z|object'), undef,
+    is($parser->parse('foobar|2006-01-0100:03:04Z|OBJECT'), undef,
         '->parse() returns undef on failure');
 } qr/does not conform /,
@@ -109,8 +109,8 @@
 my $example1 =<<END;
 # filesetID|time registered    |type   |telescope pointing         |etime|f|airmass|
-otis0123456|2006-01-01T00:03:04Z|object|11:00:10.33 68:26:59.6 2000|30.0 |r|1.23   |
-otis0123456|2006-01-01T00:03:04Z|object|11:00:10.33 68:26:59.6 2000|30.0 |r|1.23   |
-otis0123456|2006-01-01T00:03:04Z|object|11:00:10.33 68:26:59.6 2000|30.0 |r|1.23   |
-otis0123456|2006-01-01T00:03:04Z|object|11:00:10.33 68:26:59.6 2000|30.0 |r|1.23   |
+otis0123456|2006-01-01T00:03:04Z|OBJECT|11:00:10.33 68:26:59.6 2000|30.0 |r|1.23   |
+otis0123456|2006-01-01T00:03:04Z|OBJECT|11:00:10.33 68:26:59.6 2000|30.0 |r|1.23   |
+otis0123456|2006-01-01T00:03:04Z|OBJECT|11:00:10.33 68:26:59.6 2000|30.0 |r|1.23   |
+otis0123456|2006-01-01T00:03:04Z|OBJECT|11:00:10.33 68:26:59.6 2000|30.0 |r|1.23   |
 END
     my $parser  = DataStore::FileSet::Parser->new(
@@ -126,8 +126,8 @@
 my $example1 =<<END;
 # filesetID|time registered    |type   |telescope pointing         |etime|f|airmass|
-otis0123456|2006-01-01T00:03:04Z|object|11:00:10.33 68:26:59.6 2000|30.0 |r|1.23   |
-otis0123456|2006-01-01T00:03:04Z|object|11:00:10.33 68:26:59.6 2000|30.0 |r|1.23   |
-otis0123456|2006-01-01T00:03:04Z|object|11:00:10.33 68:26:59.6 2000|30.0 |r|1.23   |
-otis0123456|2006-01-01T00:03:04Z|object|11:00:10.33 68:26:59.6 2000|30.0 |r|1.23   |
+otis0123456|2006-01-01T00:03:04Z|OBJECT|11:00:10.33 68:26:59.6 2000|30.0 |r|1.23   |
+otis0123456|2006-01-01T00:03:04Z|OBJECT|11:00:10.33 68:26:59.6 2000|30.0 |r|1.23   |
+otis0123456|2006-01-01T00:03:04Z|OBJECT|11:00:10.33 68:26:59.6 2000|30.0 |r|1.23   |
+otis0123456|2006-01-01T00:03:04Z|OBJECT|11:00:10.33 68:26:59.6 2000|30.0 |r|1.23   |
 END
     my $parser  = DataStore::FileSet::Parser->new(
@@ -142,5 +142,5 @@
     is(@$results[0]->fileset, 'otis0123456', 'correct fileset');
     is(@$results[0]->datetime, '2006-01-01T00:03:04Z', 'correct datetime');
-    is(@$results[0]->type, 'object', 'correct type');
+    is(@$results[0]->type, 'OBJECT', 'correct type');
     is(@$results[0]->uri, 'http://foo.com/otis0123456/', 'correct uri');
 
@@ -148,5 +148,5 @@
     is(@$results[1]->fileset, 'otis0123456', 'correct fileset');
     is(@$results[1]->datetime, '2006-01-01T00:03:04Z', 'correct datetime');
-    is(@$results[1]->type, 'object', 'correct type');
+    is(@$results[1]->type, 'OBJECT', 'correct type');
     is(@$results[1]->uri, 'http://foo.com/otis0123456/', 'correct uri');
 
@@ -154,5 +154,5 @@
     is(@$results[2]->fileset, 'otis0123456', 'correct fileset');
     is(@$results[2]->datetime, '2006-01-01T00:03:04Z', 'correct datetime');
-    is(@$results[2]->type, 'object', 'correct type');
+    is(@$results[2]->type, 'OBJECT', 'correct type');
     is(@$results[2]->uri, 'http://foo.com/otis0123456/', 'correct uri');
 
@@ -160,5 +160,5 @@
     is(@$results[3]->fileset, 'otis0123456', 'correct fileset');
     is(@$results[3]->datetime, '2006-01-01T00:03:04Z', 'correct datetime');
-    is(@$results[3]->type, 'object', 'correct type');
+    is(@$results[3]->type, 'OBJECT', 'correct type');
     is(@$results[3]->uri, 'http://foo.com/otis0123456/', 'correct uri');
 }
@@ -172,5 +172,5 @@
 
                             # random comment
-otis0123456|2006-01-01T00:03:04Z|object|11:00:10.33 68:26:59.6 2000|30.0 |r|1.23   |
+otis0123456|2006-01-01T00:03:04Z|OBJECT|11:00:10.33 68:26:59.6 2000|30.0 |r|1.23   |
 
                             # random comment
@@ -185,4 +185,4 @@
     is(@$results[0]->fileset, 'otis0123456', 'correct fileset');
     is(@$results[0]->datetime, '2006-01-01T00:03:04Z', 'correct datetime');
-    is(@$results[0]->type, 'object', 'correct type');
+    is(@$results[0]->type, 'OBJECT', 'correct type');
 }
Index: /trunk/DataStore/t/05_product.t
===================================================================
--- /trunk/DataStore/t/05_product.t	(revision 8721)
+++ /trunk/DataStore/t/05_product.t	(revision 8722)
@@ -3,5 +3,5 @@
 # Copyright (C) 2006  Joshua Hoblitt
 #
-# $Id: 05_product.t,v 1.4 2006-03-17 23:54:35 jhoblitt Exp $
+# $Id: 05_product.t,v 1.5 2006-08-31 22:58:34 jhoblitt Exp $
 
 use strict;
@@ -108,8 +108,8 @@
     my $string = <<END;
 # filesetID|time registered    |type   |telescope pointing         |etime|f|airmass|
-otis0123456|2006-01-01T00:03:04Z|object|11:00:10.33 68:26:59.6 2000|30.0 |r|1.23   |
-otis0123456|2006-01-01T00:03:04Z|object|11:00:10.33 68:26:59.6 2000|30.0 |r|1.23   |
-otis0123456|2006-01-01T00:03:04Z|object|11:00:10.33 68:26:59.6 2000|30.0 |r|1.23   |
-otis0123456|2006-01-01T00:03:04Z|object|11:00:10.33 68:26:59.6 2000|30.0 |r|1.23   |
+otis0123456|2006-01-01T00:03:04Z|OBJECT|11:00:10.33 68:26:59.6 2000|30.0 |r|1.23   |
+otis0123456|2006-01-01T00:03:04Z|OBJECT|11:00:10.33 68:26:59.6 2000|30.0 |r|1.23   |
+otis0123456|2006-01-01T00:03:04Z|OBJECT|11:00:10.33 68:26:59.6 2000|30.0 |r|1.23   |
+otis0123456|2006-01-01T00:03:04Z|OBJECT|11:00:10.33 68:26:59.6 2000|30.0 |r|1.23   |
 END
 
Index: /trunk/DataStore/t/06_fileset.t
===================================================================
--- /trunk/DataStore/t/06_fileset.t	(revision 8721)
+++ /trunk/DataStore/t/06_fileset.t	(revision 8722)
@@ -3,5 +3,5 @@
 # Copyright (C) 2006  Joshua Hoblitt
 #
-# $Id: 06_fileset.t,v 1.7 2006-03-20 22:03:29 jhoblitt Exp $
+# $Id: 06_fileset.t,v 1.8 2006-08-31 22:58:34 jhoblitt Exp $
 
 use strict;
@@ -36,5 +36,5 @@
         fileset     => '12buckelyourshoe',
         datetime    => '2042-01-01T00:00:00Z',
-        type        => 'object',
+        type        => 'OBJECT',
     );
 
@@ -47,5 +47,5 @@
         fileset     => '12buckelyourshoe',
         datetime    => '2042-01-01T00:00:00Z',
-        type        => 'object',
+        type        => 'OBJECT',
         foo         => 1,
     );
@@ -119,5 +119,5 @@
         fileset     => '12buckelyourshoe',
         datetime    => '2042-01-01T00:00:00Z',
-        type        => 'object',
+        type        => 'OBJECT',
     );
 
@@ -130,5 +130,5 @@
         fileset     => '12buckelyourshoe',
         datetime    => '2042-01-01T00:00:00Z',
-        type        => 'object',
+        type        => 'OBJECT',
     );
 
@@ -157,5 +157,5 @@
         fileset     => '12buckelyourshoe',
         datetime    => '2042-01-01T00:00:00Z',
-        type        => 'object',
+        type        => 'OBJECT',
     );
 
