Ticket #3103: pubsub-diff-gajim.diff
| File pubsub-diff-gajim.diff, 4.6 KB (added by Olli, 3 years ago) |
|---|
-
src/disco.py
75 75 ('_jid', 'weather'): (False, 'weather.png'), 76 76 ('gateway', 'sip'): (False, 'sip.png'), 77 77 ('directory', 'user'): (None, 'jud.png'), 78 ('pubsub', 'generic'): ( None, 'pubsub.png'),78 ('pubsub', 'generic'): (PubSubBrowser, 'pubsub.png'), 79 79 ('pubsub', 'service'): (PubSubBrowser, 'pubsub.png'), 80 80 ('proxy', 'bytestreams'): (None, 'bytestreams.png'), # Socks5 FT proxy 81 81 … … 1723 1723 ''' Create treemodel for the window. ''' 1724 1724 # JID, node, name (with description) - pango markup, dont have info?, subscribed? 1725 1725 self.model = gtk.ListStore(str, str, str, bool, bool) 1726 self.model.set_sort_column_id(3, gtk.SORT_ASCENDING) 1726 # sort by node 1727 self.model.set_sort_column_id(2, gtk.SORT_ASCENDING) 1727 1728 self.window.services_treeview.set_model(self.model) 1728 1729 1729 # Name column 1730 # Pango markup for name and description, description printed with 1731 # <small/> font 1730 # Node Column 1732 1731 renderer = gtk.CellRendererText() 1733 col = gtk.TreeViewColumn(_('N ame'))1732 col = gtk.TreeViewColumn(_('Node')) 1734 1733 col.pack_start(renderer) 1735 col.set_attributes(renderer, markup= 2)1734 col.set_attributes(renderer, markup=1) 1736 1735 col.set_resizable(True) 1737 1736 self.window.services_treeview.insert_column(col, -1) 1738 1737 1738 1739 1739 1740 # Subscription state 1740 1741 renderer = gtk.CellRendererToggle() 1741 1742 col = gtk.TreeViewColumn(_('Subscribed')) … … 1743 1744 col.set_attributes(renderer, inconsistent=3, active=4) 1744 1745 col.set_resizable(False) 1745 1746 self.window.services_treeview.insert_column(col, -1) 1746 1747 1748 # Name column 1749 # Pango markup for name and description, description printed with 1750 # <small/> font 1751 renderer = gtk.CellRendererText() 1752 col = gtk.TreeViewColumn(_('Name')) 1753 col.pack_start(renderer) 1754 col.set_attributes(renderer, markup=2) 1755 col.set_resizable(True) 1756 self.window.services_treeview.insert_column(col, -1) 1747 1757 self.window.services_treeview.set_headers_visible(True) 1748 1758 1749 1759 def _add_item(self, jid, node, item, force): … … 1760 1770 1761 1771 name = gobject.markup_escape_text(name) 1762 1772 name = '<b>%s</b>' % name 1763 1773 1764 1774 self.model.append((jid, node, name, dunno, subscribed)) 1765 1775 1766 1776 def _add_actions(self): -
src/common/connection_handlers.py
1516 1516 if items is None: return 1517 1517 1518 1518 for item in items.getTags('item'): 1519 # check for event type (for now only one type supported: pubsub.com events) 1520 child = item.getTag('pubsub-message') 1521 if child is not None: 1522 # we have pubsub.com notification 1523 child = child.getTag('feed') 1524 if child is None: continue 1525 1526 for entry in child.getTags('entry'): 1527 # for each entry in feed (there shouldn't be more than one, 1528 # but to be sure... 1529 self.dispatch('ATOM_ENTRY', (atom.OldEntry(node=entry),)) 1519 entry = item.getTag('entry') 1520 if entry is not None: 1521 # for each entry in feed (there shouldn't be more than one, 1522 # but to be sure... 1523 self.dispatch('ATOM_ENTRY', (atom.OldEntry(node=entry),)) 1530 1524 continue 1531 1525 # unknown type... probably user has another client who understands that event 1532 1533 1526 raise common.xmpp.NodeProcessed 1534 1527 1535 1528 def _presenceCB(self, con, prs): -
src/common/atom.py
63 63 else: 64 64 main_feed = None 65 65 66 if self.getTag(' source-feed') is not None:67 source_feed = self.getTag(' source-feed').getTagData('title')66 if self.getTag('feed') is not None: 67 source_feed = self.getTag('feed').getTagData('title') 68 68 else: 69 69 source_feed = None 70 70 71 71 72 if main_feed is not None and source_feed is not None: 72 73 return u'%s: %s' % (main_feed, source_feed) … … 78 79 return u'' 79 80 80 81 feed_title = property(get_feed_title, None, None, 81 ''' Title of feed. It is built from entry' s original feed title and title of feed82 ''' Title of feed. It is built from entry''s original feed title and title of feed 82 83 which delivered this entry. ''') 83 84 84 85 def get_feed_link(self): 85 ''' Get a link to main page of feed (in pubsub.com: second link of rel='alternate', 86 first contains raw xml data). ''' 86 ''' Get source link ''' 87 87 try: 88 return self.getTag(' source-feed').getTags('link',{'rel':'alternate'})[1].getData()88 return self.getTag('feed').getTags('link',{'rel':'alternate'})[1].getData() 89 89 except: 90 90 return None 91 91
