From: fuzzyray Date: Wed, 22 Sep 2010 21:28:48 +0000 (-0000) Subject: Merge from genscripts r461: brian.dolbec X-Git-Tag: gentoolkit-0.3.0_rc11~25 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=414ce83f077cac1140122e5569f21a861b514ecf;p=gentoolkit.git Merge from genscripts r461: brian.dolbec replace the inaccurate reg expression method of obtaining the filename from the SRC_URI with code from portage.portdbapi._parse_uri_map() so that it works correctly for all instances and it's just as fast. svn path=/trunk/gentoolkit/; revision=809 --- diff --git a/pym/gentoolkit/eclean/search.py b/pym/gentoolkit/eclean/search.py index 9cc5923..e29bbfc 100644 --- a/pym/gentoolkit/eclean/search.py +++ b/pym/gentoolkit/eclean/search.py @@ -246,11 +246,16 @@ class DistfilesSearch(object): @returns packages to clean @rtype: dictionary """ - # this regexp extracts files names from SRC_URI. It is not very precise, - # but we don't care (may return empty strings, etc.), since it is fast. - file_regexp = re.compile(r'([a-zA-Z0-9_,\.\-\+\~]*)[\s\)]') for cpv in pkgs: - for file in file_regexp.findall(pkgs[cpv]+"\n"): + uris = pkgs[cpv].split() + uris.reverse() + while uris: + uri = uris.pop() + if uris and uris[-1] == "->": + operator = uris.pop() + file = uris.pop() + else: + file = os.path.basename(uri) if file in clean_me: del clean_me[file] # no need to waste IO time if there is nothing left to clean