diff --git a/src/caosadvancedtools/cfood.py b/src/caosadvancedtools/cfood.py index 51a24ab327e03d4be1caa86dac48e96afd65fac9..cf66586316cbe3d70bf5a73b7a6fc4df918dccbb 100644 --- a/src/caosadvancedtools/cfood.py +++ b/src/caosadvancedtools/cfood.py @@ -94,7 +94,7 @@ class AbstractCFood(object): raise NotImplementedError() @classmethod - def cook(cls, crawled_file): + def cook(cls, crawled_file, **kwargs): """ possibly checks for existing CFoods whether the match should be added or whether a new CFood instance needs to be returned @@ -110,7 +110,7 @@ class AbstractCFood(object): None: otherwise """ - return cls() + return cls(crawled_file, **kwargs) @classmethod def match(cls, string): @@ -426,8 +426,8 @@ class CMeal(object): suitable = True for group in cls.matching_groups: - if (group not in match or - group not in cfood.match or + if (group not in match.groupdict() or + group not in cfood.match.groupdict()or match.group(group) == cfood.match.group(group)): suitable = False diff --git a/src/caosadvancedtools/crawler.py b/src/caosadvancedtools/crawler.py index 0954d257b84b11bbfeab48cf495a38dc9e0ca1fd..d0c58a2fd5b62973dd8ff3b9132ed142f33dc3dd 100644 --- a/src/caosadvancedtools/crawler.py +++ b/src/caosadvancedtools/crawler.py @@ -102,9 +102,9 @@ class Crawler(object): Cfood.__class__.__name__, crawled_file.path)) try: - cfoods.append(Cfood(crawled_file, access=self.access, - verbosity=self.verbosity, - guard=self.guard)) + cfoods.append(Cfood.cook(crawled_file, access=self.access, + verbosity=self.verbosity, + guard=self.guard)) except Exception as e: traceback.print_exc() print(e)