X-Git-Url: http://git.ozo.com/?a=blobdiff_plain;f=rawdog;h=bbf94fa5b1b4c1e6f63c2453dcde81c713486f46;hb=7ced1bc459f1ea531fa478cdbf684dca18d13216;hp=183ddf01f9f9a8ef46765d8269e27d3c6b7d0c5e;hpb=27e5f64ce6ba68fd53cfa60a4b7a63b0a46ced89;p=rawdog%2F.git diff --git a/rawdog b/rawdog index 183ddf0..bbf94fa 100644 --- 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):