Skip to content

Commit 3eaafc4

Browse files
committed
Merge code changes from upstream v8.9.12
1 parent 97d7597 commit 3eaafc4

3 files changed

Lines changed: 21 additions & 1 deletion

File tree

python/HISTORY.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,15 @@ changes. (Metadata updates are best checked
1010
[upstream](https://github.com/googlei18n/libphonenumber/blob/master/release_notes.txt).)
1111

1212

13+
What's new in 8.9.12
14+
--------------------
15+
16+
Merge to
17+
[upstream commit d56bf9da349b](https://github.com/googlei18n/libphonenumber/commit/d56bf9da349b);
18+
relevant code changes:
19+
- Support Russian extension character "доб" as a valid one while parsing the numbers.
20+
21+
1322
What's new in 8.9.0
1423
-------------------
1524

python/phonenumbers/phonenumberutil.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ def _create_extn_pattern(single_extn_symbols):
318318
return (_RFC3966_EXTN_PREFIX + _CAPTURING_EXTN_DIGITS + u("|") +
319319
u("[ \u00A0\\t,]*(?:e?xt(?:ensi(?:o\u0301?|\u00F3))?n?|") +
320320
u("\uFF45?\uFF58\uFF54\uFF4E?|") +
321-
u("[") + single_extn_symbols + u("]|int|anexo|\uFF49\uFF4E\uFF54)") +
321+
u("\u0434\u043e\u0431|") + u("[") + single_extn_symbols + u("]|int|anexo|\uFF49\uFF4E\uFF54)") +
322322
u("[:\\.\uFF0E]?[ \u00A0\\t,-]*") + _CAPTURING_EXTN_DIGITS + u("#?|") +
323323
u("[- ]+(") + _DIGITS + u("{1,5})#"))
324324

python/tests/phonenumberutiltest.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2522,6 +2522,15 @@ def testParseExtensions(self):
25222522
phonenumbers.parse(u("(800) 901-3355 ,extensio\u0301n 7246433"), "US"))
25232523
self.assertEqual(usWithExtension, phonenumbers.parse("(800) 901-3355 , 7246433", "US"))
25242524
self.assertEqual(usWithExtension, phonenumbers.parse("(800) 901-3355 ext: 7246433", "US"))
2525+
# Testing Russian extension \u0434\u043E\u0431 with variants found online.
2526+
ruWithExtension = PhoneNumber(country_code=7, national_number=4232022511, extension="100")
2527+
self.assertEqual(ruWithExtension, phonenumbers.parse(u("8 (423) 202-25-11, \u0434\u043E\u0431. 100"), "RU"))
2528+
self.assertEqual(ruWithExtension, phonenumbers.parse(u("8 (423) 202-25-11 \u0434\u043E\u0431. 100"), "RU"))
2529+
self.assertEqual(ruWithExtension, phonenumbers.parse(u("8 (423) 202-25-11, \u0434\u043E\u0431 100"), "RU"))
2530+
self.assertEqual(ruWithExtension, phonenumbers.parse(u("8 (423) 202-25-11 \u0434\u043E\u0431 100"), "RU"))
2531+
self.assertEqual(ruWithExtension, phonenumbers.parse(u("8 (423) 202-25-11\u0434\u043E\u0431100"), "RU"))
2532+
# In upper case
2533+
self.assertEqual(ruWithExtension, phonenumbers.parse(u("8 (423) 202-25-11, \u0414\u041E\u0431. 100"), "RU"))
25252534

25262535
# Test that if a number has two extensions specified, we ignore the second.
25272536
usWithTwoExtensionsNumber = PhoneNumber(country_code=1, national_number=2121231234, extension="508")
@@ -2642,6 +2651,8 @@ def testIsNumberMatchMatches(self):
26422651
phonenumbers.is_number_match("+64 3 331-6005 extn 1234", "+6433316005#1234"))
26432652
self.assertEqual(phonenumbers.MatchType.EXACT_MATCH,
26442653
phonenumbers.is_number_match("+64 3 331-6005 ext. 1234", "+6433316005;1234"))
2654+
self.assertEqual(phonenumbers.MatchType.EXACT_MATCH,
2655+
phonenumbers.is_number_match("+7 423 202-25-11 ext 100", u("+7 4232022511 \u0434\u043E\u0431. 100")))
26452656
# Test proto buffers.
26462657
self.assertEqual(phonenumbers.MatchType.EXACT_MATCH,
26472658
phonenumbers.is_number_match(NZ_NUMBER, "+6403 331 6005"))

0 commit comments

Comments
 (0)