Skip to content

Commit 528ec4b

Browse files
committed
Follow housenumber refactoring in addok
cf addok/addok#319
1 parent 3cb1883 commit 528ec4b

File tree

5 files changed

+6
-26
lines changed

5 files changed

+6
-26
lines changed

Diff for: README.md

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,9 @@
2525
…,
2626
]
2727

28-
- Replace default `match_housenumber` and `make_labels` by France dedicated ones:
28+
- Replace default `make_labels` by France dedicated one:
2929

3030
SEARCH_RESULT_PROCESSORS_PYPATHS = [
31-
'addok_france.match_housenumber',
3231
'addok_france.make_labels',
3332
…,
3433
]

Diff for: addok_france/__init__.py

-1
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,3 @@
1717
flag_housenumber = utils.flag_housenumber
1818
make_labels = utils.make_labels
1919
remove_leading_zeros = yielder(utils.remove_leading_zeros)
20-
match_housenumber = utils.match_housenumber

Diff for: addok_france/utils.py

+4-21
Original file line numberDiff line numberDiff line change
@@ -104,10 +104,13 @@ def glue_ordinal(tokens):
104104

105105

106106
def flag_housenumber(tokens):
107+
# Only keep first match (avoid noise in the middle of the search query).
108+
found = False
107109
for previous, token, next_ in neighborhood(tokens):
108110
if ((token.is_first or (next_ and TYPES_PATTERN.match(next_)))
109-
and NUMBER_PATTERN.match(token)):
111+
and NUMBER_PATTERN.match(token) and not found):
110112
token.kind = 'housenumber'
113+
found = True
111114
yield token
112115

113116

@@ -160,23 +163,3 @@ def add(labels, label):
160163
label = '{} {}'.format(label, city)
161164
add(labels, label)
162165
result.labels.extend(labels)
163-
164-
165-
def match_housenumber(helper, result):
166-
if not helper.check_housenumber:
167-
return
168-
tokens = []
169-
for token in sorted(helper.tokens, key=lambda t: t.position):
170-
if token.kind == 'housenumber':
171-
tokens.append(token)
172-
elif tokens:
173-
# Housenumber may have multiple tokens (eg. "dix huit"), we join
174-
# those to match the way they have been processed by
175-
# addok.helpers.index.prepare_housenumbers.
176-
raw = ''.join(tokens)
177-
if raw in result.housenumbers:
178-
data = result.housenumbers[raw]
179-
result.housenumber = data.pop('raw')
180-
result.type = 'housenumber'
181-
result.update(data)
182-
break

Diff for: tests/conftest.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ def pytest_configure():
66
"addok_france.remove_leading_zeros",
77
]
88
config.SEARCH_RESULT_PROCESSORS_PYPATHS = [
9-
'addok_france.match_housenumber',
9+
'addok.helpers.results.match_housenumber',
1010
'addok_france.make_labels',
1111
'addok.helpers.results.score_by_importance',
1212
'addok.helpers.results.score_by_autocomplete_distance',

Diff for: tests/test_utils.py

-1
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,6 @@ def test_match_housenumber_with_multiple_tokens(config):
271271
assert result.lat == '48.18'
272272

273273

274-
275274
def test_make_labels(config):
276275
doc = {
277276
'id': 'xxxx',

0 commit comments

Comments
 (0)