add error handling

This commit is contained in:
Denis Lehmann 2020-04-14 23:15:58 +02:00
parent b3379086e9
commit e5f90f79d1

View file

@ -31,8 +31,7 @@ def log(text, force = False):
# Print error message and exit # Print error message and exit
def error(text): def error(text):
print('{} - ERROR - {}'.format(datetime.now().strftime('%d.%m %H:%M'), text)) print('{} E {}'.format(datetime.now().strftime('%d.%m %H:%M'), text))
sys.exit(1)
# Print spiderss logo # Print spiderss logo
@ -118,13 +117,16 @@ def update_feed(feed):
articles = get_articles(feed['url']) articles = get_articles(feed['url'])
threshold_date = datetime.now() - timedelta(days = max_age) threshold_date = datetime.now() - timedelta(days = max_age)
for a in articles: for a in articles:
date = datetime.fromtimestamp(mktime(a.published_parsed)) try:
if date > threshold_date: date = datetime.fromtimestamp(mktime(a.published_parsed))
filename = get_filename(date, a.title) if date > threshold_date:
if not os.path.exists(os.path.join(feedpath_new, filename)) and not os.path.exists(os.path.join(feedpath_read, filename)): filename = get_filename(date, a.title)
text = get_article_text(a) if not os.path.exists(os.path.join(feedpath_new, filename)) and not os.path.exists(os.path.join(feedpath_read, filename)):
write_to_file(os.path.join(feedpath_new, filename), text) text = get_article_text(a)
log(' added article "{}"'.format(a.title)) write_to_file(os.path.join(feedpath_new, filename), text)
log(' added article "{}"'.format(a.title))
except Exception as e:
error(' while parsing article "{}: {}"'.format(a.title, e))
# Delete articles older than max_age # Delete articles older than max_age
@ -157,6 +159,7 @@ def load_config(filepath):
feeds = config['feed'] feeds = config['feed']
except Exception as e: except Exception as e:
error('while parsing config: {}'.format(e)) error('while parsing config: {}'.format(e))
sys.exit(1)
# Initialize spiderss # Initialize spiderss