/[straw]/straw/src/lib/SubscribeDialog.py
ViewVC logotype

Diff of /straw/src/lib/SubscribeDialog.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.31 by jmalonzo, Wed Nov 5 10:37:05 2003 UTC revision 1.32 by ScottDW, Wed Nov 5 18:00:35 2003 UTC
# Line 2  cvs_id = "$Id$" Line 2  cvs_id = "$Id$"
2    
3  import gobject  import gobject
4  import gtk  import gtk
5  import traceback  import traceback
   
6  import straw  import straw
7  from error import log  from error import log
8    from xml.sax import saxutils
9    
10    
11  def set_busy_cursor():  def set_busy_cursor():
# Line 24  def set_ready_cursor(): Line 24  def set_ready_cursor():
24  class SubscribeDialog:  class SubscribeDialog:
25      COLUMN_SUBSCRIBE = 0      COLUMN_SUBSCRIBE = 0
26      COLUMN_TITLE = 1      COLUMN_TITLE = 1
27      COLUMN_DESCRIPTION = 2      COLUMN_FEED = 2
28      COLUMN_FEED = 3      COLUMN_PARSEDSUMMARY = 3
29      COLUMN_PARSEDSUMMARY = 4      COLUMN_STATUS_FLAG = 4
30      COLUMN_STATUS_FLAG = 5      COLUMN_URL = 5
     COLUMN_URL = 6  
31    
32      def __init__(self, xml):      def __init__(self, xml):
33          self._window = xml.get_widget("subscribe_dialog")          self._window = xml.get_widget("subscribe_dialog")
# Line 51  class SubscribeDialog: Line 50  class SubscribeDialog:
50          xml.signal_autoconnect(nameFuncMap)          xml.signal_autoconnect(nameFuncMap)
51    
52          model = gtk.ListStore(gobject.TYPE_OBJECT, gobject.TYPE_STRING,          model = gtk.ListStore(gobject.TYPE_OBJECT, gobject.TYPE_STRING,
53                                gobject.TYPE_STRING, gobject.TYPE_PYOBJECT,                                gobject.TYPE_PYOBJECT, gobject.TYPE_PYOBJECT,
54                                gobject.TYPE_PYOBJECT, gobject.TYPE_BOOLEAN,                                gobject.TYPE_BOOLEAN, gobject.TYPE_STRING)
                               gobject.TYPE_STRING)  
55    
56          self._subscribe_multiple_match_view.set_model(model)          self._subscribe_multiple_match_view.set_model(model)
57          self.create_columns(self._subscribe_multiple_match_view)          self.create_columns(self._subscribe_multiple_match_view)
# Line 219  class SubscribeDialog: Line 217  class SubscribeDialog:
217          treeview.append_column(column)          treeview.append_column(column)
218          renderer.connect('toggled', self.sticky_toggled)          renderer.connect('toggled', self.sticky_toggled)
219    
220          for cname, cnum in [(_('Title'), self.COLUMN_TITLE),          cname= _('Title')
221                              (_('Description'), self.COLUMN_DESCRIPTION),          cnum = self.COLUMN_TITLE
222                              (_('URL'), self.COLUMN_URL),]:          renderer = gtk.CellRendererText()
223              renderer = gtk.CellRendererText()          column = gtk.TreeViewColumn(cname, renderer, markup = cnum)
224              column = gtk.TreeViewColumn(cname, renderer, text = cnum)          treeview.append_column(column)
             treeview.append_column(column)  
225    
226      def sticky_toggled(self, cell, path):      def sticky_toggled(self, cell, path):
227          model = self._subscribe_multiple_match_view.get_model()          model = self._subscribe_multiple_match_view.get_model()
# Line 261  class SubscribeDialog: Line 258  class SubscribeDialog:
258          model.clear()          model.clear()
259          for feed, ps in self._found_feeds:          for feed, ps in self._found_feeds:
260              iter = model.append()              iter = model.append()
261              model.set(iter, self.COLUMN_TITLE, feed.title,              escaped_text = "<b>%s</b>\n%s" % (saxutils.escape(feed.title), saxutils.escape(feed.channel_description))
262                        self.COLUMN_DESCRIPTION, feed.channel_description,              escaped_text = "%s\n%s" % (escaped_text.strip(), saxutils.escape(feed.access_info[0]))
263                model.set(iter, self.COLUMN_TITLE, escaped_text,
264                        self.COLUMN_FEED, feed, self.COLUMN_PARSEDSUMMARY, ps,                        self.COLUMN_FEED, feed, self.COLUMN_PARSEDSUMMARY, ps,
265                        self.COLUMN_STATUS_FLAG, feed.id in self._feeds,                        self.COLUMN_STATUS_FLAG, feed.id in self._feeds,
266                        self.COLUMN_URL, feed.access_info[0])                        self.COLUMN_URL, feed.access_info[0])
# Line 295  class SubscribeDialog: Line 293  class SubscribeDialog:
293              for url, data in found:              for url, data in found:
294                  feed = straw.create_new_feed("temporary feed", url)                  feed = straw.create_new_feed("temporary feed", url)
295                  ps = self.parse_feed(data, feed)                  ps = self.parse_feed(data, feed)
296                  feed.title = straw.utils.convert_entities(ps.title)                  feed.title = straw.utils.convert_entities(ps.title).strip()
297                  feed.channel_description = straw.utils.convert_entities(ps.description)                  feed.channel_description = straw.utils.convert_entities(ps.description).strip()
298                  feeds.append((feed, ps))                  feeds.append((feed, ps))
299              return feeds              return feeds
300          except Exception, e:          except Exception, e:

Legend:
Removed from v.1.31  
changed lines
  Added in v.1.32

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26