Index: branches/eam_branches/ipp-20121219/ippToPsps/jython/detectionbatch.py
===================================================================
--- branches/eam_branches/ipp-20121219/ippToPsps/jython/detectionbatch.py	(revision 35060)
+++ branches/eam_branches/ipp-20121219/ippToPsps/jython/detectionbatch.py	(revision 35063)
@@ -927,8 +927,9 @@
     def importIppTables(self, filter=""):
 
-       if self.config.test: regex = "XY33.psf"
-       else : regex = ".*.psf"
+       ## if self.config.test: regex = "XY33.psf"
+       ## else : regex = ".*.psf"
+       regex = ".*.psf"
   
-       # XXX EAM NOTE : this is fragile : requires PS1_V_
+       # XXX EAM NOTE : this is fragile : requires PS1_V4
        columns = "IPP_IDET X_PSF Y_PSF X_PSF_SIG Y_PSF_SIG PSF_INST_MAG PSF_INST_MAG_SIG PEAK_FLUX_AS_MAG PSF_MAJOR PSF_MINOR PSF_THETA EXT_NSIGMA PSF_QF MOMENTS_XX MOMENTS_XY MOMENTS_YY AP_MAG KRON_FLUX KRON_FLUX_ERR FLAGS FLAGS2 SKY SKY_SIGMA EXT_NSIGMA PSF_QF_PERFECT PSF_CHISQ"
 
Index: branches/eam_branches/ipp-20121219/ippToPsps/jython/dvo.py
===================================================================
--- branches/eam_branches/ipp-20121219/ippToPsps/jython/dvo.py	(revision 35060)
+++ branches/eam_branches/ipp-20121219/ippToPsps/jython/dvo.py	(revision 35063)
@@ -33,5 +33,5 @@
 
     '''
-    def __init__(self, logger, config, scratchDbName="ipptopsps_test_scratch"):
+    def __init__(self, logger, config, scratchDbName=None):
 
         # set up logging
@@ -49,7 +49,7 @@
         self.useStilts = 0
 
-        # connect to the specified scratch database
+        # connect to the specified scratch database, if a name is given, otherwise use the first version
         try:
-            self.scratchDb = ScratchDb(self.logger, self.config, scratchDbName)
+            self.scratchDb = ScratchDb(self.logger, self.config, '1', scratchDbName)
         except: raise
 
@@ -617,4 +617,7 @@
         cmd += " " + str(decCenter+halfSize)
 
+        if self.config.parallel:
+            cmd += " -parallel"
+
         self.logger.infoPair("Running dvopsps", cmd)
         p = Popen(cmd, shell=True, stdout=PIPE)
Index: branches/eam_branches/ipp-20121219/ippToPsps/jython/dvoobjects.py
===================================================================
--- branches/eam_branches/ipp-20121219/ippToPsps/jython/dvoobjects.py	(revision 35060)
+++ branches/eam_branches/ipp-20121219/ippToPsps/jython/dvoobjects.py	(revision 35063)
@@ -67,4 +67,7 @@
         cmd += " -cpt " + region
 
+        if self.config.parallel:
+            cmd += " -parallel"
+
         self.logger.infoPair("Running dvopsps", cmd)
         p = Popen(cmd, shell=True, stdout=PIPE)
Index: branches/eam_branches/ipp-20121219/ippToPsps/jython/gpc1db.py
===================================================================
--- branches/eam_branches/ipp-20121219/ippToPsps/jython/gpc1db.py	(revision 35060)
+++ branches/eam_branches/ipp-20121219/ippToPsps/jython/gpc1db.py	(revision 35063)
@@ -21,5 +21,11 @@
     '''
     def __init__(self, logger, config):
-        super(Gpc1Db, self).__init__(logger, config, "gpc1database")
+        # define database type
+        if (config.test): 
+            dbType = "gpc1database_test"
+        else:
+            dbType = "gpc1database"
+
+        super(Gpc1Db, self).__init__(logger, config, dbType)
 
     '''
Index: branches/eam_branches/ipp-20121219/ippToPsps/jython/ipptopsps.py
===================================================================
--- branches/eam_branches/ipp-20121219/ippToPsps/jython/ipptopsps.py	(revision 35060)
+++ branches/eam_branches/ipp-20121219/ippToPsps/jython/ipptopsps.py	(revision 35063)
@@ -22,4 +22,13 @@
     '''
     def __init__(self, argv, logToStdout=1, logToFile=0):
+
+        testmode = False
+        for arg in sys.argv:
+            if arg == "-test": 
+                testmode = True
+                sys.argv.remove(arg)
+            if arg == "-t": 
+                testmode = True
+                sys.argv.remove(arg)
 
         # are the arsg ok? all programs require a config name
@@ -51,4 +60,9 @@
         # set up config object
         self.config = Config(self.PROGNAME, CONFIGNAME, self.configDir)
