示例#1
0
    def process(self):
        '''
        Define la logica de procesar los frames de SCAN
        Primero hago una conexion a la BDSPY.
        - Si el dlgid esta definido, OK
        - Si no esta pero si el uid, le mando al datalogger que se reconfigure
           con el dlg asociado al uid.
        - Si no esta el dlgid ni el uid, ERROR
        '''
        log(module=__name__, function='process', dlgid=self.dlgid, msg='start')

        bd = BDSPY(Config['MODO']['modo'])
        uid = self.payload_dict.get('UID', 'ERROR')
        # Primero vemos que el dlgid este definido sin importar su uid
        if bd.dlg_is_defined(self.dlgid):
            log(module=__name__, function='process', dlgid=self.dlgid, msg='SCAN OK')
            # Actualizo el uid c/vez que me conecto si el dlgid coincide
            bd.update_uid(self.dlgid, uid)
            self.response_pload = 'STATUS:OK'
            self.send_response()
        # Si no esta definido, busco si hay algun uid y a que dlgid corresponde
        elif bd.uid_is_defined(uid):
            new_dlgid = bd.get_dlgid_from_uid(uid)
            self.response_pload = 'STATUS:RECONF;DLGID:{}'.format(new_dlgid)
            log(module=__name__, function='process', dlgid=self.dlgid, msg='bdconf NEW_DLGID={}'.format(new_dlgid))
            self.send_response()
        else:
            self.response_pload = 'STATUS:UNDEF'
            self.send_response()
            log(module=__name__, function='process', dlgid=self.dlgid, msg='DLGID/UID not Defined !!')

        return
示例#2
0
    def process(self):
        '''
        Define la logica de procesar los frames de SCAN
        Primero hago una conexion a la BDSPY.
        - Si el dlgid esta definido, OK
        - Si no esta pero si el uid, le mando al datalogger que se reconfigure
           con el dlg asociado al uid.
        - Si no esta el dlgid ni el uid, ERROR
        '''

        bd = BDSPY(Config['MODO']['modo'])
        # Primero vemos que el dlgid este definido sin importar su uid
        if bd.dlg_is_defined(self.dlgid):
            log(module=__name__,
                function='process',
                dlgid=self.dlgid,
                msg='SCAN OK')
            self.send_response('SCAN_OK')
        # Si no esta definido, busco si hay algun uid y a que dlgid corresponde
        elif bd.uid_is_defined(self.uid):
            new_dlgid = bd.get_dlgid_from_uid(self.uid)
            log(module=__name__,
                function='process',
                dlgid=self.dlgid,
                msg='bdconf NEW_DLGID={}'.format(new_dlgid))
            self.send_response('DLGID=%s' % new_dlgid)
        else:
            log(module=__name__,
                function='process',
                dlgid=self.dlgid,
                msg='DLGID/UID not Defined !!')
            self.send_response('NOTDEFINED')

        return
示例#3
0
    def process(self):
        '''
        El procesamiento consiste ver si en la BDSPY hay una entrada con el DLGID y el UID.
        '''
        log(module=__name__,
            function='process',
            level='SELECT',
            dlgid=self.dlgid,
            msg='dlgid={0},uid={1}'.format(self.dlgid, self.uid))
        bd = BDSPY(modo=Config['MODO']['modo'])

        if bd.dlg_is_defined(self.dlgid):
            '''
            Comprende los casos ( DLGID OK, UID OK ) y
            ( DLGID OK, UID err )
            En este ultimo, arregla en la BD el UID. 
            '''
            bd.update_uid(self.dlgid, self.uid)
            pload = 'CLASS:AUTH;STATUS:OK'
            u_send_response('INIT', pload)
            log(module=__name__,
                function='send_response',
                dlgid=self.dlgid,
                msg='PLOAD={0}'.format(pload))

        elif bd.uid_is_defined(self.uid):
            dlgid_from_bd = bd.get_dlgid_from_uid(self.uid)
            pload = 'CLASS:AUTH;STATUS:RECONF;DLGID:{}'.format(dlgid_from_bd)
            u_send_response('INIT', pload)
            log(module=__name__,
                function='send_response',
                dlgid=self.dlgid,
                msg='PLOAD={0}'.format(pload))

        else:
            '''
            No encontramos el DLGID ni un UID que permita recuperarnos.
            ERROR
            '''
            pload = 'CLASS:AUTH;STATUS:ERROR_DS'
            u_send_response('INIT', pload)
            log(module=__name__,
                function='send_response',
                dlgid=self.dlgid,
                msg='PLOAD={0}'.format(pload))

        return