Added more source fields to the RSS NewFeedEvent

This commit is contained in:
Fabio Manganiello 2020-09-05 00:50:04 +02:00
parent 2ceb3511b3
commit e9d4ed3911
2 changed files with 13 additions and 9 deletions

View file

@ -75,14 +75,15 @@ class RssUpdates(HttpRequest):
self.logger.info('Extracting content from {}'.format(link)) self.logger.info('Extracting content from {}'.format(link))
parser = get_plugin('http.webpage') parser = get_plugin('http.webpage')
response = parser.simplify(link).output response = parser.simplify(link)
errors = parser.simplify(link).errors output = response.output
errors = response.errors
if not response: if not output:
self.logger.warning('Mercury parser error: {}'.format(errors or '[unknown error]')) self.logger.warning('Mercury parser error: {}'.format(errors or '[unknown error]'))
return return
return response.get('content') return output.get('content')
def get_new_items(self, response): def get_new_items(self, response):
import feedparser import feedparser
@ -212,7 +213,9 @@ class RssUpdates(HttpRequest):
self.logger.info('Parsing RSS feed {}: completed'.format(self.title)) self.logger.info('Parsing RSS feed {}: completed'.format(self.title))
return NewFeedEvent(request=dict(self), response=entries, return NewFeedEvent(request=dict(self), response=entries,
source_id=source_record.id, title=self.title, source_id=source_record.id,
source_title=source_record.title,
title=self.title,
digest_format=self.digest_format, digest_format=self.digest_format,
digest_filename=digest_filename) digest_filename=digest_filename)

View file

@ -6,19 +6,20 @@ class NewFeedEvent(HttpEvent):
Event triggered when a monitored RSS feed has some new content Event triggered when a monitored RSS feed has some new content
""" """
def __init__(self, request, response: list, source_id=None, title=None, def __init__(self, request, response: list, source_id=None, source_title=None, source_url=None, title=None,
digest_format=None, digest_filename=None, *args, **kwargs): digest_format=None, digest_filename=None, *args, **kwargs):
""" """
:param request: Original request :param request: Original request
:param response: Received response :param response: Received response
:param source_id: ID of the source that generated the event :param source_id: ID of the source that generated the event
:param source_title: Name of the source, if available
:param source_url: URL of the source
:param title: Title of the new element :param title: Title of the new element
:param digest_format: Format of the digest - either 'html' or 'pdf', if set :param digest_format: Format of the digest - either 'html' or 'pdf', if set
:param digest_filename: File name of the digest, if it was dumped to file :param digest_filename: File name of the digest, if it was dumped to file
""" """
super().__init__(request=request, response=response, source_id=source_id, source_title=source_title,
super().__init__(request=request, response=response, source_id=source_id, source_url=source_url, digest_format=digest_format, title=title,
digest_format=digest_format, title=title,
digest_filename=digest_filename, *args, **kwargs) digest_filename=digest_filename, *args, **kwargs)