Skip to content

Commit 01719f2

Browse files
authored
Merge pull request #197 from derek73/remove-unneeded-re-unicode-flag
Remove unneeded re.U/re.UNICODE flags
2 parents 7728747 + 0af9f1b commit 01719f2

4 files changed

Lines changed: 26 additions & 28 deletions

File tree

nameparser/config/regexes.py

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,34 +4,32 @@
44
re_emoji = re.compile('[' # lgtm[py/overly-large-range]
55
'\U0001F300-\U0001F64F'
66
'\U0001F680-\U0001F6FF'
7-
'\u2600-\u26FF\u2700-\u27BF]+',
8-
re.UNICODE)
7+
'\u2600-\u26FF\u2700-\u27BF]+')
98

109
EMPTY_REGEX = re.compile('')
1110

1211
REGEXES = set([
13-
("spaces", re.compile(r"\s+", re.U)),
14-
("word", re.compile(r"(\w|\.)+", re.U)),
15-
("mac", re.compile(r'^(ma?c)(\w{2,})', re.I | re.U)),
16-
("initial", re.compile(r'^(\w\.|[A-Z])?$', re.U)),
17-
("quoted_word", re.compile(r'(?<!\w)\'([^\s]*?)\'(?!\w)', re.U)),
18-
("double_quotes", re.compile(r'\"(.*?)\"', re.U)),
19-
("parenthesis", re.compile(r'\((.*?)\)', re.U)),
20-
("roman_numeral", re.compile(r'^(X|IX|IV|V?I{0,3})$', re.I | re.U)),
21-
("no_vowels",re.compile(r'^[^aeyiuo]+$', re.I | re.U)),
22-
("period_not_at_end",re.compile(r'.*\..+$', re.I | re.U)),
12+
("spaces", re.compile(r"\s+")),
13+
("word", re.compile(r"(\w|\.)+")),
14+
("mac", re.compile(r'^(ma?c)(\w{2,})', re.I)),
15+
("initial", re.compile(r'^(\w\.|[A-Z])?$')),
16+
("quoted_word", re.compile(r'(?<!\w)\'([^\s]*?)\'(?!\w)')),
17+
("double_quotes", re.compile(r'\"(.*?)\"')),
18+
("parenthesis", re.compile(r'\((.*?)\)')),
19+
("roman_numeral", re.compile(r'^(X|IX|IV|V?I{0,3})$', re.I)),
20+
("no_vowels",re.compile(r'^[^aeyiuo]+$', re.I)),
21+
("period_not_at_end",re.compile(r'.*\..+$', re.I)),
2322
("emoji",re_emoji),
24-
("phd", re.compile(r'\s(ph\.?\s+d\.?)', re.I | re.U)),
25-
("space_before_comma", re.compile(r'\s+,', re.U)),
23+
("phd", re.compile(r'\s(ph\.?\s+d\.?)', re.I)),
24+
("space_before_comma", re.compile(r'\s+,')),
2625
("patronymic", re.compile(
2726
r'(ovich|ovna|evich|evna|ichna|ilyich|kuzmich|lukich|fomich|fokich)$',
28-
re.I | re.U,
27+
re.I,
2928
)),
3029
("patronymic_cyrillic", re.compile(
3130
r'(ович|овна|евич|евна|ична|ильич|кузьмич|лукич|фомич|фокич)$',
32-
re.U,
3331
)),
34-
("period_abbreviation", re.compile(r'^[^\W\d_]{2,}\.$', re.U)),
32+
("period_abbreviation", re.compile(r'^[^\W\d_]{2,}\.$')),
3533
])
3634
"""
3735
All regular expressions used by the parser are precompiled and stored in the config.

tests/test_constants.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def test_can_change_global_constants(self) -> None:
6464
def test_can_add_global_extra_nickname_delimiter(self) -> None:
6565
# https://github.com/derek73/python-nameparser/issues/112
6666
hn = HumanName("")
67-
hn.C.extra_nickname_delimiters['curly_braces'] = re.compile(r'\{(.*?)\}', re.U)
67+
hn.C.extra_nickname_delimiters['curly_braces'] = re.compile(r'\{(.*?)\}')
6868
hn2 = HumanName("Benjamin {Ben} Franklin")
6969
self.assertEqual(hn2.has_own_config, False)
7070
self.m(hn2.nickname, "Ben", hn2)
@@ -141,7 +141,7 @@ def test_pickle_roundtrip_preserves_customizations(self) -> None:
141141
c.titles.add('customtitle')
142142
c.prefixes.add('customprefix')
143143
c.titles.remove('hon')
144-
c.extra_nickname_delimiters['curly_braces'] = re.compile(r'\{(.*?)\}', re.U)
144+
c.extra_nickname_delimiters['curly_braces'] = re.compile(r'\{(.*?)\}')
145145

146146
# Safe: round-tripping a Constants the test just built, not untrusted data.
147147
restored = pickle.loads(pickle.dumps(c))
@@ -209,7 +209,7 @@ def test_extra_nickname_delimiters_deepcopy_roundtrip(self) -> None:
209209
rather than only incidentally via conftest's autouse snapshot/restore.
210210
"""
211211
c = Constants()
212-
c.extra_nickname_delimiters['curly_braces'] = re.compile(r'\{(.*?)\}', re.U)
212+
c.extra_nickname_delimiters['curly_braces'] = re.compile(r'\{(.*?)\}')
213213

