diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-09-22 14:52:35 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-09-22 15:05:31 -0700 |
commit | 0d5b0fbd79ba8b2e7dd5d2f2db7d69cad3e56766 (patch) | |
tree | b0b4aefbed5297093b5fe073affa0954e4afcc81 /pym/portage/dep/__init__.py | |
parent | 80f71e3fdb06e0bf5f0ee6c4aa25f2b2c7a64dfd (diff) | |
download | portage-0d5b0fbd79ba8b2e7dd5d2f2db7d69cad3e56766.tar.gz portage-0d5b0fbd79ba8b2e7dd5d2f2db7d69cad3e56766.tar.bz2 portage-0d5b0fbd79ba8b2e7dd5d2f2db7d69cad3e56766.zip |
Use re.UNICODE for category/package name regexes.
This only affects r'\w' with Python 2.x, since Python 3 already
defaults to re.UNICODE behavior when compiling unicode str objects
(unless re.ASCII is specified). If a repository wants to ban unicode
categore/package names then we can add a layout.conf setting for that,
as discussed in bug #435934.
Diffstat (limited to 'pym/portage/dep/__init__.py')
-rw-r--r-- | pym/portage/dep/__init__.py | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/pym/portage/dep/__init__.py b/pym/portage/dep/__init__.py index b4b240d43..6e030047c 100644 --- a/pym/portage/dep/__init__.py +++ b/pym/portage/dep/__init__.py @@ -72,7 +72,7 @@ def _get_slot_re(eapi_attrs): else: slot_re = _slot - slot_re = re.compile('^' + slot_re + '$', re.VERBOSE) + slot_re = re.compile('^' + slot_re + '$', re.VERBOSE | re.UNICODE) _slot_re_cache[cache_key] = slot_re return slot_re @@ -90,7 +90,7 @@ def _get_slot_dep_re(eapi_attrs): else: slot_re = _slot - slot_re = re.compile('^' + slot_re + '$', re.VERBOSE) + slot_re = re.compile('^' + slot_re + '$', re.VERBOSE | re.UNICODE) _slot_dep_re_cache[cache_key] = slot_re return slot_re @@ -123,7 +123,7 @@ def _get_atom_re(eapi_attrs): '(?P<star>=' + cpv_re + r'\*)|' + '(?P<simple>' + cp_re + '))' + '(' + _slot_separator + _slot_loose + ')?' + - _repo + ')(' + _use + ')?$', re.VERBOSE) + _repo + ')(' + _use + ')?$', re.VERBOSE | re.UNICODE) _atom_re_cache[cache_key] = atom_re return atom_re @@ -145,7 +145,7 @@ def _get_atom_wildcard_re(eapi_attrs): _extended_cat + r')/(' + pkg_re + r'))' + \ '|(?P<star>=((' + _extended_cat + r')/(' + pkg_re + r'))-(?P<version>\*\d+\*)))' + \ '(:(?P<slot>' + _slot_loose + r'))?(' + - _repo_separator + r'(?P<repo>' + _repo_name + r'))?$') + _repo_separator + r'(?P<repo>' + _repo_name + r'))?$', re.UNICODE) _atom_wildcard_re_cache[cache_key] = atom_re return atom_re @@ -1585,7 +1585,7 @@ def extended_cp_match(extended_cp, other_cp): extended_cp_re = _extended_cp_re_cache.get(extended_cp) if extended_cp_re is None: extended_cp_re = re.compile("^" + re.escape(extended_cp).replace( - r'\*', '[^/]*') + "$") + r'\*', '[^/]*') + "$", re.UNICODE) _extended_cp_re_cache[extended_cp] = extended_cp_re return extended_cp_re.match(other_cp) is not None |