示例#1
0
 def get(self, device_id):
     auth_api_request = AuthApiRequest(self._api)
     auth_api_request.url('device/{deviceId}', deviceId=device_id)
     auth_api_request.action('device/get')
     auth_api_request.response_key('device')
     device = auth_api_request.execute('Device get failure.')
     self._init(device)
示例#2
0
 def create_user(self,
                 login,
                 password,
                 role,
                 data,
                 all_device_types_available=True):
     status = User.ACTIVE_STATUS
     user = {
         User.LOGIN_KEY: login,
         User.ROLE_KEY: role,
         User.STATUS_KEY: status,
         User.DATA_KEY: data,
         User.PASSWORD_KEY: password,
         User.ALL_DEVICE_TYPES_KEY: all_device_types_available
     }
     auth_api_request = AuthApiRequest(self)
     auth_api_request.method('POST')
     auth_api_request.url('user')
     auth_api_request.action('user/insert')
     auth_api_request.set('user', user, True)
     auth_api_request.response_key('user')
     user = auth_api_request.execute('User create failure.')
     user[User.LOGIN_KEY] = login
     user[User.ROLE_KEY] = role
     user[User.STATUS_KEY] = status
     user[User.DATA_KEY] = data
     return User(self, user)
示例#3
0
 def get(self, user_id):
     auth_api_request = AuthApiRequest(self._api)
     auth_api_request.url('user/{userId}', userId=user_id)
     auth_api_request.action('user/get')
     auth_api_request.response_key('user')
     user = auth_api_request.execute('User get failure.')
     self._init(user)
示例#4
0
 def get_current(self):
     auth_api_request = AuthApiRequest(self._api)
     auth_api_request.url('user/current')
     auth_api_request.action('user/getCurrent')
     auth_api_request.response_key('current')
     user = auth_api_request.execute('Current user get failure.')
     self._init(user)
示例#5
0
 def send_command(self,
                  device_id,
                  command_name,
                  parameters=None,
                  lifetime=None,
                  timestamp=None,
                  status=None,
                  result=None):
     command = {Command.COMMAND_KEY: command_name}
     if parameters:
         command[Command.PARAMETERS_KEY] = parameters
     if lifetime:
         command[Command.LIFETIME_KEY] = lifetime
     if timestamp:
         command[Command.TIMESTAMP_KEY] = timestamp
     if status:
         command[Command.STATUS_KEY] = status
     if result:
         command[Command.RESULT_KEY] = result
     auth_api_request = AuthApiRequest(self)
     auth_api_request.method('POST')
     auth_api_request.url('device/{deviceId}/command', deviceId=device_id)
     auth_api_request.action('command/insert')
     auth_api_request.set('command', command, True)
     auth_api_request.response_key('command')
     command = auth_api_request.execute('Command send failure.')
     command[Command.DEVICE_ID_KEY] = device_id
     command[Command.COMMAND_KEY] = command_name
     command[Command.PARAMETERS_KEY] = parameters
     command[Command.LIFETIME_KEY] = lifetime
     command[Command.STATUS_KEY] = status
     command[Command.RESULT_KEY] = result
     return Command(self, command)
示例#6
0
 def get(self, network_id):
     auth_api_request = AuthApiRequest(self._api)
     auth_api_request.url('network/{id}', id=network_id)
     auth_api_request.action('network/get')
     auth_api_request.response_key('network')
     network = auth_api_request.execute('Network get failure.')
     self._init(network)
示例#7
0
 def set_property(self, name, value):
     auth_api_request = AuthApiRequest(self)
     auth_api_request.method('PUT')
     auth_api_request.url('configuration/{name}', name=name)
     auth_api_request.action('configuration/put')
     auth_api_request.set('value', value)
     auth_api_request.response_key('configuration')
     configuration = auth_api_request.execute('Set property failure.')
     return {'entity_version': configuration['entityVersion']}
示例#8
0
 def list_device_types(self):
     self._ensure_exists()
     auth_api_request = AuthApiRequest(self._api)
     auth_api_request.url('user/{userId}/devicetype', userId=self._id)
     auth_api_request.action('user/getDeviceTypes')
     auth_api_request.response_key('deviceTypes')
     device_types = auth_api_request.execute('List device types failure.')
     return [
         DeviceType(self._api, device_type) for device_type in device_types
     ]
示例#9
0
 def list_networks(self):
     self._ensure_exists()
     auth_api_request = AuthApiRequest(self._api)
     auth_api_request.url('user/{userId}', userId=self._id)
     auth_api_request.action('user/get')
     auth_api_request.response_key('user')
     user = auth_api_request.execute('List networks failure.')
     return [
         Network(self._api, network) for network in user[User.NETWORKS_KEY]
     ]
示例#10
0
 def get_property(self, name):
     auth_api_request = AuthApiRequest(self)
     auth_api_request.url('configuration/{name}', name=name)
     auth_api_request.action('configuration/get')
     auth_api_request.response_key('configuration')
     configuration = auth_api_request.execute('Get property failure.')
     return {
         'entity_version': configuration['entityVersion'],
         'name': configuration['name'],
         'value': configuration['value']
     }
示例#11
0
 def create_device_type(self, name, description):
     device_type = {
         DeviceType.NAME_KEY: name,
         DeviceType.DESCRIPTION_KEY: description
     }
     auth_api_request = AuthApiRequest(self)
     auth_api_request.method('POST')
     auth_api_request.url('devicetype')
     auth_api_request.action('devicetype/insert')
     auth_api_request.set('deviceType', device_type, True)
     auth_api_request.response_key('deviceType')
     device_type = auth_api_request.execute('Device type create failure.')
     device_type[DeviceType.NAME_KEY] = name
     device_type[DeviceType.DESCRIPTION_KEY] = description
     return DeviceType(self, device_type)
