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
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