Index: trunk/ippToPsps/jython/ipptopsps.py
===================================================================
--- trunk/ippToPsps/jython/ipptopsps.py	(revision 31833)
+++ trunk/ippToPsps/jython/ipptopsps.py	(revision 31833)
@@ -0,0 +1,82 @@
+#!/usr/bin/env jython
+
+# The starting point for ippTopsps. Run with TODO....
+
+import time
+import sys
+import logging.config
+from xml.etree.ElementTree import ElementTree, Element, tostring
+
+from gpc1db import Gpc1Db
+from ipptopspsdb import IppToPspsDb
+from stackbatch import StackBatch
+from detectionbatch import DetectionBatch
+
+# check we have a batch type
+if len(sys.argv) < 2:
+    print "\nERROR: please provie a batchType: P2 or ST\n"
+    sys.exit(1)
+
+batchType  = sys.argv[1]
+
+logging.config.fileConfig("logging.conf")
+logger = logging.getLogger("ippToPspsLog")
+logger.setLevel(logging.INFO)
+
+configDoc = ElementTree(file="config.xml")
+dvoGpc1Label = configDoc.find("dvo/gpc1Label").text
+
+gpc1Db = Gpc1Db(logger)
+ippToPspsDb = IppToPspsDb(logger)
+POLLPERIOD = 600
+FORCE = int(configDoc.find("options/force").text)
+TEST = int(configDoc.find("options/testMode").text)
+EPOCH = configDoc.find("options/epoch").text
+
+logger.info("--------------------------------------------------------------------------")
+logger.info("")
+logger.info("Batch type              " + batchType)
+logger.info("Loading epoch           " + EPOCH)
+logger.info("Forcing?                %d" % FORCE)
+logger.info("DVO gpc1 label          " + dvoGpc1Label)
+
+while True:
+
+    if FORCE: 
+        ids = gpc1Db.getIDsInThisDVODbForThisStage(dvoGpc1Label, batchType)
+
+    else: ids = ippToPspsDb.getUnprocessedIDsForThisStage(dvoGpc1Label, batchType, epoch)
+
+    logger.info("Queuing                 %d items" % len(ids))
+    logger.info("")
+
+    for id in ids:
+
+        if not FORCE and ippToPspsDb.alreadyProcessed(id): continue
+
+        if batchType == "P2":
+            batch = DetectionBatch(logger,
+                    configDoc,
+                    gpc1Db,
+                    ippToPspsDb,
+                    id)
+        elif batchType == "ST":
+            batch = StackBatch(logger,
+                    configDoc,
+                    gpc1Db,
+                    ippToPspsDb,
+                    id)
+
+        batch.printMe()
+        batch.run()
+
+        if TEST: break
+
+    if TEST: break
+
+    # wait for ten minutes before checking for new ids
+    logger.info("Waiting for %.1f minutes before checking DVO for new items" % (POLLPERIOD/60.0))
+    time.sleep(POLLPERIOD)
+
+
+
