Пример #1
0
 def test_gpsdevice_sent(self):
     d = GPSDevice.get_by_data(tk102_init_string)
     d.sent(tk102_init_string)
     d.sent(tk102_heartbeat_string)
     d.sent(tk102_location_full_string)
     assert(d.imei)
     assert(d.latitude)
     assert(d.longitude)
Пример #2
0
import time
from models import GPSDevice
from logger import logger


def handle(sock, (clientip, clientport)):
    logger.info('New connection from %s:%s' % (clientip, clientport))
    device = None
    while True:
        data = sock.recv(config.DEVICE_GATEWAY_RECV_SIZE)
        if not data:
            break
        logger.info('%s > %s' % (clientip, data[:256]))
        if not device:
            try:
                device = GPSDevice.get_by_data(data, ipaddr=clientip)
            except Exception, e:
                logger.warning(e.message[:256])
                time.sleep(10)
                sock.close()
                return

        device.sent(data)

        resp = device.pop_response()
        while resp:
            sock.send(resp)
            logger.info('%s < %s' % (clientip, resp[:256]))
            resp = device.pop_response()

Пример #3
0
 def test_device_get_by_data_good(self):
     for s in tk102_datastrings:
         device = GPSDevice.get_by_data(s)
         assert(GPSDevice==type(device))
         assert(unicode==type(device.imei))
Пример #4
0
 def test_device_get_by_data_bad(self):
     e = None
     try:
         device = GPSDevice.get_by_data('x')
     except Exception, e:
         pass
Пример #5
0
 def test_gpsdevice_tk102_response_location(self):
     d = GPSDevice.get_by_data(tk102_location_full_string)
     d.sent(tk102_location_full_string)
import sys
import time
from models import GPSDevice
from logger import logger

def handle(sock, (clientip, clientport)):
    logger.info('New connection from %s:%s' % (clientip, clientport))
    device = None
    while True:
        data = sock.recv(config.DEVICE_GATEWAY_RECV_SIZE)
        if not data:
            break
        logger.info('%s > %s' % (clientip, data[:256]))
        if not device:
            try:
                device = GPSDevice.get_by_data(data, ipaddr=clientip)
            except Exception, e:
                logger.warning(e.message[:256])
                time.sleep(10)
                sock.close()
                return

        device.sent(data)

        resp = device.pop_response()
        while resp:
            sock.send(resp)
            logger.info('%s < %s' % (clientip, resp[:256]))
            resp = device.pop_response()

if __name__ == '__main__':