]> git.llucax.com Git - z.facultad/75.52/sercom.git/blobdiff - testtester.py
Elegir la última entrega realizada como la corregible.
[z.facultad/75.52/sercom.git] / testtester.py
index b7b7fd4aa8f0656e0501b71ae3ed77c72369a93d..96356c806bc903fda7567cb8a7e0df82fc60bf53 100644 (file)
@@ -9,25 +9,41 @@ import turbogears.i18n
 __builtins__._ = turbogears.i18n.plain_gettext # Nada de gettext lazy
 #}}}
 
-from sercom.tester import *
-from sercom import model
-from Queue import Queue
+from sercom.tester import Tester
+from sercom.model import Entrega, hub
 from os.path import join
+from datetime import datetime
+import time
+import logging
+
+log = logging.getLogger('sercom.tester')
+
+class Queue(object):
+    def __init__(self):
+        self.go_on = True
+    def get(self):
+        while self.go_on:
+            try:
+                hub.begin()
+                try:
+                    e = Entrega.selectBy(inicio=None).orderBy(Entrega.q.fecha)[0]
+                    e.inicio = datetime.now()
+                finally:
+                    hub.commit()
+                return e.id
+            except IndexError:
+                log.debug(_(u'No hay entregas pendientes'))
+                time.sleep(10) # TODO config?
+            except Exception, e:
+                if isinstance(e, SystemExit):
+                    raise
+                log.exception('Queue: ')
+                time.sleep(10) # TODO config?
+        return None
 
 q = Queue()
 
-q.put(1)
-#q.put(5)
-q.put(None)
-
 tester = Tester(name='pepe', path='var', home=join('home', 'sercom'), queue=q)
 
 tester.run()
 
-model.hub.rollback()
-#model.hub.commit()
-
-#model.hub.begin()
-#model.Entrega.get(5).correcta = True
-#model.hub.rollback()
-