self.countUnread = 0
self.updateTime = "Never"
self.uniqueId = uniqueId
+ self.etag = None
+ self.modified = None
def addImage(self, configdir, key, baseurl, url):
filename = configdir+key+".d/"+getId(url)
def updateFeed(self, configdir, expiryTime=24, proxy=None, imageCache=False):
# Expiry time is in hours
if proxy == None:
- tmp=feedparser.parse(self.url)
+ tmp=feedparser.parse(self.url, etag = self.etag, modified = self.modified)
else:
- tmp=feedparser.parse(self.url, handlers = [proxy])
+ tmp=feedparser.parse(self.url, etag = self.etag, modified = self.modified, handlers = [proxy])
expiry = float(expiryTime) * 3600.
+
# Check if the parse was succesful (number of entries > 0, else do nothing)
if len(tmp["entries"])>0:
+ # The etag and modified value should only be updated if the content was not null
+ try:
+ self.etag = tmp["etag"]
+ except KeyError:
+ self.etag = None
+ try:
+ self.modified = tmp["modified"]
+ except KeyError:
+ self.modified = None
+ #if len(tmp["entries"])>0:
if not isdir(configdir+self.uniqueId+".d"):
mkdir(configdir+self.uniqueId+".d")
try:
outf.close()
del data
except:
- import traceback
- traceback.print_exc()
+ #import traceback
+ #traceback.print_exc()
+ pass
#reversedEntries = self.getEntries()
self.readItems[id] = False
def isEntryRead(self, id):
- return self.readItems[id]
+ # Check if an entry is read; return False if the read
+ # status of an entry is unknown (id not in readItems)
+ return self.readItems.get(id, False)
def getTitle(self, id):
return self.entries[id]["title"]
del feed.imageHandler
except:
pass
+ try:
+ feed.etag
+ except AttributeError:
+ feed.etag = None
+ try:
+ feed.modified
+ except AttributeError:
+ feed.modified = None
#feed.reloadUnread(self.configdir)
else:
#print key