Example #1
0
def entry(request):
    
    if request.method == 'GET':
        return HttpResponse("KAO")
    elif request.method == 'POST':
        
        try:
            #TODO: check MAC
            #logger.info("Remote %s request" % str(request.META['REMOTE_ADDR']))
            #get post data
            data = request.raw_post_data;
            #unpack data
			#print "\n#####################\n"
			#print data
			#print "\n#####################\n"


            header={}
            retcode = Packet.unpackHeader(data,header)
            
            if retcode:
                
                logger.debug("header: %s %s %s %s" % \
                             (header['prover'],header['protype'],
                              header['devicename'],header['valuelen']))
                
                reportDataList = Packet.unpackBody(header['valuelen'],header['value'])
                
                data = Handler.handle(header['devicename'], reportDataList)
                
                return HttpResponse(data)
            else:
                return HttpResponse("Bad Packet")
        
        except Exception,e:
            exstr = traceback.format_exc()
            logger.critical("%s" % str(exstr))
Example #2
0
 def getTaskList(deviceName,taskList):
     #TODO: lock
     result = False
     if CacheDb.device.has_key(deviceName):
         
         result = True
         taskDict={}
         if CacheDb.device[deviceName].has_key('task'):
             taskDict = CacheDb.device[deviceName]['task']
         #get task list
         for key in taskDict.keys():
             #check time
             info = taskDict[key]
             interval = info['interval'] *60  # to second
             curtime = int(time.time())
             if (info['lasttime'] + interval) < curtime:
                 logger.debug("last:%d + interval:%d < curtime:%d" %(info['lasttime'],interval,curtime))
                 task = DetectTask(key,info['url'],info['ip'])
                 taskList.append(task)
             else:
                 logger.debug("last:%d + interval:%d >= curtime:%d" % (info['lasttime'],interval,curtime))
             
             
     return result
Example #3
0
def entry(request):
	try:
		if request.method == 'GET':
			return HttpResponse('dfdfdfdfdf')
		if request.method == 'POST':
			data = request.raw_post_data
			logger.debug("The request data: %s" % data)
			header = {}
			retCode = Packet.unpackHeader(data, header)
			if retCode:
				logger.debug("header: %s %s %s %s"% (header['prover'], header['protype'],
					header['devicename'], header['valuelen']))

				reportDataList = Packet.unpackBody(header['valuelen'], header['value'])
				logger.debug("The reportDataList: %s" % reportDataList)
				data = Handler.handle(header['devicename'], reportDataList)
			return HttpResponse(data)
	except Exception, e:
		exstr = traceback.format_exc()
		logger.critical("%s" % str(exstr))