diff options
author | Morgan Collett <morgan.collett@collabora.co.uk> | 2007-07-02 11:57:27 (GMT) |
---|---|---|
committer | Morgan Collett <morgan.collett@collabora.co.uk> | 2007-07-02 11:57:27 (GMT) |
commit | 326aa36a9e8745870e7f09515dd1d897e9e374c9 (patch) | |
tree | 75fe23b10d91ceb0c9176e120381ac8736fbeac5 | |
parent | 2fd702e4272252ea8cc5cced95c4a88af12ce007 (diff) |
Fixes for logging
-rw-r--r-- | activity.py | 83 |
1 files changed, 42 insertions, 41 deletions
diff --git a/activity.py b/activity.py index 3ba6acf..6bcf6bb 100644 --- a/activity.py +++ b/activity.py @@ -36,7 +36,6 @@ SERVICE = "org.laptop.HelloMesh" IFACE = SERVICE PATH = "/org/laptop/HelloMesh" -logger = logging.getLogger('hellomesh-activity') class HelloMeshActivity(Activity): """HelloMesh Activity as specified in activity.info""" @@ -44,6 +43,7 @@ class HelloMeshActivity(Activity): """Set up the HelloMesh activity.""" Activity.__init__(self, handle) self.set_title('HelloMesh Activity') + self._logger = logging.getLogger('hellomesh-activity') # top toolbar with share and close buttons: toolbox = ActivityToolbox(self) @@ -73,6 +73,7 @@ class HelloMeshActivity(Activity): self.tp_conn_name = name self.tp_conn_path = path self.conn = telepathy.client.Connection(name, path) + self.initiating = None self.connect('shared', self._shared_cb) @@ -92,17 +93,18 @@ class HelloMeshActivity(Activity): self._joined_cb() def _shared_cb(self, activity): - logger.debug('My activity was shared') + self._logger.debug('My activity was shared') + self.initiating = True self._setup() for buddy in self._shared_activity.get_joined_buddies(): - logger.debug('Buddy %s is already in the activity' % + self._logger.debug('Buddy %s is already in the activity' % buddy.props.nick) self._shared_activity.connect('buddy-joined', self._buddy_joined_cb) self._shared_activity.connect('buddy-left', self._buddy_left_cb) - logger.debug('This is my activity: making a tube...') + self._logger.debug('This is my activity: making a tube...') id = self.tubes_chan[telepathy.CHANNEL_TYPE_TUBES].OfferTube( telepathy.TUBE_TYPE_DBUS, SERVICE, {}) @@ -110,7 +112,7 @@ class HelloMeshActivity(Activity): # with this def _setup(self): if self._shared_activity is None: - logger.error('Failed to share or join activity') + self._logger.error('Failed to share or join activity') return bus_name, conn_path, channel_paths =\ @@ -124,27 +126,27 @@ class HelloMeshActivity(Activity): channel = telepathy.client.Channel(bus_name, channel_path) htype, handle = channel.GetHandle() if htype == telepathy.HANDLE_TYPE_ROOM: - logger.debug('Found our room: it has handle#%d "%s"', + self._logger.debug('Found our room: it has handle#%d "%s"', handle, self.conn.InspectHandles(htype, [handle])[0]) room = handle ctype = channel.GetChannelType() if ctype == telepathy.CHANNEL_TYPE_TUBES: - logger.debug('Found our Tubes channel at %s', channel_path) + self._logger.debug('Found our Tubes channel at %s', channel_path) tubes_chan = channel elif ctype == telepathy.CHANNEL_TYPE_TEXT: - logger.debug('Found our Text channel at %s', channel_path) + self._logger.debug('Found our Text channel at %s', channel_path) text_chan = channel if room is None: - logger.error("Presence service didn't create a room") + self._logger.error("Presence service didn't create a room") return if text_chan is None: - logger.error("Presence service didn't create a text channel") + self._logger.error("Presence service didn't create a text channel") return # Make sure we have a Tubes channel - PS doesn't yet provide one if tubes_chan is None: - logger.debug("Didn't find our Tubes channel, requesting one...") + self._logger.debug("Didn't find our Tubes channel, requesting one...") tubes_chan = self.conn.request_channel(telepathy.CHANNEL_TYPE_TUBES, telepathy.HANDLE_TYPE_ROOM, room, True) @@ -159,7 +161,7 @@ class HelloMeshActivity(Activity): self._new_tube_cb(*tube_info) def _list_tubes_error_cb(self, e): - logger.error('ListTubes() failed: %s', e) + self._logger.error('ListTubes() failed: %s', e) def _joined_cb(self, activity): if not self._shared_activity: @@ -167,18 +169,19 @@ class HelloMeshActivity(Activity): # Find out who's already in the shared activity: for buddy in self._shared_activity.get_joined_buddies(): - logger.debug('Buddy %s is already in the activity' % buddy.props.nick) + self._logger.debug('Buddy %s is already in the activity' % buddy.props.nick) - logger.debug('Joined an existing shared activity') + self._logger.debug('Joined an existing shared activity') + self.initiating = False self._setup() - logger.debug('This is not my activity: waiting for a tube...') + self._logger.debug('This is not my activity: waiting for a tube...') self.tubes_chan[telepathy.CHANNEL_TYPE_TUBES].ListTubes( reply_handler=self._list_tubes_reply_cb, error_handler=self._list_tubes_error_cb) def _new_tube_cb(self, id, initiator, type, service, params, state): - logger.debug('New tube: ID=%d initator=%d type=%d service=%s ' + self._logger.debug('New tube: ID=%d initator=%d type=%d service=%s ' 'params=%r state=%d', id, initiator, type, service, params, state) @@ -190,26 +193,26 @@ class HelloMeshActivity(Activity): tube_conn = TubeConnection(self.conn, self.tubes_chan[telepathy.CHANNEL_TYPE_TUBES], id, group_iface=self.text_chan[telepathy.CHANNEL_INTERFACE_GROUP]) - self.hellotube = HelloTube(tube_conn, self._get_buddy) + self.hellotube = HelloTube(tube_conn, self.initiating, self._get_buddy) def _buddy_joined_cb (self, activity, buddy): - logger.debug('Buddy %s joined' % buddy.props.nick) + self._logger.debug('Buddy %s joined' % buddy.props.nick) def _buddy_left_cb (self, activity, buddy): - logger.debug('Buddy %s left' % buddy.props.nick) + self._logger.debug('Buddy %s left' % buddy.props.nick) def _get_buddy(self, cs_handle): """Get a Buddy from a channel specific handle.""" - logger.debug('Trying to find owner of handle %u...', cs_handle) + self._logger.debug('Trying to find owner of handle %u...', cs_handle) group = self.text_chan[telepathy.CHANNEL_INTERFACE_GROUP] my_csh = group.GetSelfHandle() - logger.debug('My handle in that group is %u', my_csh) + self._logger.debug('My handle in that group is %u', my_csh) if my_csh == cs_handle: handle = self.conn.GetSelfHandle() - logger.debug('CS handle %u belongs to me, %u', cs_handle, handle) + self._logger.debug('CS handle %u belongs to me, %u', cs_handle, handle) else: handle = group.GetHandleOwners([cs_handle])[0] - logger.debug('CS handle %u belongs to %u', cs_handle, handle) + self._logger.debug('CS handle %u belongs to %u', cs_handle, handle) # XXX: deal with failure to get the handle owner assert handle != 0 @@ -222,58 +225,56 @@ class HelloMeshActivity(Activity): class HelloTube(ExportedGObject): """The bit that talks over the TUBES!!!""" - def __init__(self, tube, get_buddy): + def __init__(self, tube, is_initiator, get_buddy): self.tube = tube + self.is_initiator = is_initiator self.entered = False # Have we set up the tube? self.helloworld = False # Have we said Hello and received World? self._get_buddy = get_buddy # Converts handle to Buddy object self.tube.watch_participants(self.participant_change_cb) + self._logger = logging.getLogger('hellomesh-activity.HelloTube') def participant_change_cb(self, added, removed): - logger.debug('Adding participants: %r' % added) - logger.debug('Removing participants: %r' % removed) + self._logger.debug('Adding participants: %r' % added) + self._logger.debug('Removing participants: %r' % type(removed)) for handle, bus_name in added: buddy = self._get_buddy(handle) if buddy is not None: - logger.debug('Buddy %s was added' % buddy.props.nick) + self._logger.debug('Buddy %s was added' % buddy.props.nick) for handle in removed: buddy = self._get_buddy(handle) if buddy is not None: - logger.debug('Buddy %s was removed' % buddy.props.nick) + self._logger.debug('Buddy %s was removed' % buddy.props.nick) # Do activity logic with new or removed buddies if not self.entered: - self.tube.add_signal_receiver(self.insert_cb, 'Insert', IFACE, - path=PATH, sender_keyword='sender') + #self.tube.add_signal_receiver(self.insert_cb, 'Insert', IFACE, + # path=PATH, sender_keyword='sender') if self.is_initiator: - _logger.debug('I am the initiator, so making myself player 0') self.add_hello_handler() - self.ordered_bus_names = [self.tube.get_unique_name()] - self.player_id = 0 - self.buddies_panel.add_player(self.owner) else: - _logger.debug('Hello, everyone! What did I miss?') + self._logger.debug('Hello, everyone! What did I miss?') self.Hello() self.entered = True @signal(dbus_interface=IFACE, signature='') def Hello(self): """Say Hello to whoever else is in the tube.""" - _logger.debug('I said Hello.') + self._logger.debug('I said Hello.') @method(dbus_interface=IFACE, in_signature='as', out_signature='') def World(self, name): """To be called on the incoming XO after they Hello.""" if not self.helloworld: - _logger.debug('%s said World.') + self._logger.debug('%s said World.') # now I can World others self.add_hello_handler() #buddy = self._get_buddy(self.tube.bus_name_to_handle[bus_names[0]]) else: - _logger.debug("I've already been welcomed, doing nothing") + self._logger.debug("I've already been welcomed, doing nothing") def add_hello_handler(self): self.tube.add_signal_receiver(self.hello_cb, 'Hello', IFACE, @@ -281,13 +282,13 @@ class HelloTube(ExportedGObject): def hello_cb(self, sender=None): """Somebody Helloed me. World them.""" - _logger.debug('Newcomer %s has joined', sender) + self._logger.debug('Newcomer %s has joined', sender) self.ordered_bus_names.append(sender) if len(self.ordered_bus_names) == 2: buddy = self._get_buddy(self.tube.bus_name_to_handle[sender]) self.buddies_panel.add_player(buddy) - _logger.debug('Bus names are now: %r', self.ordered_bus_names) - _logger.debug('Welcoming newcomer and sending them the game state') + self._logger.debug('Bus names are now: %r', self.ordered_bus_names) + self._logger.debug('Welcoming newcomer and sending them the game state') self.tube.get_object(sender, PATH).World(self.ordered_bus_names, dbus_interface=IFACE) |