Prefer content_encoded over description if it's available.
[rawdog/.git] / rawdog
diff --git a/rawdog b/rawdog
index 183ddf01f9f9a8ef46765d8269e27d3c6b7d0c5e..bbf94fa5b1b4c1e6f63c2453dcde81c713486f46 100644 (file)
--- a/rawdog
+++ b/rawdog
@@ -21,13 +21,6 @@ VERSION = "0.3"
 import rawdoglib.rssparser as rssparser
 import sys, pickle, os, fcntl, time, sha
 
-def decode(s):
-       """Behave like decodeEntities, but handle None correctly."""
-       if s is None:
-               return None
-       else:
-               return rssparser.decodeEntities(s)
-
 def hash_item(feed, title, link, description):
        """Return the hash value for an article."""
        s = str(feed) + str(title) + str(link) + str(description)
@@ -69,15 +62,18 @@ class Feed:
 
                channel = p["channel"]
                if channel.has_key("title"):
-                       self.title = decode(channel["title"])
+                       self.title = channel["title"]
                if channel.has_key("link"):
                        self.link = channel["link"]
 
                feed = self.url
                for item in p["items"]:
-                       title = decode(maybe_get(item, "title"))
+                       title = maybe_get(item, "title")
                        link = maybe_get(item, "link")
-                       description = decode(maybe_get(item, "description"))
+                       if item.has_key("content_encoded"):
+                               description = item["content_encoded"]
+                       else:
+                               description = maybe_get(item, "description")
                        hash = hash_item(feed, title, link, description)
 
                        if articles.has_key(hash):