Ejemplo n.º 1
0
    def test4_resolve(self):
        r = redis.Redis(self.redisHost, self.redisPort, self.redisDB)
        #resolve by coords

        loc = City.getByLatLon(34.05223, -118.24368, r)

        self.assertTrue(loc is not None)
        self.assertTrue(loc.country == 'United States')
        self.assertTrue(loc.state == 'CA' or loc.state == 'California')

        #resolve by ip
        ip = '4.3.68.1'

        loc = IPRange.getCity(ip, r)

        self.assertTrue(loc is not None)
        self.assertTrue(loc.country == 'United States')
        self.assertTrue(loc.state == 'CA' or loc.state == 'California')

        #resolve zip by lat,lon
        loc = ZIPCode.getByLatLon(34.0452, -118.284, r)

        self.assertTrue(loc is not None)
        self.assertTrue(loc.name == '90006')
        self.assertTrue(loc.country == 'United States')
        self.assertTrue(loc.state == 'CA' or loc.state == 'California')

        #resolve zip bu ip
        loc = IPRange.getZIP(ip, r)
        self.assertTrue(loc is not None)
        self.assertTrue(loc.name == '90001')
        self.assertTrue(loc.country == 'United States')
        self.assertTrue(loc.state == 'CA' or loc.state == 'California')
Ejemplo n.º 2
0
    def test4_resolve(self):
        r = redis.Redis(self.redisHost, self.redisPort, self.redisDB)
        #resolve by coords
        
        loc = City.getByLatLon(34.05223, -118.24368, r)
        
        self.assertTrue(loc is not None)
        self.assertTrue(loc.country == 'United States')
        self.assertTrue(loc.state == 'CA' or loc.state == 'California')
        
        #resolve by ip
        ip = '4.3.68.1'

        loc = IPRange.getCity(ip, r)
        
        self.assertTrue(loc is not None)
        self.assertTrue(loc.country == 'United States')
        self.assertTrue(loc.state == 'CA' or loc.state == 'California')

        #resolve zip by lat,lon
        loc = ZIPCode.getByLatLon(34.0452, -118.284, r)
        
        self.assertTrue(loc is not None)
        self.assertTrue(loc.name == '90006')
        self.assertTrue(loc.country == 'United States')
        self.assertTrue(loc.state == 'CA' or loc.state == 'California')

        #resolve zip bu ip
        loc = IPRange.getZIP(ip, r)
        self.assertTrue(loc is not None)
        self.assertTrue(loc.name == '90001')
        self.assertTrue(loc.country == 'United States')
        self.assertTrue(loc.state == 'CA' or loc.state == 'California')
Ejemplo n.º 3
0
    def getZIP(ip, redisConn):
        """
        Get a zipcode location object based on an IP
        will return None if you are outside the US
        """

        range = IPRange.get(ip, redisConn)
        
        if not range or not re.match('^[0-9]{5}$', range.zipcode):
            return None

        return ZIPCode.load('ZIPCode:%s' % range.zipcode, redisConn)
Ejemplo n.º 4
0
    def getZIP(ip, redisConn):
        """
        Get a zipcode location object based on an IP
        will return None if you are outside the US
        """

        range = IPRange.get(ip, redisConn)

        if not range or not re.match('^[0-9]{5}$', range.zipcode):
            return None

        return ZIPCode.load('ZIPCode:%s' % range.zipcode, redisConn)
Ejemplo n.º 5
0
class ZIPImporter(Importer):
    def runImport(self):
        """
        old File Format:
        "00210","Portsmouth","NH","43.005895","-71.013202","-5","1"

        new Format:
        1316,"US","CA","Sunnyvale","94085",37.3887,-122.0188,807,408
        1317,"US","CA","Morgan Hill","95037",37.1747,-121.6518,807,408
        """

        try:
            fp = open(self.fileName)
        except Exception, e:
            logging.error("could not open file %s for reading: %s" %
                          (self.fileName, e))
            return False

        reader = csv.reader(fp, delimiter=',', quotechar='"')
        pipe = self.redis.pipeline()

        i = 0
        for row in reader:

            try:
                name = row[4]
                city = row[3]
                stateCode = row[2]
                lat = float(row[5])
                lon = float(row[6])
                state = row[2]
                #stateCode#code_to_state.get(stateCode, '').title()
                country = row[1]

                loc = ZIPCode(name=name,
                              city=city,
                              country=country,
                              state=state,
                              lat=lat,
                              lon=lon)

                loc.save(pipe)

            except Exception, e:
                logging.error("Could not import line %s: %s" % (row, e))
            i += 1
            if i % 1000 == 0:
                pipe.execute()
Ejemplo n.º 6
0
class ZIPImporter(Importer):
    def runImport(self):
        """
        File Format:
        "00210","Portsmouth","NH","43.005895","-71.013202","-5","1"
        """

        try:
            fp = open(self.fileName)
        except Exception, e:
            logging.error("could not open file %s for reading: %s" %
                          (self.fileName, e))
            return False

        reader = csv.reader(fp, delimiter=',', quotechar='"')
        pipe = self.redis.pipeline()

        i = 0
        for row in reader:

            try:
                name = row[0]
                city = row[1]
                stateCode = row[2]
                lat = float(row[3])
                lon = float(row[4])
                state = stateCode  #code_to_state.get(stateCode, '').title()
                country = 'US'

                loc = ZIPCode(name=name,
                              city=city,
                              country=country,
                              state=state,
                              lat=lat,
                              lon=lon)

                loc.save(pipe)

            except Exception, e:
                logging.error("Could not import line %s: %s" % (row, e))
            i += 1
            if i % 1000 == 0:
                pipe.execute()
Ejemplo n.º 7
0
def resolveCoords(lat, lon):
    global redis_host, redis_port, redis_db
    r = redis.Redis(host = redis_host, port = redis_port, db = redis_db)
    loc = ZIPCode.getByLatLon(lat, lon, r)
    print loc
Ejemplo n.º 8
0
def resolveCoords(lat, lon):
    global redis_host, redis_port, redis_db
    r = redis.Redis(host=redis_host, port=redis_port, db=redis_db)
    loc = ZIPCode.getByLatLon(lat, lon, r)
    print loc
Ejemplo n.º 9
0
def resolveCoords(lat, lon):
    global redis_host, redis_port, redis_db
    loc = ZIPCode.getByLatLon(lat, lon, r)
    print loc