equal
deleted
inserted
replaced
30 from six.moves.urllib.error import HTTPError |
30 from six.moves.urllib.error import HTTPError |
31 from six.moves.http_cookiejar import CookieJar |
31 from six.moves.http_cookiejar import CookieJar |
32 |
32 |
33 from pytz import utc |
33 from pytz import utc |
34 from lxml import etree |
34 from lxml import etree |
35 |
|
36 from logilab.common.deprecation import deprecated |
|
37 |
35 |
38 from cubicweb import ObjectNotFound, ValidationError, SourceException, _ |
36 from cubicweb import ObjectNotFound, ValidationError, SourceException, _ |
39 from cubicweb.server.sources import AbstractSource |
37 from cubicweb.server.sources import AbstractSource |
40 from cubicweb.appobject import AppObject |
38 from cubicweb.appobject import AppObject |
41 |
39 |
363 self.notify_updated(entity) |
361 self.notify_updated(entity) |
364 |
362 |
365 |
363 |
366 class DataFeedXMLParser(DataFeedParser): |
364 class DataFeedXMLParser(DataFeedParser): |
367 |
365 |
368 @deprecated() |
|
369 def process(self, url, raise_on_error=False): |
|
370 """IDataFeedParser main entry point""" |
|
371 try: |
|
372 parsed = self.parse(url) |
|
373 except Exception as ex: |
|
374 if raise_on_error: |
|
375 raise |
|
376 self.import_log.record_error(str(ex)) |
|
377 return True |
|
378 for args in parsed: |
|
379 self.process_item(*args, raise_on_error=raise_on_error) |
|
380 return False |
|
381 |
|
382 def parse(self, url): |
366 def parse(self, url): |
383 stream = self.retrieve_url(url) |
367 stream = self.retrieve_url(url) |
384 return self.parse_etree(etree.parse(stream).getroot()) |
368 return self.parse_etree(etree.parse(stream).getroot()) |
385 |
369 |
386 def parse_etree(self, document): |
370 def parse_etree(self, document): |