From 2a5d810445fa819ce64218b17dc70b3228cd61c5 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sun, 10 Jun 2012 15:20:23 -0700 Subject: _get_atom_re: share cache between more EAPIs --- pym/portage/dep/__init__.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'pym/portage/dep') 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[!-]?)(?P' + _flag_re + r')(?P(\(\+\)|\(\-\))?)(?P[?=]?)$') - _usedep_re_cache[eapi_attrs] = usedep_re + _usedep_re_cache[cache_key] = usedep_re return usedep_re _useflag_re_cache = {} -- cgit v1.2.3-1-g7c22