Index: trunk/ippToPsps/jython/dvoobjects.py
===================================================================
--- trunk/ippToPsps/jython/dvoobjects.py	(revision 33675)
+++ trunk/ippToPsps/jython/dvoobjects.py	(revision 35097)
@@ -8,7 +8,7 @@
 import logging
 import glob
+from subprocess import call, PIPE, Popen
 
 from dvo import Dvo
-
 
 '''
@@ -20,7 +20,7 @@
     Constructor
     '''
-    def __init__(self, logger, config, scratchDbName=None):
+    def __init__(self, logger, config, skychunk, ippToPspsDb, scratchDbName=None):
 
-        super(DvoObjects, self).__init__(logger, config, scratchDbName)
+        super(DvoObjects, self).__init__(logger, config, skychunk, ippToPspsDb, scratchDbName)
 
         # declare DVO file types of interest
@@ -37,5 +37,5 @@
        for fileType in self.ingestFileTypes:
 
-           path = self.config.dvoLocation + "/" + region + "." + fileType
+           path = self.skychunk.dvoLocation + "/" + region + "." + fileType
            tableName = self.scratchDb.getDbFriendlyTableName(region + "." + fileType)
 
@@ -47,2 +47,32 @@
 
 
+    '''
+    ingest object data into MySQL database using the native DVO program dvopsps
+    Populates dvoDetections and dvoDone with FITS tables from DVO for the defined sky area, this
+    includes purging detections outside sky area
+    '''
+    def nativeIngestRegion(self, region):
+
+        # drop cpt/cps/object table?
+        # create detections table?
+
+        # TODO path to DVO prog hardcoded temporarily
+        cmd = "dvopsps objects"
+        cmd += " -dbhost " + self.scratchDb.dbHost
+        cmd += " -dbname " + self.scratchDb.dbName
+        cmd += " -dbuser " + self.scratchDb.dbUser
+        cmd += " -dbpass " + self.scratchDb.dbPass
+        cmd += " -D CATDIR " + self.skychunk.dvoLocation
+        cmd += " -cpt " + region
+
+        if self.skychunk.parallel:
+            cmd += " -parallel"
+
+        self.logger.infoPair("Running dvopsps", cmd)
+        p = Popen(cmd, shell=True, stdout=PIPE)
+        p.wait()
+
+        # update lists after attempted sync
+        # self.printSummary()
+
+        return True
