def devices(self, details=False): """ Get a list of devices :param details: Get the details of the devices :type details: ``bool`` :rtype: ``list`` of :class:`Device` """ response = self.get('api/device', {'extended_fetch': 1} if details else {}) devices = [] if details: for uri, device in response.json()['result_set'].items(): devices.append(Device(device, uri, self, True)) else: for device in response.json()['result_set']: devices.append(Device(device, device['URI'], self, False)) return devices
def get_device(self, device_id): """ Get a devices :param device_id: The id of the device :type device_id: ``int`` :rtype: ``list`` of :class:`Device` """ if not isinstance(device_id, int): raise TypeError('Device ID must be integer') uri = 'api/device/%s' % device_id device = self.session.get('%s/%s' % (self.uri, uri)).json() return Device(device, uri, self, True)
def test_device_bad_values(self): with self.assertRaises(TypeError): Device('me', 'pass', 'potato!')
def test_device_bad_param(self): with self.assertRaises(TypeError): Device('potato!')