Index: /trunk/ippToPsps/jython/cleanup.py
===================================================================
--- /trunk/ippToPsps/jython/cleanup.py	(revision 32136)
+++ /trunk/ippToPsps/jython/cleanup.py	(revision 32137)
@@ -8,8 +8,49 @@
 
 import logging.config
+
 from pslogger import PSLogger
 from ipptopspsdb import IppToPspsDb
 from batch import Batch
+from datastore import Datastore
 
+'''
+Finds stuff to delete for this batch type, then:
+
+- removes from the datastore
+- deletes from local disk
+- deletes files from DXLayer
+
+'''
+def clean(batchType):
+
+    ids = ippToPspsDb.getMergedButNotDeletedBatchIDs(batchType, EPOCH, DVOLABEL)
+    logger.infoPair("Batch type", "%s" % batchType)
+    logger.infoPair("Merged but un-deleted batches", "%d" % len(ids))
+
+    logger.info("+-----------+-------------------------+-------------------------+-------------------------+")
+    logger.info("|   Batch   | Removed from datastore  | Removed from local disk |   Removed from DXLayer  |")
+    logger.info("+-----------+-------------------------+-------------------------+-------------------------+")
+
+    for id in ids:
+    
+        batchName = Batch.getNameFromID(id)
+
+        # do the deletions
+        removedFromDatastore = datastore.remove(batchName)
+        removedFromLocalDisk = Batch.deleteFromDisk(BASEPATH, batchType, DVOLABEL, id)
+        removedFromDXLayer = 0  # TODO
+
+        logger.info("| %9s | %23d | %23d | %23d |",
+                batchName,
+                removedFromDatastore,
+                removedFromLocalDisk,
+                removedFromDXLayer)
+
+    logger.info("+-----------+-------------------------+-------------------------+-------------------------+")
+
+
+'''
+Start of program
+'''
 
 if len(sys.argv) > 1: CONFIG  = sys.argv[1]
@@ -27,30 +68,10 @@
 
 ippToPspsDb = IppToPspsDb(logger, configDoc)
+datastore = Datastore(logger, configDoc)
 
 DVOLABEL = configDoc.find("dvo/gpc1Label").text
 EPOCH = configDoc.find("options/epoch").text
+BASEPATH = configDoc.find("localOutPath").text
 
-ids = ippToPspsDb.getMergedButNotDeletedBatchIDs(EPOCH, DVOLABEL)
-
-logger.infoPair("Merged but un-deleted batches", "%d" % len(ids))
-
-
-
-logger.info("+-----------+-------------------------+-------------------------+-------------------------+")
-logger.info("|   Batch   | Removed from datastore  | Removed from local disk |   Removed from DXLayer  |")
-logger.info("+-----------+-------------------------+-------------------------+-------------------------+")
-
-for id in ids:
-    
-    batchName = Batch.getNameFromID(id)
-    removedFromDatastore = 0
-    removedFromLocalDisk = 0
-    removedFromDXLayer = 0
-
-    logger.info("| %9s | %23d | %23d | %23d |",
-            batchName,
-            removedFromDatastore,
-            removedFromLocalDisk,
-            removedFromDXLayer)
-
-logger.info("+-----------+-------------------------+-------------------------+-------------------------+")
+clean("P2")
+clean("ST")
