summaryrefslogtreecommitdiffstats
path: root/pym/portage/dep/__init__.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-09-22 14:52:35 -0700
committerZac Medico <zmedico@gentoo.org>2012-09-22 15:05:31 -0700
commit0d5b0fbd79ba8b2e7dd5d2f2db7d69cad3e56766 (patch)
treeb0b4aefbed5297093b5fe073affa0954e4afcc81 /pym/portage/dep/__init__.py
parent80f71e3fdb06e0bf5f0ee6c4aa25f2b2c7a64dfd (diff)
downloadportage-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__.py10
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