From fa66bea92fcfd46db8222405b0787926b509a0cc Mon Sep 17 00:00:00 2001 From: hsoft Date: Fri, 19 Jun 2009 10:39:14 +0000 Subject: [PATCH] [#36 state:fixed] Don't add pictures to dimensions2pictures if they don't have a cache_id (and moved some code around). --HG-- extra : convert_revision : svn%3Ac306627e-7827-47d3-bdf0-9a457c9553a1/trunk%4087 --- pe/py/matchbase.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pe/py/matchbase.py b/pe/py/matchbase.py index a0bebe86..93c4252c 100644 --- a/pe/py/matchbase.py +++ b/pe/py/matchbase.py @@ -95,14 +95,15 @@ class AsyncMatchFactory(MatchFactory): cache = self.cached_blocks id2picture = {} dimensions2pictures = defaultdict(set) - for picture in pictures[:]: + for picture in pictures: try: picture.cache_id = cache.get_id(picture.unicode_path) id2picture[picture.cache_id] = picture + if not self.match_scaled: + dimensions2pictures[picture.dimensions].add(picture) except ValueError: - pictures.remove(picture) - if not self.match_scaled: - dimensions2pictures[picture.dimensions].add(picture) + pass + pictures = [p for p in pictures if hasattr(p, 'cache_id')] pool = multiprocessing.Pool() async_results = [] pictures_copy = set(pictures)