diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-06-10 15:20:23 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-06-10 15:20:23 -0700 |
commit | 2a5d810445fa819ce64218b17dc70b3228cd61c5 (patch) | |
tree | 605bfa2d65bd6a12f3bb824c52808b81ca46cc80 | |
parent | 7e22e1e4c339890c4ca132bdbd46bd12edc6370f (diff) | |
download | portage-2a5d810445fa819ce64218b17dc70b3228cd61c5.tar.gz portage-2a5d810445fa819ce64218b17dc70b3228cd61c5.tar.bz2 portage-2a5d810445fa819ce64218b17dc70b3228cd61c5.zip |
_get_atom_re: share cache between more EAPIs
-rw-r--r-- | pym/portage/dep/__init__.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/pym/portage/dep/__init__.py b/pym/portage/dep/__init__.py index d2b885bbb..27b90b90a 100644 --- a/pym/portage/dep/__init__.py +++ b/pym/portage/dep/__init__.py @@ -86,7 +86,8 @@ def _get_eapi_attrs(eapi): _atom_re_cache = {} def _get_atom_re(eapi_attrs): - atom_re = _atom_re_cache.get(eapi_attrs) + cache_key = eapi_attrs.dots_in_PN + atom_re = _atom_re_cache.get(cache_key) if atom_re is not None: return atom_re @@ -104,7 +105,7 @@ def _get_atom_re(eapi_attrs): '(' + _slot_separator + _slot + ')?' + _repo + ')(' + _use + ')?$', re.VERBOSE) - _atom_re_cache[eapi_attrs] = atom_re + _atom_re_cache[cache_key] = atom_re return atom_re _usedep_re_cache = {} @@ -117,7 +118,8 @@ def _get_usedep_re(eapi_attrs): @return: A regular expression object that matches valid USE deps for the given eapi. """ - usedep_re = _usedep_re_cache.get(eapi_attrs) + cache_key = eapi_attrs.dots_in_use_flags + usedep_re = _usedep_re_cache.get(cache_key) if usedep_re is not None: return usedep_re @@ -129,7 +131,7 @@ def _get_usedep_re(eapi_attrs): usedep_re = re.compile(r'^(?P<prefix>[!-]?)(?P<flag>' + _flag_re + r')(?P<default>(\(\+\)|\(\-\))?)(?P<suffix>[?=]?)$') - _usedep_re_cache[eapi_attrs] = usedep_re + _usedep_re_cache[cache_key] = usedep_re return usedep_re _useflag_re_cache = {} |