Fix recognition of shared activities
This commit is contained in:
parent
91b68d4103
commit
b315480c5a
@ -4,7 +4,7 @@ import gtk
|
|||||||
import pango
|
import pango
|
||||||
import dbus
|
import dbus
|
||||||
import cgi
|
import cgi
|
||||||
import urllib
|
import xml.sax.saxutils
|
||||||
import re
|
import re
|
||||||
|
|
||||||
import google
|
import google
|
||||||
@ -21,10 +21,15 @@ class ActivitiesModel(gtk.ListStore):
|
|||||||
|
|
||||||
def add_activity(self, buddy, service):
|
def add_activity(self, buddy, service):
|
||||||
uid = service.get_activity_uid()
|
uid = service.get_activity_uid()
|
||||||
title = urllib.unquote(service.get_one_property('Title'))
|
# Web Activity check
|
||||||
address = urllib.unquote(service.get_one_property('URI'))
|
if service.get_type() == BrowserActivity._BROWSER_ACTIVITY_TYPE:
|
||||||
subtitle = 'Shared by %s' % buddy.get_nick_name()
|
escaped_title = service.get_one_property('Title')
|
||||||
self.append([ title, address, subtitle, uid ])
|
escaped_uri = service.get_one_property('URI')
|
||||||
|
if escaped_title and escaped_uri:
|
||||||
|
title = xml.sax.saxutils.unescape(escaped_title)
|
||||||
|
address = xml.sax.saxutils.unescape(escaped_uri)
|
||||||
|
subtitle = 'Shared by %s' % buddy.get_nick_name()
|
||||||
|
self.append([ title, address, subtitle, uid ])
|
||||||
|
|
||||||
class ActivitiesView(gtk.TreeView):
|
class ActivitiesView(gtk.TreeView):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
@ -81,6 +86,7 @@ class StartPage(gtk.HBox):
|
|||||||
|
|
||||||
self._pservice = PresenceService.get_instance()
|
self._pservice = PresenceService.get_instance()
|
||||||
self._pservice.connect("activity-announced", self._on_activity_announced_cb)
|
self._pservice.connect("activity-announced", self._on_activity_announced_cb)
|
||||||
|
self._pservice.connect("new-service-adv", self._on_new_service_adv_cb)
|
||||||
self._pservice.start()
|
self._pservice.start()
|
||||||
self._pservice.track_service_type(BrowserActivity._BROWSER_ACTIVITY_TYPE)
|
self._pservice.track_service_type(BrowserActivity._BROWSER_ACTIVITY_TYPE)
|
||||||
|
|
||||||
@ -127,7 +133,13 @@ class StartPage(gtk.HBox):
|
|||||||
def _on_local_activity_ended_cb(self, helper, activity_container, activity_id):
|
def _on_local_activity_ended_cb(self, helper, activity_container, activity_id):
|
||||||
self._pservice.untrack_activity(activity_id)
|
self._pservice.untrack_activity(activity_id)
|
||||||
|
|
||||||
|
def _on_new_service_adv_cb(self, pservice, activity_id, short_stype):
|
||||||
|
if activity_id:
|
||||||
|
self._pservice.track_activity(activity_id)
|
||||||
|
self._pservice.track_service_type(short_stype)
|
||||||
|
|
||||||
def _on_activity_announced_cb(self, pservice, service, buddy):
|
def _on_activity_announced_cb(self, pservice, service, buddy):
|
||||||
|
print "Found new activity with type %s" % service.get_full_type()
|
||||||
self._activities.get_model().add_activity(buddy, service)
|
self._activities.get_model().add_activity(buddy, service)
|
||||||
|
|
||||||
def _search_entry_activate_cb(self, entry):
|
def _search_entry_activate_cb(self, entry):
|
||||||
|
Loading…
Reference in New Issue
Block a user