コード例 #1
0
def address_get(request):
    """Procesa una consulta de tipo GET para normalizar direcciones.

    Args:
        request (flask.Request): Objeto con información de la consulta HTTP.

    Returns:
        Resultado de la consulta como objeto flask.Response.
    """
    valid_request, error = parser.validate_params(request, ADDRESSES)
    if not valid_request:
        return parser.get_response_for_invalid(request, message=error)
    if not request.args.get(ADDRESS):
        return parser.get_response_for_invalid(request,
                                               message=ADDRESS_REQUIRED)
    search = parser.build_search_from(request.args)
    if search['number'] is None:
        return parser.get_response_for_invalid(request,
                                               message=NUMBER_REQUIRED)

    matches = data.query_address(search)
    return parser.get_response({ADDRESSES: matches})
コード例 #2
0
ファイル: test_parsing.py プロジェクト: scordone/georef-api
 def test_road_type_is_not_parsed(self):
     """El tipo de camino está presente y se devuelve su abreviación."""
     with app.test_request_context('?direccion=av'):
         search = parser.build_search_from(flask.request.args)
         assert search['road_type'] is None
コード例 #3
0
ファイル: test_parsing.py プロジェクト: scordone/georef-api
 def test_query_with_fields_not_provided(self):
     """El parámetro 'campos' no está en el request."""
     with app.test_request_context('?direccion'):
         search = parser.build_search_from(flask.request.args)
         assert search['fields'] == []
コード例 #4
0
ファイル: test_parsing.py プロジェクト: scordone/georef-api
 def test_number_is_not_parsed(self):
     """La altura no está presente en el parámetro dirección."""
     with app.test_request_context('?direccion=av principal'):
         search = parser.build_search_from(flask.request.args)
         assert search['number'] is None
コード例 #5
0
ファイル: test_parsing.py プロジェクト: scordone/georef-api
 def test_query_with_fields_provided(self):
     """El parámetro 'campos' está en el request."""
     with app.test_request_context('?direccion&campos=param1,param2'):
         search = parser.build_search_from(flask.request.args)
         assert 'param1' in search['fields'] and 'param2' in search['fields']
コード例 #6
0
ファイル: test_parsing.py プロジェクト: scordone/georef-api
 def test_query_with_max_not_provided(self):
     """El parámetro 'max' no está en el request."""
     with app.test_request_context('?direccion'):
         search = parser.build_search_from(flask.request.args)
         assert search['max'] is None
コード例 #7
0
ファイル: test_parsing.py プロジェクト: scordone/georef-api
 def test_query_with_max_provided(self):
     """El parámetro 'max' está presente en el request."""
     with app.test_request_context('?direccion&max=50'):
         search = parser.build_search_from(flask.request.args)
         assert search['max'] == '50'
コード例 #8
0
ファイル: test_parsing.py プロジェクト: scordone/georef-api
 def test_query_with_state_provided(self):
     """El parámetro 'provincia' está presente en el request."""
     with app.test_request_context('?direccion&provincia=Buenos+Aires'):
         search = parser.build_search_from(flask.request.args)
         assert search['state'] == 'Buenos Aires'
コード例 #9
0
ファイル: test_parsing.py プロジェクト: scordone/georef-api
 def test_query_with_locality_provided(self):
     """El parámetro 'localidad' está presente en el request."""
     with app.test_request_context('?direccion&localidad=Buenos+Aires'):
         search = parser.build_search_from(flask.request.args)
         assert search['locality'] == 'Buenos Aires'