diff options
author | BonfaceKilz | 2020-12-18 23:53:51 +0300 |
---|---|---|
committer | BonfaceKilz | 2020-12-18 23:53:51 +0300 |
commit | 35b1eb80cc8d0fb880c949de806c0ddba23c0fd9 (patch) | |
tree | 433e1ea607a70880c92854404cae320bcdf29be7 /bh20simplewebuploader/main.py | |
parent | 81dd50909edd74a0c5fbcd1a4fc259cf1952193d (diff) | |
download | bh20-seq-resource-35b1eb80cc8d0fb880c949de806c0ddba23c0fd9.tar.gz bh20-seq-resource-35b1eb80cc8d0fb880c949de806c0ddba23c0fd9.tar.lz bh20-seq-resource-35b1eb80cc8d0fb880c949de806c0ddba23c0fd9.zip |
Omit appending empty dicts to the list of tweets
This prevents any exception thrown by jinja in the rare event when an
empty tweet is stored in Redis
Diffstat (limited to 'bh20simplewebuploader/main.py')
-rw-r--r-- | bh20simplewebuploader/main.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/bh20simplewebuploader/main.py b/bh20simplewebuploader/main.py index b7da171..d697918 100644 --- a/bh20simplewebuploader/main.py +++ b/bh20simplewebuploader/main.py @@ -260,10 +260,14 @@ def send_home(): try: for tweet_id in redis_client.zrevrange('bh20-tweet-score:', 0, 9): - tweets.append( - {k.decode("utf-8"): v.decode("utf-8") for k, v in - redis_client.hgetall(tweet_id).items()} - ) + # Ensure the dict always has a value; otherwise a key + # error will be thrown by jinja + tweet_dict = redis_client.hgetall(tweet_id) + if tweet_dict: + tweets.append( + {k.decode("utf-8"): v.decode("utf-8") for k, v in + tweet_dict.items()}) + except redis.exceptions.ConnectionError as e: logging.warning(f"redis connect failed {e}") pass |