Index: trunk/ippToPsps/jython/cleanup.py
===================================================================
--- trunk/ippToPsps/jython/cleanup.py	(revision 33261)
+++ trunk/ippToPsps/jython/cleanup.py	(revision 33262)
@@ -9,4 +9,5 @@
 import logging.config
 
+from config import Config
 from pslogger import PSLogger
 from ipptopspsdb import IppToPspsDb
@@ -28,16 +29,16 @@
     logger.infoTitle("Cleaning up batch type %s" % batchType)
 
-    localIDs = ippToPspsDb.getMergedButNotDeletedFromLocalDisk(batchType, EPOCH, DVOLABEL)
-    datastoreIDs = ippToPspsDb.getLoadedToODMButNotDeletedFromDatastore(batchType, EPOCH, DVOLABEL)
-    dxlayerIDs = ippToPspsDb.getLoadedToODMButNotDeletedFromDXLayer(batchType, EPOCH, DVOLABEL)
+    localIDs = ippToPspsDb.getMergedButNotDeletedFromLocalDisk(batchType, config.epoch, config.dvoLabel)
+    datastoreIDs = ippToPspsDb.getLoadedToODMButNotDeletedFromDatastore(batchType, config.epoch, config.dvoLabel)
+    dxlayerIDs = ippToPspsDb.getLoadedToODMButNotDeletedFromDXLayer(batchType, config.epoch, config.dvoLabel)
     logger.infoPair("Merged but still on local disk", "%d" % len(localIDs))
     logger.infoPair("Loaded to ODM but still on datastore", "%d" % len(datastoreIDs))
     logger.infoPair("Loaded to ODM but still in DXLayer", "%d" % len(dxlayerIDs))
 
-    if DELETELOCAL:
+    if config.deleteLocal:
         count = 0
         for id in localIDs:
     
-            if Batch.deleteFromDisk(logger, BASEPATH, batchType, DVOLABEL, id):
+            if Batch.deleteFromDisk(logger, config.basePath, batchType, config.dvoLabel, id):
                 ippToPspsDb.updateDeletedLocal(id, 1)
                 count = count + 1
@@ -47,5 +48,5 @@
     
 
-    if DELETEDATASTORE:
+    if config.deleteDatastore:
         count = 0
         for id in datastoreIDs:
@@ -59,5 +60,5 @@
         logger.infoPair("Remaining on datastore", "%d" % (len(datastoreIDs) - count))
     
-    if DELETEDXLAYER:
+    if config.deleteDxLayer:
         count = 0
         for id in dxlayerIDs:
@@ -75,5 +76,5 @@
 '''
 
-if len(sys.argv) > 1: CONFIG  = sys.argv[1]
+if len(sys.argv) > 1: CONFIGPATH  = sys.argv[1]
 else:
     print "\n** Usage: " + sys.argv[0] + " <configPath> [hours]\n"
@@ -86,29 +87,16 @@
     SECONDS = None
 
-# open config file
-configDoc = ElementTree(file=CONFIG)
 
-# set up logging
-logging.setLoggerClass(PSLogger)
-logger = logging.getLogger(sys.argv[0])
-logger.setup(configDoc, sys.argv[0])
-
-ippToPspsDb = IppToPspsDb(logger, configDoc)
-datastore = Datastore(logger, configDoc, ippToPspsDb)
+# create objects
+config = Config(CONFIGPATH)
+logger = config.getLogger(sys.argv[0])
+ippToPspsDb = IppToPspsDb(logger, config)
+datastore = Datastore(logger, config, ippToPspsDb)
 dxlayer = DXLayer(logger)
 
-DVOLABEL = configDoc.find("dvo/gpc1Label").text
-EPOCH = configDoc.find("options/epoch").text
-BASEPATH = configDoc.find("localOutPath").text
-DELETELOCAL = int(configDoc.find("deletion/local").text)
-DELETEDATASTORE = int(configDoc.find("deletion/datastore").text)
-DELETEDXLAYER = int(configDoc.find("deletion/dxlayer").text)
 
 logger.infoTitle("ippToPsps clean-up")
 if SECONDS: logger.infoPair("Performing clean-up every", "%f hours" % (SECONDS/60.0/60.0))
-logger.infoBool("Deleting from local disk?", DELETELOCAL)
-logger.infoBool("Deleting from datastore?", DELETEDATASTORE)
-logger.infoBool("Deleting from DXLayer?", DELETEDXLAYER)
-
+config.printDeletionPolicy()
 while True:
 
