summaryrefslogtreecommitdiff
path: root/sleekxmpp/plugins/xep_0325
diff options
context:
space:
mode:
authorLance Stout <lancestout@gmail.com>2014-02-06 09:54:45 -0800
committerLance Stout <lancestout@gmail.com>2014-02-06 09:54:45 -0800
commita2423b849963887415b5b86e556ccda5f9ac2913 (patch)
treec0f0147093b8637fcd12b4f8f065c8d9a8e2aaf0 /sleekxmpp/plugins/xep_0325
parent49acdac7765498f11b79dd826742ce8570aae5d2 (diff)
downloadslixmpp-a2423b849963887415b5b86e556ccda5f9ac2913.tar.gz
slixmpp-a2423b849963887415b5b86e556ccda5f9ac2913.tar.bz2
slixmpp-a2423b849963887415b5b86e556ccda5f9ac2913.tar.xz
slixmpp-a2423b849963887415b5b86e556ccda5f9ac2913.zip
Get the IoT plugins to pass tests on Py3sleek-1.2.01.2.0
Diffstat (limited to 'sleekxmpp/plugins/xep_0325')
-rw-r--r--sleekxmpp/plugins/xep_0325/device.py136
-rw-r--r--sleekxmpp/plugins/xep_0325/stanza/control.py12
2 files changed, 74 insertions, 74 deletions
diff --git a/sleekxmpp/plugins/xep_0325/device.py b/sleekxmpp/plugins/xep_0325/device.py
index 1cb99510..a60d5f9a 100644
--- a/sleekxmpp/plugins/xep_0325/device.py
+++ b/sleekxmpp/plugins/xep_0325/device.py
@@ -11,36 +11,36 @@
import datetime
class Device(object):
- """
- Example implementation of a device control object.
+ """
+ Example implementation of a device control object.
The device object may by any custom implementation to support
specific devices, but it must implement the functions:
has_control_field
set_control_fields
- """
+ """
- def __init__(self, nodeId):
- self.nodeId = nodeId;
- self.control_fields = {};
+ def __init__(self, nodeId):
+ self.nodeId = nodeId;
+ self.control_fields = {};
- def has_control_field(self, field, typename):
- """
- Returns true if the supplied field name exists
- and the type matches for control in this device.
+ def has_control_field(self, field, typename):
+ """
+ Returns true if the supplied field name exists
+ and the type matches for control in this device.
Arguments:
- field -- The field name
+ field -- The field name
typename -- The expected type
- """
- if field in self.control_fields and self.control_fields[field]["type"] == typename:
- return True;
- return False;
+ """
+ if field in self.control_fields and self.control_fields[field]["type"] == typename:
+ return True;
+ return False;
- def set_control_fields(self, fields, session, callback):
- """
- Starts a control setting procedure. Verifies the fields,
- sets the data and (if needed) and calls the callback.
+ def set_control_fields(self, fields, session, callback):
+ """
+ Starts a control setting procedure. Verifies the fields,
+ sets the data and (if needed) and calls the callback.
Arguments:
fields -- List of control fields in tuple format:
@@ -48,50 +48,50 @@ class Device(object):
session -- Session id, only used in the callback as identifier
callback -- Callback function to call when control set is complete.
- The callback function must support the following arguments:
+ The callback function must support the following arguments:
- session -- Session id, as supplied in the
- request_fields call
- nodeId -- Identifier for this device
- result -- The current result status of the readout.
- Valid values are:
+ session -- Session id, as supplied in the
+ request_fields call
+ nodeId -- Identifier for this device
+ result -- The current result status of the readout.
+ Valid values are:
"error" - Set fields failed.
"ok" - All fields were set.
- error_field -- [optional] Only applies when result == "error"
- The field name that failed
- (usually means it is missing)
- error_msg -- [optional] Only applies when result == "error".
- Error details when a request failed.
- """
-
- if len(fields) > 0:
- # Check availiability
- for name, typename, value in fields:
- if not self.has_control_field(name, typename):
- self._send_control_reject(session, name, "NotFound", callback)
- return False;
-
- for name, typename, value in fields:
- self._set_field_value(name, value)
-
- callback(session, result="ok", nodeId=self.nodeId);
- return True
-
- def _send_control_reject(self, session, field, message, callback):
- """
- Sends a reject to the caller
+ error_field -- [optional] Only applies when result == "error"
+ The field name that failed
+ (usually means it is missing)
+ error_msg -- [optional] Only applies when result == "error".
+ Error details when a request failed.
+ """
+
+ if len(fields) > 0:
+ # Check availiability
+ for name, typename, value in fields:
+ if not self.has_control_field(name, typename):
+ self._send_control_reject(session, name, "NotFound", callback)
+ return False;
+
+ for name, typename, value in fields:
+ self._set_field_value(name, value)
+
+ callback(session, result="ok", nodeId=self.nodeId);
+ return True
+
+ def _send_control_reject(self, session, field, message, callback):
+ """
+ Sends a reject to the caller
Arguments:
session -- Session id, see definition in
set_control_fields function
callback -- Callback function, see definition in
set_control_fields function
- """
- callback(session, result="error", nodeId=self.nodeId, error_field=field, error_msg=message);
+ """
+ callback(session, result="error", nodeId=self.nodeId, error_field=field, error_msg=message);
- def _add_control_field(self, name, typename, value):
- """
- Adds a control field to the device
+ def _add_control_field(self, name, typename, value):
+ """
+ Adds a control field to the device
Arguments:
name -- Name of the field
@@ -99,27 +99,27 @@ class Device(object):
(boolean, color, string, date, dateTime,
double, duration, int, long, time)
value -- Field value
- """
- self.control_fields[name] = {"type": typename, "value": value};
+ """
+ self.control_fields[name] = {"type": typename, "value": value};
- def _set_field_value(self, name, value):
- """
- Set the value of a control field
+ def _set_field_value(self, name, value):
+ """
+ Set the value of a control field
Arguments:
name -- Name of the field
value -- New value for the field
- """
- if name in self.control_fields:
- self.control_fields[name]["value"] = value;
+ """
+ if name in self.control_fields:
+ self.control_fields[name]["value"] = value;
- def _get_field_value(self, name):
- """
- Get the value of a control field. Only used for unit testing.
+ def _get_field_value(self, name):
+ """
+ Get the value of a control field. Only used for unit testing.
Arguments:
name -- Name of the field
- """
- if name in self.control_fields:
- return self.control_fields[name]["value"];
- return None;
+ """
+ if name in self.control_fields:
+ return self.control_fields[name]["value"];
+ return None;
diff --git a/sleekxmpp/plugins/xep_0325/stanza/control.py b/sleekxmpp/plugins/xep_0325/stanza/control.py
index 2707191f..67107ecb 100644
--- a/sleekxmpp/plugins/xep_0325/stanza/control.py
+++ b/sleekxmpp/plugins/xep_0325/stanza/control.py
@@ -83,10 +83,10 @@ class ControlSet(ElementBase):
def get_nodes(self):
"""Return all nodes."""
- nodes = set()
+ nodes = []
for node in self['substanzas']:
if isinstance(node, RequestNode):
- nodes.add(node)
+ nodes.append(node)
return nodes
def set_nodes(self, nodes):
@@ -175,10 +175,10 @@ class ControlSet(ElementBase):
def get_datas(self):
""" Return all data elements. """
- datas = set()
+ datas = []
for data in self['substanzas']:
if isinstance(data, BaseParameter):
- datas.add(data)
+ datas.append(data)
return datas
def set_datas(self, datas):
@@ -274,10 +274,10 @@ class ControlSetResponse(ElementBase):
def get_nodes(self):
"""Return all nodes."""
- nodes = set()
+ nodes = []
for node in self['substanzas']:
if isinstance(node, RequestNode):
- nodes.add(node)
+ nodes.append(node)
return nodes
def set_nodes(self, nodes):