Development Team/Almanac/Sugar.presence.presenceservice
Class: PresenceService (gobject.GObject)
The standard [Sugar.activity.activity#Class:_ActivityToolbar_.28gtk.Toolbar.29 sugar ActivityToolbar] already contains a dropdown menu that allows users to make their activities public or private on the mesh network. To use this toolbar, you can simply use the [Sugar.activity.activity#Class:_ActivityToolbox_.28Toolbox.29 ActivityToolbox] in your activity, which adds the ActivityToolbar by default. You can see code on how to do this by reading the entry on [Sugar.activity.activity#What_is_the_standard_toolbox_needed_in_most_activities_and_how_do_I_create_it.3F creating a standard toolbox].
How do I get a list of buddies that are presently available on my mesh network?
The PresenceService class has a helper method called get_buddies() that will return a list of sugar.presence.buddy.Buddy objects. The code below shows how you can get a list of available buddies and print out some relevant properties for each.
from sugar.presence import presenceservice ... #### Method: _print_buddy_info, which finds all the buddies detected for this # XO and then prints their relevant properties. def _print_buddy_info(self): ps = presenceservice.PresenceService() buddies = ps.get_buddies() for currBuddy in buddies: print '----------------------- ' + currBuddy.get_property('nick') + ': ' print currBuddy.get_property('key') print currBuddy.get_property('color') print currBuddy.get_property('current-activity') print currBuddy.get_property('owner') print currBuddy.get_property('ip4-address') print ''