Beispiel #1
0
    def parse_sucursal(self, comercio):

        sucursal = {}
        sucursal['lon'] = comercio['longitud']
        sucursal['lat'] = comercio['latitud']

        inferido = donde_queda(sucursal['lat'], sucursal['lon'])

        sucursal['ciudad'] = comercio['ciudad_o_barrio']
        # sucursal['ciudad_inferida'] = inferido['ciudad'].name
        sucursal['ciudad_relacionada_id'] = inferido['ciudad'].id

        sucursal['direccion'] = "%s %s" % (comercio['calle'], comercio['numero'])
        # sucursal['direccion_inferida'] = inferido['direccion']

        cadena = inferir_cadena(comercio['nombre_fantasia'])
        if cadena:
            sucursal['cadena_nombre'] = cadena[0]
            sucursal['cadena_id'] = cadena[1]
        sucursal['nombre'] = "%s %s" % (comercio['nombre_fantasia'],
                                        comercio['codigo_sucursal'])
        sucursal['provincia'] = comercio['xprovincia']
        sucursal['telefono'] = comercio['telefono']

        return sucursal
Beispiel #2
0
 def parse_sucursal(self, feature):
     sucursal = {}
     sucursal['lon'], sucursal['lat'] = feature['geometry']['coordinates']
     sucursal.update(donde_queda(sucursal['lat'], sucursal['lon']))
     props = feature['properties']
     sucursal['nombre'] = props['name']
     sucursal['telefono'] = props.get('phone', None)
     sucursal['url'] = props.get('website', None)
     cadena = inferir_cadena(sucursal['nombre'])
     if cadena:
         sucursal['cadena_id'] = cadena[1]
     return sucursal
Beispiel #3
0
 def parse_sucursal(self, feature):
     sucursal = {}
     sucursal['lon'], sucursal['lat'] = feature['geometry']['coordinates']
     sucursal.update(donde_queda(sucursal['lat'], sucursal['lon']))
     props = feature['properties']
     sucursal['nombre'] = props['name']
     sucursal['telefono'] = props.get('phone', None)
     sucursal['url'] = props.get('website', None)
     cadena = inferir_cadena(sucursal['nombre'])
     if cadena:
         sucursal['cadena_id'] = cadena[1]
     return sucursal
Beispiel #4
0
    def limpiar(self, place, ciudad):
        """
        devuelve un diccionario con las siguientes claves::

            nombre, cadena, direccion, lon, lat, ciudad_segun_google,
            related_city_id, telefono, url, cadena_nombre, cadena_id
        """

        place.get_details()
        suc = {}

        # Place a veces no trae la direccion
        # y quedará (ciudad, provincia), en vez de (direccion, ciudad)
        dire = place.formatted_address.split(',')
        hay = len(dire) == 4
        suc['direccion'] = dire[0].strip() if hay else ''

        suc['ciudad'] = dire[1].strip() if hay else dire[0].strip()
        suc['provincia'] = dire[2].strip() if hay else dire[1].strip()
        suc['provincia'] = suc['provincia'].strip(' Province')

        # como google place busca un radio a partir de una ciudad, no necesariamente
        # el supermercado encontrado **es** de esa ciudad.
        # La ciudad_relacionada debe tomarse sólo como referencia.
        # porque la inferencia puede fallar.
        suc['ciudad_relacionada_id'] = ciudad.id
        ciudad_data = inferir_ciudad(suc['ciudad'], suc['provincia'])
        if ciudad_data:
            (suc['ciudad'],
             suc['provincia'],
             suc['ciudad_relacionada_id']) = ciudad_data
        suc['nombre'] = place.name
        cadena = inferir_cadena(place.name)
        if cadena:
            suc['cadena_nombre'], suc['cadena_id'] = cadena
        suc['lon'] = place.geo_location['lng']
        suc['lat'] = place.geo_location['lat']
        if suc['direccion'] == '':
            # Se deberia hacer un reverse lookup a partir de la localizacion
            # via la API de google maps.
            dire = reverse_geocode(suc['lat'], suc['lon'])
            if dire:

                suc['direccion'] = dire.split(',')[0]

        suc['telefono'] = place.local_phone_number
        suc['url'] = place.website

        return suc