# HG changeset patch # User Julien Cristau # Date 1394023888 -3600 # Node ID 20f45a9b385ca163b0b4d6ac5e3ca67c81090b19 # Parent 76f601a90aa7079fe65c00b54cecadb268684cf4 [datafeed] give an error message if a source is missing a parser id Closes #3484231 diff -r 76f601a90aa7 -r 20f45a9b385c server/sources/datafeed.py --- a/server/sources/datafeed.py Mon Jun 23 16:54:35 2014 +0200 +++ b/server/sources/datafeed.py Wed Mar 05 13:51:28 2014 +0100 @@ -127,6 +127,9 @@ self.load_mapping(source_entity._cw) def _get_parser(self, cnx, **kwargs): + if self.parser_id is None: + self.warning('No parser defined on source %r', self) + raise ObjectNotFound() return self.repo.vreg['parsers'].select( self.parser_id, cnx, source=self, **kwargs) @@ -201,7 +204,10 @@ def _pull_data(self, cnx, force=False, raise_on_error=False): importlog = self.init_import_log(cnx) myuris = self.source_cwuris(cnx) - parser = self._get_parser(cnx, sourceuris=myuris, import_log=importlog) + try: + parser = self._get_parser(cnx, sourceuris=myuris, import_log=importlog) + except ObjectNotFound: + return {} if self.process_urls(parser, self.urls, raise_on_error): self.warning("some error occurred, don't attempt to delete entities") else: