Index: trunk/ippScripts/scripts/ipp_image_path.pl
===================================================================
--- trunk/ippScripts/scripts/ipp_image_path.pl	(revision 17927)
+++ trunk/ippScripts/scripts/ipp_image_path.pl	(revision 17928)
@@ -19,9 +19,10 @@
 use Pod::Usage qw( pod2usage );
 
-my ($exp_name, $class_id, $dbname, $verbose);
+my ($exp_name, $class_id, $from_registered, $dbname, $verbose);
 
 GetOptions(
     'exp_name|e=s'  => \$exp_name,
     'class_id|c=s'  => \$class_id,
+    'registered|r'  => \$from_registered,
     'dbname|d=s'    => \$dbname, # Database name    
     'verbose'       => \$verbose,   # Print to stdout
@@ -33,6 +34,13 @@
     defined $exp_name;
 
+my $ota_num;
 if ($class_id) {
     $class_id = lc($class_id);
+    my $extra;
+    (undef, $ota_num, $extra) = $class_id =~ m/(\D*)(\d\d)(.*)/;
+    if ($extra || !$ota_num) {
+        print STDERR "$class_id is not a valid class_id\n";
+        exit 1;
+    }
 }
 
@@ -54,8 +62,21 @@
     # XXX: If there are multiple exposures with the same exposure name
     # this query will return them all
-    my $query = "SELECT exp_id, class_id, uri FROM rawImfile"
+    my $query;
+    if ($from_registered) {
+        $query = "SELECT exp_id, class_id, uri FROM rawImfile"
                 . " WHERE exp_name = \'$exp_name\'";
-    if ($class_id) {
-        $query .= " AND class_id = \'$class_id\'";
+        $query .= " AND class_id = \'xy$ota_num\'" if ($ota_num);
+    } else {
+        $query = "SELECT exp_id FROM newExp WHERE tmp_exp_name = ?";
+        my $stmt = $dbh->prepare($query);
+        $stmt->execute($exp_name);
+        my $exp_ref = $stmt->fetchrow_hashref();
+        if (!$exp_ref) {
+            print STDERR "exposure $exp_name not found\n";
+            exit 1;
+        }
+        $stmt->finish();
+        $query = "SELECT exp_id, tmp_class_id, uri FROM newImfile WHERE exp_id = $exp_ref->{exp_id}";
+        $query .= " AND tmp_class_id = \'ota$ota_num\'" if ($ota_num);
     }
 
