self.nameEntry = hildon.Entry(gtk.HILDON_SIZE_AUTO)
self.nameEntry.set_placeholder('Feed name')
- if not titleIn == None:
+ # If titleIn matches urlIn, there is no title.
+ if not titleIn == None and titleIn != urlIn:
self.nameEntry.set_text(titleIn)
self.nameEntry.select_region(-1, -1)
ret = wizard.run()
if ret == 2:
(title, url, category) = wizard.getData()
- if (not title == '') and (not url == ''):
+ if url != '':
self.listing.editFeed(key, title, url, category=category)
self.refreshList()
wizard.destroy()
ret = wizard.run()
if ret == 2:
(title, url, category) = wizard.getData()
- if (not title == '') and (not url == ''):
+ if url:
self.listing.addFeed(title, url, category=category)
wizard.destroy()
self.refreshList()
ret = wizard.run()
if ret == 2:
(title, url, category) = wizard.getData()
- if (not title == '') and (not url == ''):
+ if url:
self.listing.addFeed(title, url, category=category)
wizard.destroy()
self.displayListing()
if not success:
etag = None
modified = None
+ title = None
+ try:
+ title = tmp.feed.title
+ except (AttributeError, UnboundLocalError), exception:
+ pass
if postFeedUpdateFunc is not None:
postFeedUpdateFunc (self.key, updateTime, etag, modified,
- *postFeedUpdateFuncArgs)
+ title, *postFeedUpdateFuncArgs)
def setEntryRead(self, id):
self.db.execute("UPDATE feed SET read=1 WHERE id=?;", (id,) )
def _queuePostFeedUpdate(self, *args, **kwargs):
mainthread.execute (self._postFeedUpdate, async=True, *args, **kwargs)
- def _postFeedUpdate(self, key, updateTime, etag, modified):
+ def _postFeedUpdate(self, key, updateTime, etag, modified, title):
if modified==None:
modified="None"
else:
self.db.execute("UPDATE feeds SET updateTime=?, etag=?, modified=? WHERE id=?;", (updateTime, etag, modified, key) )
else:
self.db.execute("UPDATE feeds SET etag=?, modified=? WHERE id=?;", (etag, modified, key) )
+
+ if title is not None:
+ self.db.execute("UPDATE feeds SET title=(case WHEN title=='' THEN ? ELSE title END) where id=?;",
+ (title, key))
self.db.commit()
self.updateUnread(key)
return self.db.execute("SELECT unread FROM feeds WHERE id=?;", (key,)).fetchone()[0]
def getFeedTitle(self, key):
- return self.db.execute("SELECT title FROM feeds WHERE id=?;", (key,)).fetchone()[0]
+ (title, url) = self.db.execute("SELECT title, url FROM feeds WHERE id=?;", (key,)).fetchone()
+ if title:
+ return title
+ return url
def getFeedUrl(self, key):
return self.db.execute("SELECT url FROM feeds WHERE id=?;", (key,)).fetchone()[0]
def addFeed(self, title, url, id=None, category=1):
if not id:
- id = getId(title)
+ id = getId(url)
count = self.db.execute("SELECT count(*) FROM feeds WHERE id=?;", (id,) ).fetchone()[0]
if count == 0:
max_rank = self.db.execute("SELECT MAX(rank) FROM feeds;").fetchone()[0]