예제 #1
0
파일: chiptest.py 프로젝트: sunzu/vot.ar
def dar_masa_via_dbus():
    from msa.core.ipc.client.rfid_controller import DbusLectorController
    controller = DbusLectorController()
    while True:
        tag = get_tag()
        controller.guardar_tag("TAG_RECUENTO", b64encode(tag), False)
        sleep(0.3)
예제 #2
0
파일: __init__.py 프로젝트: bauna/vot.ar
class Sesion(object):

    """Informacion de sesion de voto."""

    def __init__(self, iniciar_hw=True):
        self._mesa = None
        self.apertura = None
        self._tmp_apertura = None
        self.recuento = None
        self.interna = None
        self.impresora = None
        self.lector = None
        # para poder iluminar de rojo en el recuento
        self.logger = get_logger(MODULO_SUFRAGIO)
        self.salt = ""

        if iniciar_hw:
            from dbus.exceptions import DBusException
            from dbus.mainloop.glib import DBusGMainLoop
            DBusGMainLoop(set_as_default=True)
            retries = 3
            while retries:
                try:
                    self.impresora = DbusPrintController()
                    retries = 0
                except DBusException as error:
                    msg = "Hubo un problema para inicializar la impresora"
                    self.logger.error(msg)
                    self.logger.error(error)
                    retries -= 1
                    sleep(5)

            self.lector = DbusLectorController()
            self.powermanager = DbusPowerManagerController()
            self.backlight = DbusBacklightController()
            self.agent = DbusAgentController()
            self.fancoolers = DbusFanCoolersController()
            self.pir = DbusPIRController()

        self.locutor = None

    def getmesa(self):
        return self._mesa

    def setmesa(self, value):
        self._mesa = value
        if self._mesa:
            self._mesa.usar_cod_datos()
        else:
            current_data_code(None)

    mesa = property(getmesa, setmesa)

    def restart(self):
        """ Reinicia los Servicios de DBus y resetea el ARM si existe """
        self.lector.quit()

    def inicializar_locutor(self):
        self.locutor = Locutor()
예제 #3
0
class Sesion(object):
    """Informacion de sesion de voto."""
    def __init__(self, iniciar_hw=True):
        self._mesa = None
        self.apertura = None
        self._tmp_apertura = None
        self.recuento = None
        self.interna = None
        self.impresora = None
        self.lector = None
        # para poder iluminar de rojo en el recuento
        self.logger = get_logger(MODULO_SUFRAGIO)
        self.salt = ""

        if iniciar_hw:
            from dbus.exceptions import DBusException
            from dbus.mainloop.glib import DBusGMainLoop
            DBusGMainLoop(set_as_default=True)
            retries = 3
            while retries:
                try:
                    self.impresora = DbusPrintController()
                    retries = 0
                except DBusException as error:
                    msg = "Hubo un problema para inicializar la impresora"
                    self.logger.error(msg)
                    self.logger.error(error)
                    retries -= 1
                    sleep(5)

            self.lector = DbusLectorController()
            self.powermanager = DbusPowerManagerController()
            self.backlight = DbusBacklightController()
            self.agent = DbusAgentController()
            self.fancoolers = DbusFanCoolersController()
            self.pir = DbusPIRController()

        self.locutor = None

    def getmesa(self):
        return self._mesa

    def setmesa(self, value):
        self._mesa = value
        if self._mesa:
            self._mesa.usar_cod_datos()
        else:
            current_data_code(None)

    mesa = property(getmesa, setmesa)

    def restart(self):
        """ Reinicia los Servicios de DBus y resetea el ARM si existe """
        self.lector.quit()

    def inicializar_locutor(self):
        self.locutor = Locutor()
예제 #4
0
 def __init__(self, callback, comprobar_tag=True):
     """Constructor"""
     self.callback = callback
     self.loop_lector = True
     DBusGMainLoop(set_as_default=True)
     self.lector = DbusLectorController()
     self.ultimo_tag = None
     # Inicializo y limpio los callbacks adicionales
     self.clear_callbacks()
     #settings.COMPROBAR_TAG = check_tag
     self.signal = None
예제 #5
0
파일: modulos.py 프로젝트: Goblab/vot.ar
 def __init__(self, callback, comprobar_tag=True):
     """Constructor"""
     self.callback = callback
     self.loop_lector = True
     DBusGMainLoop(set_as_default=True)
     self.lector = DbusLectorController()
     self.ultimo_tag = None
     # Inicializo y limpio los callbacks adicionales
     self.clear_callbacks()
     #settings.COMPROBAR_TAG = check_tag
     self.signal = None
