Moved hashing to bot.digest().
authorCMDR furrycat <elite@furrycat.net>
Wed, 26 Oct 2016 20:03:58 +0000 (21:03 +0100)
committerCMDR furrycat <elite@furrycat.net>
Wed, 26 Oct 2016 20:03:58 +0000 (21:03 +0100)
app.py
bot.py
plugins/announcements.py
plugins/feeds.py

diff --git a/app.py b/app.py
index 4ec6fc9..fcb6149 100644 (file)
--- a/app.py
+++ b/app.py
@@ -3,7 +3,6 @@
 import asyncio
 import datetime
 import discord
-import hashlib
 import io
 import logging
 import math
diff --git a/bot.py b/bot.py
index 2158cfb..8ee3851 100644 (file)
--- a/bot.py
+++ b/bot.py
@@ -1,6 +1,7 @@
 import asyncio
 import datetime
 import discord
+import hashlib
 import multiprocessing
 import os
 import random
@@ -320,3 +321,6 @@ def overwrite_permissions(channel, whom, overwrite, *, strict = True):
 
 def iso8601(timestamp):
   return datetime.datetime.utcfromtimestamp(timestamp).isoformat()[:19] + 'Z'
+
+def digest(text):
+  return hashlib.sha224(text.encode('utf-8')).hexdigest()
index 2fb429d..7625880 100644 (file)
@@ -1,6 +1,5 @@
 import asyncio
 import datetime
-import hashlib
 import math
 import random
 import re
@@ -804,7 +803,7 @@ class Announcements(DBConnection):
           logs = yield from client.logs_from(channel, limit = bot.get('message_limit'))
         for message in logs:
           raw = re.sub(r'^(<?@\S+\s)+', '', message.content).strip()
-          if hashlib.sha224(raw.encode('utf-8')).hexdigest() == digest:
+          if bot.digest(raw) == digest:
             log.debug('Saw previously posted announcement {} with digest {}'.format(announcement['id'], digest))
             already_posted = True
             break
@@ -829,7 +828,7 @@ class Announcements(DBConnection):
           else:
             log.info('Posting announcement {} to {}: {}'.format(announcement['id'], channel, text))
             message = yield from bot.say(channel, text)
-            update['digest'] = hashlib.sha224(message.content.encode('utf-8')).hexdigest()
+            update['digest'] = bot.digest(message.content)
         else:
           if announcement['probability'] < 0:
             log.info("Announcement {} is paused".format(announcement['id']))
index a90eb04..b8953c7 100644 (file)
@@ -2,7 +2,6 @@ import asyncio
 import bs4
 import discord
 import feedparser
-import hashlib
 import json
 import logging
 import multiprocessing
@@ -128,7 +127,7 @@ class Feeds(DBConnection):
     digests = []
     logs = yield from client.logs_from(channel, limit = limit)
     for message in logs:
-      digest = hashlib.sha224(message.content.encode('utf-8')).hexdigest()
+      digest = bot.digest(message.content)
       log.debug('Saw previously posted RSS with digest {}'.format(digest))
       if digest not in digests:
         digests.append(digest)
@@ -155,7 +154,7 @@ class Feeds(DBConnection):
       if feed['summary']:
         formatted += '\n{}'.format(''.join(bs4.BeautifulSoup(entry['summary'], 'html.parser').findAll(text = True)))
       formatted = formatted.strip()
-      digest = hashlib.sha224(formatted.encode('utf-8')).hexdigest()
+      digest = bot.digest(formatted)
       if digest in digests:
         log.debug("Already posted RSS with digest {}".format(digest))
         continue
@@ -165,7 +164,7 @@ class Feeds(DBConnection):
         else:
           log.info('Posting to {}: {}'.format(channel, formatted))
           message = yield from bot.say(channel, formatted)
-          digest = hashlib.sha224(message.content.encode('utf-8')).hexdigest()
+          digest = bot.digest(message.content)
           digests.append(digest)
           log.debug('Posted RSS with digest {}'.format(digest))
       except: