2 from PyQt4 import QtGui
3 from PyQt4 import QtCore
4 from PyQt4.QtWebKit import QWebView
8 def __init__(self, url):
9 self.feed=feedparser.parse(url)
12 return self.feed["entries"]
14 def getItem(self, index):
15 return self.feed["entries"][index]
17 def getArticle(self,index):
18 entry = self.feed["entries"][index]
19 #text = "<h4><a href=\"" + entry["link"] + "\">" + entry["title"] + "</a></h4>"
20 text = "<small>" + entry["title"] + "</small>"
21 text = text + "<BR />"
22 text = text + entry["summary"]
26 listOfFeeds = ["http://rss.slashdot.org/Slashdot/slashdot",]
28 def downloadFeeds(self):
30 for item in self.listOfFeeds:
31 self.feeds.append(Feed(item))
33 def getFeed(self, index):
34 return self.feeds[index]
36 def getListOfFeeds(self):
37 return self.listOfFeeds
40 class ArticleDisplay(QtGui.QMainWindow):
41 def __init__(self, parent, feed, index):
42 QtGui.QMainWindow.__init__(self, parent)
43 #self.setWindowTitle('Feeding It')
45 text = feed.getArticle(index)
52 class ListingDisplay(QtGui.QMainWindow):
53 def __init__(self, parent, feed):
54 QtGui.QMainWindow.__init__(self, parent)
56 listWidget = QtGui.QListWidget(self)
58 for item in feed.getTitles():
59 QtGui.QListWidgetItem(item["title"], listWidget)
61 #button.connect("clicked", self.button_clicked, self, self.window, currentfeed, index)
67 class RSSReader(QtGui.QMainWindow):
69 def __init__(self, parent=None):
70 QtGui.QMainWindow.__init__(self, parent)
71 self.setWindowTitle('Feeding It')
72 self.setGeometry(100,100,300,300)
75 self.mainWidget=QtGui.QWidget(self) # dummy widget to contain the
77 self.setCentralWidget(self.mainWidget)
78 self.mainLayout=QtGui.QVBoxLayout(self.mainWidget)
81 exitAction = QtGui.QAction('Exit', self)
82 self.connect(exitAction, QtCore.SIGNAL('triggered()'), self.close)
83 menubar = self.menuBar()
84 file = menubar.addAction(exitAction)
86 self.listing=Listing()
87 self.listing.downloadFeeds()
89 listOfFeeds = QtGui.QListWidget(self.mainWidget)
91 tmp = ["test","test1", "test2"]
92 #for item in self.listing.getListOfFeeds():
94 QtGui.QListWidgetItem(item, listOfFeeds)
96 #layout = QtGui.QVBoxLayout()
97 #layout.addWidget(listOfFeeds)
98 #self.setLayout(layout)
100 if __name__ == '__main__':
102 #Creating Qt application
103 app = QtGui.QApplication(sys.argv)
105 myRSSReader = RSSReader()
109 sys.exit(app.exec_())