finch/libgnt/pygnt/example/rss/gntrss-ui.py

Sun, 29 Jul 2007 10:48:45 +0000

author
Sadrul Habib Chowdhury <sadrul@pidgin.im>
date
Sun, 29 Jul 2007 10:48:45 +0000
changeset 19179
b3e5a04d839f
parent 19178
952bf9cb471d
child 19186
6426c0906fc8
permissions
-rwxr-xr-x

Update the license info.

19175
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
1 #!/usr/bin/env python
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
2
19179
b3e5a04d839f Update the license info.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19178
diff changeset
3 """
b3e5a04d839f Update the license info.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19178
diff changeset
4 gr - An RSS-reader built using libgnt and feedparser.
b3e5a04d839f Update the license info.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19178
diff changeset
5
b3e5a04d839f Update the license info.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19178
diff changeset
6 Copyright (C) 2007 Sadrul Habib Chowdhury <sadrul@pidgin.im>
b3e5a04d839f Update the license info.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19178
diff changeset
7
b3e5a04d839f Update the license info.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19178
diff changeset
8 This application is free software; you can redistribute it and/or
b3e5a04d839f Update the license info.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19178
diff changeset
9 modify it under the terms of the GNU Lesser General Public
b3e5a04d839f Update the license info.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19178
diff changeset
10 License as published by the Free Software Foundation; either
b3e5a04d839f Update the license info.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19178
diff changeset
11 version 2.1 of the License, or (at your option) any later version.
b3e5a04d839f Update the license info.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19178
diff changeset
12
b3e5a04d839f Update the license info.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19178
diff changeset
13 This application is distributed in the hope that it will be useful,
b3e5a04d839f Update the license info.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19178
diff changeset
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
b3e5a04d839f Update the license info.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19178
diff changeset
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
b3e5a04d839f Update the license info.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19178
diff changeset
16 Lesser General Public License for more details.
b3e5a04d839f Update the license info.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19178
diff changeset
17
b3e5a04d839f Update the license info.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19178
diff changeset
18 You should have received a copy of the GNU Lesser General Public
b3e5a04d839f Update the license info.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19178
diff changeset
19 License along with this application; if not, write to the Free Software
b3e5a04d839f Update the license info.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19178
diff changeset
20 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
b3e5a04d839f Update the license info.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19178
diff changeset
21 USA
b3e5a04d839f Update the license info.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19178
diff changeset
22 """
b3e5a04d839f Update the license info.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19178
diff changeset
23
b3e5a04d839f Update the license info.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19178
diff changeset
24 """
b3e5a04d839f Update the license info.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19178
diff changeset
25 This file deals with the UI part (gnt) of the application
b3e5a04d839f Update the license info.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19178
diff changeset
26 """
19175
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
27
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
28 import gntrss
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
29 import gnt
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
30 import gobject
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
31 import sys
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
32
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
33 __version__ = "0.0.1alpha"
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
34 __author__ = "Sadrul Habib Chowdhury (sadrul@pidgin.im)"
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
35 __copyright__ = "Copyright 2007, Sadrul Habib Chowdhury"
19179
b3e5a04d839f Update the license info.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19178
diff changeset
36 __license__ = "GPL" # see full license statement above
19175
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
37
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
38 gnt.gnt_init()
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
39
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
40 class RssTree(gnt.Tree):
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
41 __gsignals__ = {
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
42 'active_changed' : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, (gobject.TYPE_OBJECT,)),
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
43 'key_pressed' : 'override'
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
44 }
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
45
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
46 def __init__(self):
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
47 self.active = None
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
48 gnt.Tree.__init__(self)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
49
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
50 def set_active(self, active):
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
51 if self.active == active:
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
52 return
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
53 if self.active:
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
54 self.set_row_flags(self.active, gnt.TEXT_FLAG_NORMAL)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
55 old = self.active
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
56 self.active = active
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
57 self.set_row_flags(self.active, gnt.TEXT_FLAG_UNDERLINE)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
58 self.emit('active_changed', old)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
59
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
60 def do_key_pressed(self, text):
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
61 if text == '\r':
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
62 now = self.get_selection_data()
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
63 self.set_active(now)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
64 return True
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
65 return False
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
66
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
67 gobject.type_register(RssTree)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
68
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
69 win = gnt.Box(homo = False, vert = True)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
70 win.set_toplevel(True)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
71 win.set_title("GntRss")
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
72 win.set_pad(0)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
73
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
74 #
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
75 # [[[ Generic feed/item callbacks
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
76 #
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
77 def feed_item_added(feed, item):
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
78 add_feed_item(item)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
79
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
80 def add_feed(feed):
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
81 if not feed.get_data('gntrss-connected'):
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
82 feed.connect('added', feed_item_added)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
83 feed.connect('notify', update_feed_title)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
84 feed.set_data('gntrss-connected', True)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
85 feeds.add_row_after(feed, [feed.title, str(feed.unread)], None, None)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
86
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
87 def remove_item(item, feed):
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
88 items.remove(item)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
89
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
90 def update_feed_item(item, property):
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
91 if property.name == 'unread':
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
92 if feeds.active != item.parent:
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
93 return
19178
952bf9cb471d A few updates to the rss reader.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19176
diff changeset
94 flag = 0
952bf9cb471d A few updates to the rss reader.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19176
diff changeset
95 if item == items.active:
952bf9cb471d A few updates to the rss reader.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19176
diff changeset
96 flag = gnt.TEXT_FLAG_UNDERLINE
19175
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
97 if item.unread:
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
98 item.parent.unread = item.parent.unread + 1
19178
952bf9cb471d A few updates to the rss reader.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19176
diff changeset
99 items.set_row_flags(item, flag | gnt.TEXT_FLAG_BOLD)
19175
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
100 else:
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
101 item.parent.unread = item.parent.unread - 1
19178
952bf9cb471d A few updates to the rss reader.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19176
diff changeset
102 items.set_row_flags(item, flag | gnt.TEXT_FLAG_NORMAL)
19175
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
103 item.parent.notify('unread')
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
104
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
105 def add_feed_item(item):
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
106 currentfeed = feeds.active
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
107 if item.parent != currentfeed:
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
108 return
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
109 items.add_row_after(item, [str(item.title)], None, None)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
110 if item.unread:
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
111 items.set_row_flags(item, gnt.TEXT_FLAG_BOLD)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
112 if not item.get_data('gntrss-connected'):
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
113 item.set_data('gntrss-connected', True)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
114 item.connect('notify', update_feed_item)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
115 item.connect('delete', remove_item)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
116
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
117 #
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
118 # ]]] Generic feed/item callbacks
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
119 #
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
120
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
121
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
122 ####
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
123 # [[[ The list of feeds
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
124 ###
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
125
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
126 #
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
127 # The active row in the feed-list has changed. Update the feed-item table.
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
128 def feed_active_changed(tree, old):
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
129 items.remove_all()
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
130 if not tree.active:
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
131 return
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
132 for item in tree.active.items:
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
133 add_feed_item(item)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
134
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
135 #
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
136 # Check for the action keys and decide how to deal with them.
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
137 def feed_key_pressed(tree, text):
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
138 if text == 'r':
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
139 feed = tree.get_selection_data()
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
140 tree.perform_action_key('j')
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
141 #tree.perform_action('move-down')
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
142 feed.refresh()
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
143 elif text == 'R':
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
144 feeds = tree.get_rows()
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
145 for feed in feeds:
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
146 feed.refresh()
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
147 else:
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
148 return False
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
149 return True
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
150
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
151 feeds = RssTree()
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
152 feeds.set_property('columns', 2)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
153 feeds.set_col_width(0, 20)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
154 feeds.set_col_width(1, 4)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
155 feeds.set_column_resizable(0, False)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
156 feeds.set_column_resizable(1, False)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
157 feeds.set_column_is_right_aligned(1, True)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
158 feeds.set_show_separator(False)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
159
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
160 feeds.connect('active_changed', feed_active_changed)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
161 feeds.connect('key_pressed', feed_key_pressed)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
162
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
163 ####
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
164 # ]]] The list of feeds
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
165 ###
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
166
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
167 ####
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
168 # [[[ The list of items in the feed
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
169 ####
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
170
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
171 #
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
172 # The active item in the feed-item list has changed. Update the
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
173 # summary content.
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
174 def item_active_changed(tree, old):
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
175 details.clear()
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
176 if not tree.active:
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
177 return
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
178 item = tree.active
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
179 details.append_text_with_flags(str(item.title) + "\n", gnt.TEXT_FLAG_BOLD)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
180 details.append_text_with_flags(str(item.summary), gnt.TEXT_FLAG_NORMAL)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
181 details.scroll(0)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
182 if item.unread:
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
183 item.set_property('unread', False)
19178
952bf9cb471d A few updates to the rss reader.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19176
diff changeset
184 if old and old.unread:
952bf9cb471d A few updates to the rss reader.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19176
diff changeset
185 old.set_property('unread', True)
19175
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
186
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
187 #
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
188 # Look for action keys in the feed-item list.
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
189 def item_key_pressed(tree, text):
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
190 current = tree.get_selection_data()
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
191 if text == 'M': # Mark all of the items 'read'
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
192 all = tree.get_rows()
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
193 for item in all:
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
194 item.unread = False
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
195 elif text == 'm': # Mark the current item 'read'
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
196 if current.unread:
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
197 current.set_property('unread', False)
19178
952bf9cb471d A few updates to the rss reader.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19176
diff changeset
198 tree.perform_action_key('j')
19175
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
199 elif text == 'U': # Mark the current item 'unread'
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
200 if not current.unread:
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
201 current.set_property('unread', True)
19178
952bf9cb471d A few updates to the rss reader.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19176
diff changeset
202 elif text == 'd':
952bf9cb471d A few updates to the rss reader.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19176
diff changeset
203 current.remove()
952bf9cb471d A few updates to the rss reader.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19176
diff changeset
204 tree.perform_action_key('j')
19175
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
205 else:
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
206 return False
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
207 return True
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
208
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
209 items = RssTree()
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
210 items.set_property('columns', 1)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
211 items.set_col_width(0, 40)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
212 items.connect('key_pressed', item_key_pressed)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
213 items.connect('active_changed', item_active_changed)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
214
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
215 ####
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
216 # ]]] The list of items in the feed
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
217 ####
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
218
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
219 # The container on the top
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
220 box = gnt.Box(homo = False, vert = False)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
221 box.set_pad(0)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
222 box.add_widget(feeds)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
223 box.add_widget(items)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
224
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
225 win.add_widget(box)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
226
19176
487103c2e783 The promised cleanups.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19175
diff changeset
227 line = gnt.Line(vertical = False)
487103c2e783 The promised cleanups.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19175
diff changeset
228 win.add_widget(line)
19175
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
229
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
230 # The textview to show the details of a feed
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
231 details = gnt.TextView()
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
232
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
233 win.add_widget(details)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
234
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
235 browser = gnt.Button("Open in Browser")
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
236 win.add_widget(browser)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
237 details.attach_scroll_widget(browser)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
238
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
239 win.show()
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
240
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
241 def update_feed_title(feed, property):
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
242 if property.name == 'title':
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
243 feeds.change_text(feed, 0, feed.title)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
244 elif property.name == 'unread':
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
245 feeds.change_text(feed, 1, str(feed.unread))
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
246
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
247 # populate everything
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
248 for feed in gntrss.feeds:
19176
487103c2e783 The promised cleanups.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 19175
diff changeset
249 feed.refresh()
19175
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
250 add_feed(feed)
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
251
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
252 gnt.gnt_main()
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
253
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
254 gnt.gnt_quit()
d6cea4e8560f A proof-of-conecpt RSS reader using pygnt.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff changeset
255

mercurial