示例#12
0
 def create_network(self, name, description):
     network = {
         Network.NAME_KEY: name,
         Network.DESCRIPTION_KEY: description
     }
     auth_api_request = AuthApiRequest(self)
     auth_api_request.method('POST')
     auth_api_request.url('network')
     auth_api_request.action('network/insert')
     auth_api_request.set('network', network, True)
     auth_api_request.response_key('network')
     network = auth_api_request.execute('Network create failure.')
     network[Network.NAME_KEY] = name
     network[Network.DESCRIPTION_KEY] = description
     return Network(self, network)
示例#13
0
 def list_device_types(self,
                       name=None,
                       name_pattern=None,
                       sort_field=None,
                       sort_order=None,
                       take=None,
                       skip=None):
     auth_api_request = AuthApiRequest(self)
     auth_api_request.url('devicetype')
     auth_api_request.action('devicetype/list')
     auth_api_request.param('name', name)
     auth_api_request.param('namePattern', name_pattern)
     auth_api_request.param('sortField', sort_field)
     auth_api_request.param('sortOrder', sort_order)
     auth_api_request.param('take', take)
     auth_api_request.param('skip', skip)
     auth_api_request.response_key('deviceTypes')
     device_types = auth_api_request.execute('List device types failure.')
     return [DeviceType(self, device_type) for device_type in device_types]
示例#14
0
 def list_networks(self,
                   name=None,
                   name_pattern=None,
                   sort_field=None,
                   sort_order=None,
                   take=None,
                   skip=None):
     auth_api_request = AuthApiRequest(self)
     auth_api_request.url('network')
     auth_api_request.action('network/list')
     auth_api_request.param('name', name)
     auth_api_request.param('namePattern', name_pattern)
     auth_api_request.param('sortField', sort_field)
     auth_api_request.param('sortOrder', sort_order)
     auth_api_request.param('take', take)
     auth_api_request.param('skip', skip)
     auth_api_request.response_key('networks')
     networks = auth_api_request.execute('List networks failure.')
     return [Network(self, network) for network in networks]
示例#15
0
 def send_notification(self,
                       device_id,
                       notification_name,
                       parameters=None,
                       timestamp=None):
     notification = {'notification': notification_name}
     if parameters:
         notification['parameters'] = parameters
     if timestamp:
         notification['timestamp'] = timestamp
     auth_api_request = AuthApiRequest(self)
     auth_api_request.method('POST')
     auth_api_request.url('device/{deviceId}/notification',
                          deviceId=device_id)
     auth_api_request.action('notification/insert')
     auth_api_request.set('notification', notification, True)
     auth_api_request.response_key('notification')
     notification = auth_api_request.execute('Notification send failure.')
     notification[Notification.DEVICE_ID_KEY] = device_id
     notification[Notification.NOTIFICATION_KEY] = notification_name
     notification[Notification.PARAMETERS_KEY] = parameters
     return Notification(notification)
示例#16
0
 def list_users(self,
                login=None,
                login_pattern=None,
                role=None,
                status=None,
                sort_field=None,
                sort_order=None,
                take=None,
                skip=None):
     auth_api_request = AuthApiRequest(self)
     auth_api_request.url('user')
     auth_api_request.action('user/list')
     auth_api_request.param('login', login)
     auth_api_request.param('loginPattern', login_pattern)
     auth_api_request.param('role', role)
     auth_api_request.param('status', status)
     auth_api_request.param('sortField', sort_field)
     auth_api_request.param('sortOrder', sort_order)
     auth_api_request.param('take', take)
     auth_api_request.param('skip', skip)
     auth_api_request.response_key('users')
     users = auth_api_request.execute('List users failure.')
     return [User(self, user) for user in users]
示例#17
0
 def list_notifications(self,
                        device_id,
                        start=None,
                        end=None,
                        notification=None,
                        sort_field=None,
                        sort_order=None,
                        take=None,
                        skip=None):
     auth_api_request = AuthApiRequest(self)
     auth_api_request.url('device/{deviceId}/notification',
                          deviceId=device_id)
     auth_api_request.action('notification/list')
     auth_api_request.param('start', start)
     auth_api_request.param('end', end)
     auth_api_request.param('notification', notification)
     auth_api_request.param('sortField', sort_field)
     auth_api_request.param('sortOrder', sort_order)
     auth_api_request.param('take', take)
     auth_api_request.param('skip', skip)
     auth_api_request.response_key('notifications')
     notifications = auth_api_request.execute('List notifications failure.')
     return [Notification(notification) for notification in notifications]
示例#18
0
 def list_commands(self,
                   device_id,
                   start=None,
                   end=None,
                   command=None,
                   status=None,
                   sort_field=None,
                   sort_order=None,
                   take=None,
                   skip=None):
     auth_api_request = AuthApiRequest(self)
     auth_api_request.url('device/{deviceId}/command', deviceId=device_id)
     auth_api_request.action('command/list')
     auth_api_request.param('start', start)
     auth_api_request.param('end', end)
     auth_api_request.param('command', command)
     auth_api_request.param('status', status)
     auth_api_request.param('sortField', sort_field)
     auth_api_request.param('sortOrder', sort_order)
     auth_api_request.param('take', take)
     auth_api_request.param('skip', skip)
     auth_api_request.response_key('commands')
     commands = auth_api_request.execute('List commands failure.')
     return [Command(self, command) for command in commands]