feed: use hashlib.sha1 for fallback IDs in Feed._get_entry_id
authorW. Trevor King <wking@tremily.us>
Tue, 11 Dec 2012 01:00:35 +0000 (20:00 -0500)
committerW. Trevor King <wking@tremily.us>
Tue, 11 Dec 2012 01:06:01 +0000 (20:06 -0500)
This fixes what I broke in

  commit 0fc2ff4465d741823b3dceebcfcf3a98a0081522
  Author: W. Trevor King <wking@tremily.us>
  Date:   Thu Oct 4 08:33:32 2012 -0400

    Cleanup global module configuration.

  diff --git a/rss2email.py b/rss2email.py
  index 216c13d..3919bd7 100755
  --- a/rss2email.py
  +++ b/rss2email.py
  ...
  -hash = hashlib.md5
  ...

I've come back with sha1 instead of md5, mostly because that's what
Git uses ;).  We don't migrate recorded IDs from the old configuration
method, so the change from md5 to sha1 shouldn't affect anyone.

Signed-off-by: W. Trevor King <wking@tremily.us>
rss2email/feed.py

index 30a7667106817dc3ede7c2070d22a4f2ea062a1e..9b129c8953868310be2f47097f287ee37592cd00 100644 (file)
@@ -28,6 +28,7 @@
 
 import collections as _collections
 from email.utils import formataddr as _formataddr
+import hashlib as _hashlib
 import re as _re
 import socket as _socket
 import time as _time
@@ -436,11 +437,14 @@ class Feed (object):
         content = self._get_entry_content(entry)
         content_value = content['value'].strip()
         if content_value:
-            return hash(content_value.encode('unicode-escape')).hexdigest()
+            return _hashlib.sha1(
+                content_value.encode('unicode-escape')).hexdigest()
         elif getattr(entry, 'link', None):
-            return hash(entry.link.encode('unicode-escape')).hexdigest()
+            return _hashlib.sha1(
+                entry.link.encode('unicode-escape')).hexdigest()
         elif getattr(entry, 'title', None):
-            return hash(entry.title.encode('unicode-escape')).hexdigest()
+            return _hashlib.sha1(
+                entry.title.encode('unicode-escape')).hexdigest()
 
     def _get_entry_title(self, entry):
         if hasattr(entry, 'title_detail') and entry.title_detail: