1 # -*- encoding: iso-8859-1 -*-
2 # vim: set et sw=4 sts=4 :
18 for log_conf in ('log.ini', os.path.expanduser('~/.sercom/log.ini'), '/etc/sercom/log.ini'):
19 if (os.access(log_conf, os.R_OK)):
20 logging.config.fileConfig(log_conf)
21 log = logging.getLogger(tipo)
24 def log_exception(type, value, tb):
26 e = traceback.format_exception(type, value, tb)
27 log.critical('Hubo una excepcion!\n%s', ''.join(e))
32 locale.setlocale(locale.LC_ALL, '')
33 # Obtengo configuración
34 conf = ConfigParser.SafeConfigParser()
35 if not conf.read(('/etc/sercom/sercom.ini', os.path.expanduser('~/.sercom/sercom.ini'), 'sercom.ini')):
36 print >>sys.stderr, 'No se pudo obtener configuración!'
38 # Seteo umask para que el grupo pueda leer
41 conn = sqlobject.connectionForURI(conf.get('dbo', 'database')
42 + '?timeout=5000') # Si está lockeada espera 5seg antes de tirar error
43 # Cargo config del logger
44 log = get_logger(tipo)
46 print >>sys.stderr, 'No se pudo cargar archivo de configuración de log.'
48 # Cambio el manejador de excepciones por uno que loguee
49 sys.excepthook = log_exception
50 # Devuelvo cosas interesantes
51 return (conf, conn, log)