]> git.llucax.com Git - z.facultad/75.52/sercom.git/blob - testtester.py
grupo admin
[z.facultad/75.52/sercom.git] / testtester.py
1 #!/usr/bin/python
2 # vim: set et sw=4 sts=4 encoding=utf-8 foldmethod=marker :
3
4 #{{{ TG config/hacks
5 import turbogears
6 import turbogears.database
7 turbogears.update_config(configfile="dev.cfg", modulename="sercom.config")
8 import turbogears.i18n
9 __builtins__._ = turbogears.i18n.plain_gettext # Nada de gettext lazy
10 #}}}
11
12 from sercom.tester import Tester
13 from sercom.model import Entrega, hub
14 from os.path import join
15 from datetime import datetime
16 import time
17 import logging
18
19 log = logging.getLogger('sercom.tester')
20
21 class Queue(object):
22     def __init__(self):
23         self.go_on = True
24     def get(self):
25         while self.go_on:
26             try:
27                 hub.begin()
28                 try:
29                     e = Entrega.selectBy(inicio=None).orderBy(Entrega.q.fecha)[0]
30                     e.inicio = datetime.now()
31                 finally:
32                     hub.commit()
33                 return e.id
34             except IndexError:
35                 log.debug(_(u'No hay entregas pendientes'))
36                 time.sleep(5) # TODO config?
37             except Exception, e:
38                 if isinstance(e, SystemExit):
39                     raise
40                 log.exception('Queue: ')
41         return None
42
43 q = Queue()
44
45 tester = Tester(name='pepe', path='var', home=join('home', 'sercom'), queue=q)
46
47 tester.run()
48