214214
dup = copy.deepcopy(c.extra_nickname_delimiters)
215215

tests/test_nicknames.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,15 @@ def test_add_custom_nickname_delimiter(self) -> None:
2121
hn = HumanName("Benjamin {Ben} Franklin", constants=None)
2222
# curly braces aren't a recognized delimiter by default
2323
self.m(hn.nickname, "", hn)
24-
hn.C.extra_nickname_delimiters['curly_braces'] = re.compile(r'\{(.*?)\}', re.U)
24+
hn.C.extra_nickname_delimiters['curly_braces'] = re.compile(r'\{(.*?)\}')
2525
hn.parse_full_name()
2626
self.m(hn.first, "Benjamin", hn)
2727
self.m(hn.last, "Franklin", hn)
2828
self.m(hn.nickname, "Ben", hn)
2929

3030
def test_remove_custom_nickname_delimiter(self) -> None:
3131
hn = HumanName("Benjamin {Ben} Franklin", constants=None)
32-
hn.C.extra_nickname_delimiters['curly_braces'] = re.compile(r'\{(.*?)\}', re.U)
32+
hn.C.extra_nickname_delimiters['curly_braces'] = re.compile(r'\{(.*?)\}')
3333
hn.parse_full_name()
3434
self.m(hn.nickname, "Ben", hn)
3535
del hn.C.extra_nickname_delimiters['curly_braces']
@@ -40,8 +40,8 @@ def test_multiple_custom_nickname_delimiters_together(self) -> None:
4040
# Two extras registered at once must both be recognized in a single
4141
# parse, independent of insertion order.
4242
hn = HumanName("Benjamin {Ben} <Benny> Franklin", constants=None)
43-
hn.C.extra_nickname_delimiters['curly_braces'] = re.compile(r'\{(.*?)\}', re.U)
44-
hn.C.extra_nickname_delimiters['angle_brackets'] = re.compile(r'<(.*?)>', re.U)
43+
hn.C.extra_nickname_delimiters['curly_braces'] = re.compile(r'\{(.*?)\}')
44+
hn.C.extra_nickname_delimiters['angle_brackets'] = re.compile(r'<(.*?)>')
4545
hn.parse_full_name()
4646
self.m(hn.first, "Benjamin", hn)
4747
self.m(hn.last, "Franklin", hn)
@@ -53,7 +53,7 @@ def test_overriding_builtin_regex_still_affects_nickname_parsing(self) -> None:
5353
# parse_nicknames() also consults extra_nickname_delimiters.
5454
hn = HumanName("Benjamin [Ben] Franklin", constants=None)
5555
self.m(hn.nickname, "", hn)
56-
hn.C.regexes['parenthesis'] = re.compile(r'\[(.*?)\]', re.U)
56+
hn.C.regexes['parenthesis'] = re.compile(r'\[(.*?)\]')
5757
hn.parse_full_name()
5858
self.m(hn.first, "Benjamin", hn)
5959
self.m(hn.last, "Franklin", hn)
@@ -193,7 +193,7 @@ def test_ambiguous_suffix_acronym_in_extra_delimiter_stays_nickname(self) -> Non
193193
# handle_match() is applied uniformly regardless of which delimiter
194194
# matched, not just the three built-ins.
195195
hn = HumanName("JEFFREY {JD} BRICKEN", constants=None)
196-
hn.C.extra_nickname_delimiters['curly_braces'] = re.compile(r'\{(.*?)\}', re.U)
196+
hn.C.extra_nickname_delimiters['curly_braces'] = re.compile(r'\{(.*?)\}')
197197
hn.parse_full_name()
198198
self.m(hn.nickname, "JD", hn)
199199
self.m(hn.suffix, "", hn)

tests/test_python_api.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ def test_override_constants(self) -> None:
298298
self.assertIs(hn.C, C)
299299

300300
def test_override_regex(self) -> None:
301-
var = TupleManager([("spaces", re.compile(r"\s+", re.U)),])
301+
var = TupleManager([("spaces", re.compile(r"\s+")),])
302302
C = Constants(regexes=var)
303303
hn = HumanName(constants=C)
304304
self.assertTrue(hn.C.regexes == var)
@@ -340,7 +340,7 @@ def test_override_conjunctions(self) -> None:
340340
self.assertTrue(sorted(hn.C.conjunctions) == sorted(var))
341341

342342
def test_override_capitalization_exceptions(self) -> None:
343-
var = TupleManager([("spaces", re.compile(r"\s+", re.U)),])
343+
var = TupleManager([("spaces", re.compile(r"\s+")),])
344344
C = Constants(capitalization_exceptions=var)
345345
hn = HumanName(constants=C)
346346
self.assertTrue(hn.C.capitalization_exceptions == var)

0 commit comments

Comments
 (0)