Exemplo n.º 1
0
 def exposed_getPIN(self, remote, local):
     logger.info("getPIN request for %s->%s" % (local, remote) )
     remote = RemoteDevice.getRemoteDevice(address=remote)
     try:
         for camp in getMatchingCampaigns(remote=remote, enabled=True):
             if not camp.pin_code:
                 continue
             logger.debug("pin code: %s" % camp.pin_code)
             return camp.pin_code
     except Exception, err:
         logger.error(err)
         logger.exception(err)
Exemplo n.º 2
0
 def exposed_getPIN(self, remote, local):
     logger.info("getPIN request for %s->%s" % (local, remote))
     remote = RemoteDevice.getRemoteDevice(address=remote)
     try:
         camps = getMatchingCampaigns(remote=remote, enabled=True)
         for camp in camps:
             if camp.pin_code:
                 logger.debug("pin code: %s" % camp.pin_code)
                 return camp.pin_code
     except Exception, err:
         logger.error(err)
         logger.exception(err)
Exemplo n.º 3
0
def resolve_service(rec):
    service = 'NN'
    rec.record.getAverageRSSI = lambda x: 0
    camps = mod.getMatchingCampaigns(rec.record.remote,
                                     enabled=True,
                                     classes=[
                                         mod.MarketingCampaign,
                                     ],
                                     record=rec.record)

    for camp in camps:
        service = camp.get_service_display()
    rec.service = service
Exemplo n.º 4
0
def resolve_service(rec):
    service='NN'
    rec.record.getAverageRSSI=lambda x: 0
    camps=mod.getMatchingCampaigns(
	rec.record.remote,
	enabled=True,
	classes=[mod.MarketingCampaign,],
	record=rec.record
    )

    for camp in camps:
	service=camp.get_service_display()
    rec.service=service
Exemplo n.º 5
0
def found_action(record, services):
    dongle = record.dongle.address
    logger.info("camera device_found %s: %s[%s]" % (dongle , record.remote.address, record.remote.name))
    camps = getMatchingCampaigns(record.remote, enabled=True, classes=[CameraCampaign,])
    if len(camps) == 0:
	return False
    if len(camps) > 1:
	e = Exception("There's more than one campaign that matches, check settings")
	logger.exception(e)
	raise e

    logger.debug("found campaign")
    camp = camps[0]
    
    global clients
    if clients.get(dongle, None) is None:
	logger.debug("dongle not registered as client")
	logger.debug(clients)
	logger.debug(dongle)
	return False # there's no registered service I can't do a thing

    address = record.remote.address
    if not check_if_service(address):
	return False

    latest = CameraRemoteDevice.objects.filter(address=address)
    if latest.count() > 0:
	for k in latest.all():
	    k.save() # mark elements as served, so timeout can exist

    service[address] = time.time()

    logger.info("handling device %s" % address)
    client = clients[dongle]

    client.setZoneMinderBackend(camp.enable_zm)
    client.setOpenProximityBackend(camp.use_backend)
    client.connect(record.remote.address)
    logger.debug("connecting")
    return client