Esempio n. 1
0
def test_locations(item, spider):
    address = {
        'place': 'Řevnice',
        'region': 'Středočeský kraj',
        'country': 'Česko'
    }
    item['locations_raw'] = ['252 30 Řevnice, Česko']
    item = locations.Pipeline(geocode=lambda l: address).process_item(
        item, spider)

    assert item['locations'] == [{'name': 'Řevnice', 'region': 'Praha'}]
Esempio n. 2
0
def test_locations_multiple_no_response(item, spider):
    addresses = iter([
        None, {
            'place': 'Brno',
            'region': 'Jihomoravský kraj',
            'country': 'Česko'
        }
    ])
    item['locations_raw'] = ['???', 'Brno, Česko']
    item = locations.Pipeline(geocode=lambda l: next(addresses)).process_item(
        item, spider)

    assert item['locations'] == [{'name': 'Brno', 'region': 'Brno'}]
Esempio n. 3
0
def test_locations_multiple(item, spider):
    addresses = iter([{
        'place': 'Řevnice',
        'region': 'Středočeský kraj',
        'country': 'Česko'
    }, {
        'place': 'Brno',
        'region': 'Jihomoravský kraj',
        'country': 'Česko'
    }])
    item['locations_raw'] = ['252 30 Řevnice, Česko', 'Brno, Česko']
    item = locations.Pipeline(geocode=lambda l: next(addresses)).process_item(
        item, spider)

    assert sorted(item['locations'], key=itemgetter('name')) == [
        {
            'name': 'Brno',
            'region': 'Brno'
        },
        {
            'name': 'Řevnice',
            'region': 'Praha'
        },
    ]
Esempio n. 4
0
def test_locations_no_response(item, spider):
    item['locations_raw'] = ['???']
    item = locations.Pipeline(geocode=lambda l: None).process_item(
        item, spider)

    assert item.get('locations', []) == []
Esempio n. 5
0
def test_locations_remote(item, spider):
    item['locations_raw'] = []
    item = locations.Pipeline(geocode=lambda l: {}).process_item(item, spider)

    assert item.get('locations', []) == []