예제 #6
0
    def __init__(self, iniciar_hw=True):
        self._mesa = None
        self.apertura = None
        self._tmp_apertura = None
        self.recuento = None
        self.interna = None
        self.impresora = None
        self.lector = None
        # para poder iluminar de rojo en el recuento
        self.logger = get_logger(MODULO_SUFRAGIO)
        self.salt = ""

        if iniciar_hw:
            from dbus.exceptions import DBusException
            from dbus.mainloop.glib import DBusGMainLoop
            DBusGMainLoop(set_as_default=True)
            retries = 3
            while retries:
                try:
                    self.impresora = DbusPrintController()
                    retries = 0
                except DBusException as error:
                    msg = "Hubo un problema para inicializar la impresora"
                    self.logger.error(msg)
                    self.logger.error(error)
                    retries -= 1
                    sleep(5)

            self.lector = DbusLectorController()
            self.powermanager = DbusPowerManagerController()
            self.backlight = DbusBacklightController()
            self.agent = DbusAgentController()
            self.fancoolers = DbusFanCoolersController()
            self.pir = DbusPIRController()

        self.locutor = None
예제 #7
0
class ModuloLector(object):
    """ Modulo con soporte para lector RFID.
        Lo único que pide su constructor es una función a ser llamada cuando
        se hace el polling (función callback).
        Para iniciar la consulta al lector, utilizar el método run(), para
        cerrarla, close().
    """
    def __init__(self, callback, comprobar_tag=True):
        """Constructor"""
        self.callback = callback
        self.loop_lector = True
        DBusGMainLoop(set_as_default=True)
        self.lector = DbusLectorController()
        self.ultimo_tag = None
        # Inicializo y limpio los callbacks adicionales
        self.clear_callbacks()
        #settings.COMPROBAR_TAG = check_tag
        self.signal = None

    def add_to_loop(self, funcion):
        self._callbacks.append(funcion)

    def clear_callbacks(self):
        self._callbacks = []

    def conectar_lector(self):
        def _callback_wrapper(mensaje, tag=None):
            if hasattr(self, 'callback') and tag is not None:
                tag = loads(tag)
                if tag is not None:
                    tag['datos'] = b64decode(tag['datos'])
                    self.callback(mensaje, tag)
                else:
                    self.callback(mensaje, {})

        if self.lector is not None:
            self.signal = self.lector.consultar_lector(_callback_wrapper)

    def desconectar_lector(self):
        self.loop_lector = False
        if self.signal is not None:
            self.signal.remove()
예제 #8
0
파일: modulos.py 프로젝트: Goblab/vot.ar
class ModuloLector(object):
    """ Modulo con soporte para lector RFID.
        Lo único que pide su constructor es una función a ser llamada cuando
        se hace el polling (función callback).
        Para iniciar la consulta al lector, utilizar el método run(), para
        cerrarla, close().
    """

    def __init__(self, callback, comprobar_tag=True):
        """Constructor"""
        self.callback = callback
        self.loop_lector = True
        DBusGMainLoop(set_as_default=True)
        self.lector = DbusLectorController()
        self.ultimo_tag = None
        # Inicializo y limpio los callbacks adicionales
        self.clear_callbacks()
        #settings.COMPROBAR_TAG = check_tag
        self.signal = None

    def add_to_loop(self, funcion):
        self._callbacks.append(funcion)

    def clear_callbacks(self):
        self._callbacks = []

    def conectar_lector(self):
        def _callback_wrapper(mensaje, tag=None):
            if hasattr(self, 'callback') and tag is not None:
                tag = loads(tag)
                if tag is not None:
                    tag['datos'] = b64decode(tag['datos'])
                    self.callback(mensaje, tag)
                else:
                    self.callback(mensaje, {})
        if self.lector is not None:
            self.signal = self.lector.consultar_lector(_callback_wrapper)

    def desconectar_lector(self):
        self.loop_lector = False
        if self.signal is not None:
            self.signal.remove()
예제 #9
0
파일: __init__.py 프로젝트: bauna/vot.ar
    def __init__(self, iniciar_hw=True):
        self._mesa = None
        self.apertura = None
        self._tmp_apertura = None
        self.recuento = None
        self.interna = None
        self.impresora = None
        self.lector = None
        # para poder iluminar de rojo en el recuento
        self.logger = get_logger(MODULO_SUFRAGIO)
        self.salt = ""

        if iniciar_hw:
            from dbus.exceptions import DBusException
            from dbus.mainloop.glib import DBusGMainLoop
            DBusGMainLoop(set_as_default=True)
            retries = 3
            while retries:
                try:
                    self.impresora = DbusPrintController()
                    retries = 0
                except DBusException as error:
                    msg = "Hubo un problema para inicializar la impresora"
                    self.logger.error(msg)
                    self.logger.error(error)
                    retries -= 1
                    sleep(5)

            self.lector = DbusLectorController()
            self.powermanager = DbusPowerManagerController()
            self.backlight = DbusBacklightController()
            self.agent = DbusAgentController()
            self.fancoolers = DbusFanCoolersController()
            self.pir = DbusPIRController()

        self.locutor = None