services/presence/activity: wrap long lines, remove trailing whitespace

This commit is contained in:
Simon McVittie 2007-05-25 10:56:14 +01:00
parent cb84d5f8fd
commit a5ba8541a4

View File

@ -51,16 +51,19 @@ class Activity(ExportedGObject):
__gproperties__ = { __gproperties__ = {
_PROP_ID : (str, None, None, None, _PROP_ID : (str, None, None, None,
gobject.PARAM_READWRITE | gobject.PARAM_CONSTRUCT_ONLY), gobject.PARAM_READWRITE |
gobject.PARAM_CONSTRUCT_ONLY),
_PROP_NAME : (str, None, None, None, gobject.PARAM_READWRITE), _PROP_NAME : (str, None, None, None, gobject.PARAM_READWRITE),
_PROP_COLOR : (str, None, None, None, gobject.PARAM_READWRITE), _PROP_COLOR : (str, None, None, None, gobject.PARAM_READWRITE),
_PROP_TYPE : (str, None, None, None, gobject.PARAM_READWRITE), _PROP_TYPE : (str, None, None, None, gobject.PARAM_READWRITE),
_PROP_VALID : (bool, None, None, False, gobject.PARAM_READABLE), _PROP_VALID : (bool, None, None, False, gobject.PARAM_READABLE),
_PROP_LOCAL : (bool, None, None, False, _PROP_LOCAL : (bool, None, None, False,
gobject.PARAM_READWRITE | gobject.PARAM_CONSTRUCT_ONLY), gobject.PARAM_READWRITE |
gobject.PARAM_CONSTRUCT_ONLY),
_PROP_JOINED : (bool, None, None, False, gobject.PARAM_READABLE), _PROP_JOINED : (bool, None, None, False, gobject.PARAM_READABLE),
_PROP_CUSTOM_PROPS : (object, None, None, _PROP_CUSTOM_PROPS : (object, None, None,
gobject.PARAM_READWRITE | gobject.PARAM_CONSTRUCT_ONLY) gobject.PARAM_READWRITE |
gobject.PARAM_CONSTRUCT_ONLY)
} }
_RESERVED_PROPNAMES = __gproperties__.keys() _RESERVED_PROPNAMES = __gproperties__.keys()
@ -118,10 +121,12 @@ class Activity(ExportedGObject):
self._custom_props = {} self._custom_props = {}
# ensure no reserved property names are in custom properties # ensure no reserved property names are in custom properties
if kwargs.get(_PROP_CUSTOM_PROPS): cprops = kwargs.get(_PROP_CUSTOM_PROPS)
(rprops, cprops) = self._split_properties(kwargs.get(_PROP_CUSTOM_PROPS)) if cprops is not None:
(rprops, cprops) = self._split_properties(cprops)
if len(rprops.keys()) > 0: if len(rprops.keys()) > 0:
raise ValueError("Cannot use reserved property names '%s'" % ", ".join(rprops.keys())) raise ValueError("Cannot use reserved property names '%s'"
% ", ".join(rprops.keys()))
if not kwargs.get(_PROP_ID): if not kwargs.get(_PROP_ID):
raise ValueError("activity id is required") raise ValueError("activity id is required")
@ -131,7 +136,8 @@ class Activity(ExportedGObject):
ExportedGObject.__init__(self, bus_name, self._object_path, ExportedGObject.__init__(self, bus_name, self._object_path,
gobject_properties=kwargs) gobject_properties=kwargs)
if self.props.local and not self.props.valid: if self.props.local and not self.props.valid:
raise RuntimeError("local activities require color, type, and name") raise RuntimeError("local activities require color, type, and "
"name")
# If not yet valid, query activity properties # If not yet valid, query activity properties
if not self.props.valid: if not self.props.valid:
@ -166,8 +172,8 @@ class Activity(ExportedGObject):
pspec -- Property specifier pspec -- Property specifier
value -- Desired value value -- Desired value
Note that the "type" property can be set only once; attempting to set it Note that the "type" property can be set only once; attempting to set
to something different later will raise a RuntimeError. it to something different later will raise a RuntimeError.
""" """
if pspec.name == _PROP_ID: if pspec.name == _PROP_ID:
@ -197,7 +203,8 @@ class Activity(ExportedGObject):
self._update_validity() self._update_validity()
def _update_validity(self): def _update_validity(self):
"""Sends a "validity-changed" signal if this activity's validity has changed. """Sends a "validity-changed" signal if this activity's validity has
changed.
Determines whether this activity's status has changed from valid to Determines whether this activity's status has changed from valid to
invalid, or invalid to valid, and emits a "validity-changed" signal invalid, or invalid to valid, and emits a "validity-changed" signal
@ -240,7 +247,8 @@ class Activity(ExportedGObject):
@dbus.service.signal(_ACTIVITY_INTERFACE, @dbus.service.signal(_ACTIVITY_INTERFACE,
signature="o") signature="o")
def NewChannel(self, channel_path): def NewChannel(self, channel_path):
"""Generates DBUS signal when a new channel is created for this activity. """Generates DBUS signal when a new channel is created for this
activity.
channel_path -- DBUS path to new channel channel_path -- DBUS path to new channel
@ -278,13 +286,15 @@ class Activity(ExportedGObject):
""" """
return self.props.type return self.props.type
@dbus.service.method(_ACTIVITY_INTERFACE, in_signature="", out_signature="", @dbus.service.method(_ACTIVITY_INTERFACE,
in_signature="", out_signature="",
async_callbacks=('async_cb', 'async_err_cb')) async_callbacks=('async_cb', 'async_err_cb'))
def Join(self, async_cb, async_err_cb): def Join(self, async_cb, async_err_cb):
"""DBUS method to for the local user to attempt to join the activity """DBUS method to for the local user to attempt to join the activity
async_cb -- Callback method to be called if join attempt is successful async_cb -- Callback method to be called if join attempt is successful
async_err_cb -- Callback method to be called if join attempt is unsuccessful async_err_cb -- Callback method to be called if join attempt is
unsuccessful
""" """
self.join(async_cb, async_err_cb) self.join(async_cb, async_err_cb)
@ -292,7 +302,8 @@ class Activity(ExportedGObject):
@dbus.service.method(_ACTIVITY_INTERFACE, @dbus.service.method(_ACTIVITY_INTERFACE,
in_signature="", out_signature="ao") in_signature="", out_signature="ao")
def GetJoinedBuddies(self): def GetJoinedBuddies(self):
"""DBUS method to return a list of valid buddies who are joined in this activity """DBUS method to return a list of valid buddies who are joined in
this activity
returns A list of buddy object paths returns A list of buddy object paths
""" """
@ -305,10 +316,11 @@ class Activity(ExportedGObject):
@dbus.service.method(_ACTIVITY_INTERFACE, @dbus.service.method(_ACTIVITY_INTERFACE,
in_signature="", out_signature="soao") in_signature="", out_signature="soao")
def GetChannels(self): def GetChannels(self):
"""DBUS method to get the list of channels associated with this activity """DBUS method to get the list of channels associated with this
activity
returns XXX - Not sure what this returns as get_channels doesn't actually return returns XXX - Not sure what this returns as get_channels doesn't
a list of channels! actually return a list of channels!
""" """
return self.get_channels() return self.get_channels()
@ -330,7 +342,8 @@ class Activity(ExportedGObject):
return dbus.ObjectPath(self._object_path) return dbus.ObjectPath(self._object_path)
def get_joined_buddies(self): def get_joined_buddies(self):
"""Local method to return a list of valid buddies who are joined in this activity """Local method to return a list of valid buddies who are joined in
this activity
This method is called by the PresenceService on the local machine. This method is called by the PresenceService on the local machine.
@ -347,7 +360,9 @@ class Activity(ExportedGObject):
buddy -- Buddy object representing the buddy being added buddy -- Buddy object representing the buddy being added
Adds a buddy to this activity if the buddy is not already in the buddy list. Adds a buddy to this activity if the buddy is not already in the
buddy list.
If this activity is "valid", a BuddyJoined signal is also sent. If this activity is "valid", a BuddyJoined signal is also sent.
This method is called by the PresenceService on the local machine. This method is called by the PresenceService on the local machine.
@ -378,7 +393,8 @@ class Activity(ExportedGObject):
Called by the _shared_cb and _joined_cb methods. Called by the _shared_cb and _joined_cb methods.
""" """
if not text_channel: if not text_channel:
_logger.debug("Error sharing: text channel was None, shouldn't happen") _logger.debug("Error sharing: text channel was None, shouldn't "
"happen")
raise RuntimeError("Plugin returned invalid text channel") raise RuntimeError("Plugin returned invalid text channel")
self._text_channel = text_channel self._text_channel = text_channel
@ -410,15 +426,17 @@ class Activity(ExportedGObject):
def _share(self, (async_cb, async_err_cb), owner): def _share(self, (async_cb, async_err_cb), owner):
"""XXX - not documented yet """XXX - not documented yet
XXX - This method is called externally by the PresenceService despite the fact XXX - This method is called externally by the PresenceService
that this is supposed to be an internal method! despite the fact that this is supposed to be an internal method!
""" """
_logger.debug("Starting share of activity %s" % self._id) _logger.debug("Starting share of activity %s" % self._id)
if self._joined: if self._joined:
async_err_cb(RuntimeError("Already shared activity %s" % self.props.id)) async_err_cb(RuntimeError("Already shared activity %s"
% self.props.id))
return return
sigid = self._tp.connect('activity-shared', self._shared_cb) sigid = self._tp.connect('activity-shared', self._shared_cb)
self._tp.share_activity(self.props.id, (sigid, owner, async_cb, async_err_cb)) self._tp.share_activity(self.props.id, (sigid, owner, async_cb,
async_err_cb))
_logger.debug("done with share attempt %s" % self._id) _logger.debug("done with share attempt %s" % self._id)
def _joined_cb(self, tp, activity_id, text_channel, exc, userdata): def _joined_cb(self, tp, activity_id, text_channel, exc, userdata):
@ -441,27 +459,30 @@ class Activity(ExportedGObject):
"""Local method for the local user to attempt to join the activity. """Local method for the local user to attempt to join the activity.
async_cb -- Callback method to be called if join attempt is successful async_cb -- Callback method to be called if join attempt is successful
async_err_cb -- Callback method to be called if join attempt is unsuccessful async_err_cb -- Callback method to be called if join attempt is
unsuccessful
The two callbacks are passed to the server_plugin ("tp") object, which in turn
passes them back as parameters in a callback to the _joined_cb method; this
callback is set up within this method.
The two callbacks are passed to the server_plugin ("tp") object,
which in turn passes them back as parameters in a callback to the
_joined_cb method; this callback is set up within this method.
""" """
if self._joined: if self._joined:
async_err_cb(RuntimeError("Already joined activity %s" % self.props.id)) async_err_cb(RuntimeError("Already joined activity %s"
% self.props.id))
return return
sigid = self._tp.connect('activity-joined', self._joined_cb) sigid = self._tp.connect('activity-joined', self._joined_cb)
self._tp.join_activity(self.props.id, (sigid, async_cb, async_err_cb)) self._tp.join_activity(self.props.id, (sigid, async_cb, async_err_cb))
def get_channels(self): def get_channels(self):
"""Local method to get the list of channels associated with this activity """Local method to get the list of channels associated with this
activity
returns XXX - expected a list of channels, instead returning a tuple? ??? returns XXX - expected a list of channels, instead returning a tuple?
""" """
conn = self._tp.get_connection() conn = self._tp.get_connection()
# FIXME add tubes and others channels # FIXME add tubes and others channels
return str(conn.service_name), conn.object_path, [self._text_channel.object_path] return (str(conn.service_name), conn.object_path,
[self._text_channel.object_path])
def leave(self): def leave(self):
"""Local method called when the user wants to leave the activity. """Local method called when the user wants to leave the activity.
@ -496,14 +517,16 @@ class Activity(ExportedGObject):
self._tp.set_activity_properties(self.props.id, props) self._tp.set_activity_properties(self.props.id, props)
def set_properties(self, properties): def set_properties(self, properties):
"""Sets name, colour and/or type properties for this activity all at once. """Sets name, colour and/or type properties for this activity all
at once.
properties - Dictionary object containing properties keyed by property names properties - Dictionary object containing properties keyed by
property names
Note that if any of the name, colour and/or type property values is changed from Note that if any of the name, colour and/or type property values is
what it originally was, the update_validity method will be called, resulting in changed from what it originally was, the update_validity method will
a "validity-changed" signal being generated. Called by the PresenceService be called, resulting in a "validity-changed" signal being generated.
on the local machine. Called by the PresenceService on the local machine.
""" """
changed = False changed = False
# split reserved properties from activity-custom properties # split reserved properties from activity-custom properties
@ -525,7 +548,8 @@ class Activity(ExportedGObject):
if type != self._type: if type != self._type:
# Type can never be changed after first set # Type can never be changed after first set
if self._type: if self._type:
_logger.debug("Activity type changed by network; this is illegal") _logger.debug("Activity type changed by network; this "
"is illegal")
else: else:
self._type = type self._type = type
changed = True changed = True
@ -540,9 +564,11 @@ class Activity(ExportedGObject):
def _split_properties(self, properties): def _split_properties(self, properties):
"""Extracts reserved properties. """Extracts reserved properties.
properties - Dictionary object containing properties keyed by property names properties - Dictionary object containing properties keyed by
property names
returns a tuple of 2 dictionaries, reserved properties and custom properties returns a tuple of 2 dictionaries, reserved properties and custom
properties
""" """
rprops = {} rprops = {}
cprops = {} cprops = {}