+        self.config.test = testmode
+
+        if self.config.test: print "using test mode"
+        else: print "not using test mode"
+
         self.logger = self.config.getLogger(self.HOST, self.PID, logToStdout, logToFile)
 
Index: branches/eam_branches/ipp-20121219/ippToPsps/jython/ipptopspsdb.py
===================================================================
--- branches/eam_branches/ipp-20121219/ippToPsps/jython/ipptopspsdb.py	(revision 35060)
+++ branches/eam_branches/ipp-20121219/ippToPsps/jython/ipptopspsdb.py	(revision 35063)
@@ -18,5 +18,9 @@
     '''
     def __init__(self, logger, config):
-        super(IppToPspsDb, self).__init__(logger, config, "ipptopspsdatabase")
+        if (config.test): 
+            dbType = "ipptopspsdatabase_test"
+        else:
+            dbType = "ipptopspsdatabase"
+        super(IppToPspsDb, self).__init__(logger, config, dbType)
 
         self.MAX_FAILS = 5
@@ -965,4 +969,5 @@
         ,queue_ST \
         ,queue_OB \
+        ,parallel \
         FROM config \
         WHERE name = '" + self.config.name + "'"
@@ -1006,6 +1011,11 @@
             if rs.getInt(20) == 1: self.config.batchTypes.append("ST")
             if rs.getInt(21) == 1: self.config.batchTypes.append("OB")
+
             self.config.force = True # TODO
-            self.config.test = False # TODO
+            self.config.parallel = False # TODO
+
+            if rs.getInt(22) == 1: self.config.parallel = True
+
+            if self.config.parallel: print "USING parallel"
             self.config.isLoaded = True
         except:
Index: branches/eam_branches/ipp-20121219/ippToPsps/jython/loader.py
===================================================================
--- branches/eam_branches/ipp-20121219/ippToPsps/jython/loader.py	(revision 35060)
+++ branches/eam_branches/ipp-20121219/ippToPsps/jython/loader.py	(revision 35063)
@@ -34,18 +34,18 @@
         super(Loader, self).__init__(argv, 1, 1)
 
-        # create gpc1 database objects
+        if self.config.parallel:
+            print "PARALLEL dvo"
+        else: 
+            print "SERIAL dvo"
+
+        # connect to the gpc1 database
         self.gpc1Db = Gpc1Db(self.logger, self.config)
 
-        # XXX this is really bad: need to get these from config... (see this code:)
-        ## XX # open config and grab database parameters
-        ## XX if not dbName: self.dbName = config.getDbName(dbType)
-        ## XX else: self.dbName = dbName
-
         # connect to scratch database
-        scratchDbs = ['ipptopsps_test_scratch', 'ipptopsps_test_scratch2', 'ipptopsps_test_scratch3']
-        for dbName in scratchDbs:
-            self.scratchDb = ScratchDb(self.logger, self.config, dbName)
-            if self.scratchDb.anyOtherConnections():
-                self.logger.errorPair("This scratch Db is already in use", dbName)
+        scratchDbs = ['1', '2', '3']
+        for dbVersion in scratchDbs:
+            self.scratchDb = ScratchDb(self.logger, self.config, dbVersion)
+            if not self.config.test and self.scratchDb.anyOtherConnections():
+                self.logger.errorPair("This scratch Db is already in use", self.scratchDb.dbName)
                 self.scratchDb.disconnect()
                 continue
Index: branches/eam_branches/ipp-20121219/ippToPsps/jython/scratchdb.py
===================================================================
--- branches/eam_branches/ipp-20121219/ippToPsps/jython/scratchdb.py	(revision 35060)
+++ branches/eam_branches/ipp-20121219/ippToPsps/jython/scratchdb.py	(revision 35063)
@@ -19,6 +19,17 @@
     Constructor
     '''
-    def __init__(self, logger, config, dbName=None):
-        super(ScratchDb, self).__init__(logger, config, "localdatabase", dbName)
+    def __init__(self, logger, config, dbVersion, dbName=None):
+
+        # create gpc1 database objects
+        if (config.test): 
+            dbType = "localdatabase_test"
+        else:
+            dbType = "localdatabase"
+
+        if not dbName:
+            dbName = config.getDbName(dbType)
+            dbName += dbVersion
+
+        super(ScratchDb, self).__init__(logger, config, dbType, dbName)
 
         self.dvoDoneTable = "dvoDone"
Index: branches/eam_branches/ipp-20121219/ippToPsps/jython/setupScratchDb.py
===================================================================
--- branches/eam_branches/ipp-20121219/ippToPsps/jython/setupScratchDb.py	(revision 35060)
+++ branches/eam_branches/ipp-20121219/ippToPsps/jython/setupScratchDb.py	(revision 35063)
@@ -26,5 +26,5 @@
 
         try:
-            self.scratchDb = ScratchDb(self.logger, self.config, argv[2])
+            self.scratchDb = ScratchDb(self.logger, self.config, '0', argv[2])
         except:
             self.exitProgram("Could not connect to a scratch Db")
