Beispiel #1
0
def handle_addrecord(remote_, dongle):
    from openproximity.rpc.server import OpenProximityService
    address = remote_['address']
    name = smart_unicode(remote_['name']) if remote_['name'] else None

    logger.info("handle_addrecord %s" % address)
    remote=RemoteDevice.getRemoteDevice(
        address=address, 
        name=name, 
        devclass=remote_['devclass']
    )
    record = RemoteBluetoothDeviceFoundRecord()
    record.action = signals.FOUND_DEVICE
    record.dongle = dongle
    record.remote = remote
    record.remote.save() # update last seen
    record.setRSSI(remote_['rssi'])
    
    if not isinstance(dongle, RemoteScannerBluetoothDongle):
        if name is not None and record.remote.name!=name:
            record.remote.name = name
            record.remote.save()
        if remote_['devclass'] != -1 and \
                    record.remote.devclass!=remote_['devclass']:
            record.remote.devclass = remote_['devclass']
            record.remote.save()

    logger.debug(record)
    logger.debug(record.remote)

    record.save() # this will set the time field to now
    
    logl = LogLine()
    logl.content="Found: %s %s %s" % (
        record.remote.address, 
        record.remote.name,
        record.getRSSI())
    logl.save()
    
    if not OpenProximityService.isPending(address):
        return found_action(address, record, dongle=dongle)

    return True
Beispiel #2
0
def handle_addrecord(remote_, dongle):
    from openproximity.rpc.server import OpenProximityService
    address = remote_['address']
    name = smart_unicode(remote_['name']) if remote_['name'] else None

    logger.info("handle_addrecord %s" % address)
    remote = RemoteDevice.getRemoteDevice(address=address,
                                          name=name,
                                          devclass=remote_['devclass'])
    record = RemoteBluetoothDeviceFoundRecord()
    record.action = signals.FOUND_DEVICE
    record.dongle = dongle
    record.remote = remote
    record.remote.save()  # update last seen
    record.setRSSI(remote_['rssi'])

    if not isinstance(dongle, RemoteScannerBluetoothDongle):
        if name is not None and record.remote.name != name:
            record.remote.name = name
            record.remote.save()
        if remote_['devclass'] != -1 and \
                    record.remote.devclass!=remote_['devclass']:
            record.remote.devclass = remote_['devclass']
            record.remote.save()

    logger.debug(record)
    logger.debug(record.remote)

    record.save()  # this will set the time field to now

    logl = LogLine()
    logl.content = "Found: %s %s %s" % (record.remote.address,
                                        record.remote.name, record.getRSSI())
    logl.save()

    if not OpenProximityService.isPending(address):
        return found_action(address, record, dongle=dongle)

    return True