Example #1
0
	def route(self, func):
		if (func == 'getall'):
			return {k:v for k, v in self.config.iteritems()}
				
		elif (func == 'get'):
			item = bh.get_string('item')
			if not item:
				return { 'error' : 'Item not set' }
			if item in self.config:
				return self.config[item]
		
		elif (func == 'set'):
			item = bh.get_string('item')
			if not item:
				return { 'error' : 'Item not set' }
			if not item in self.config:
				return { 'error' : 'Item not found' }
			value = bh.get_string('value')
			if item == 'password' and not value == '':
				value = generate_password_hash(value)
	
			self.config[item] = value
			result = self.config.validate(self.validator)
			return bh.success_response()
			
		bh.raise404()
Example #2
0
    def route(self, func):
        if (func == 'getall'):
            return {k: v for k, v in self.config.iteritems()}

        elif (func == 'get'):
            item = bh.get_string('item')
            if not item:
                return {'error': 'Item not set'}
            if item in self.config:
                return self.config[item]

        elif (func == 'set'):
            item = bh.get_string('item')
            if not item:
                return {'error': 'Item not set'}
            if not item in self.config:
                return {'error': 'Item not found'}
            value = bh.get_string('value')
            if item == 'password' and not value == '':
                value = generate_password_hash(value)

            self.config[item] = value
            result = self.config.validate(self.validator)
            return bh.success_response()

        bh.raise404()
Example #3
0
	def device_set_parameter(self, device, attr):
		if (attr == 'parameter'):
			resp = device.set_parameter(bh.get_string('parameter'), bh.get_string('value'))
		elif attr in ['name', 'model', 'protocol']:
			value = bh.get_string(attr)
			if value is None: return "Attribute \"" + attr + "\" not found"
			resp = device.__setattr__(attr, value)
		else: bh.raise404()
		if resp: return TELLSTICK_SUCCESS
		else: return TELLSTICK_ERROR_NOT_FOUND
Example #4
0
	def set(self, func):
		item = bh.get_string('item')
		if not item:
			return { 'error' : 'Item not set' }
		if not item in self.config:
			return { 'error' : 'Item not found' }
		value = bh.get_string('value')
		if item == 'password' and not value == '':
			value = generate_password_hash(value)

		self.config[item] = value
		result = self.config.validate(self.validator)
		return bh.success_response()
Example #5
0
	def add_device(self):
		if (self.config['editable'] is False):
			return "Client is not editable"

		clientid = bh.get_int('id')
		if (clientid != self.config['client_id']):
			return "Client \"" + str(clientid) + "\" not found!"

		try:
			return self.core.add_device(
				bh.get_string('name'),
				bh.get_string('protocol'),
				bh.get_string('model'))
		except Exception as e:
			return e
Example #6
0
	def route_sensor(self, func):
		# The ID should be an integer, but we store them in the dictionary as
		# strings, so treat as such
		id = str(bh.get_int('id'))
		
		self.load_sensors()
		resp = TELLSTICK_SUCCESS
		if (self.sensors.has_key(id)):
			sensor = self.sensors[id]
			if (func == 'info'):
				return self.sensor_to_dict(sensor, True)
			elif (func == 'setignore'):
				sensor.ignore = 1 if bh.get_int('ignore') == 1 else 0
			elif (func == 'setname'):
				sensor.name = bh.get_string('name')
				
			if resp is None: bh.raise404()
		else:
			resp = "Sensor " + "\"" + str(id) + "\" not found!"
		
		return self.map_response(resp)
Example #7
0
	def get(self, func):
		item = bh.get_string('item')
		if not item:
			return { 'error' : 'Item not set' }
		if item in self.config:
			return self.config[item]
Example #8
0
	def check_apikey(self):
		if not self.config['apikey']:
			return True
		key = bh.get_string('key')
		return key == self.config['apikey']
Example #9
0
 def check_apikey(self):
     if not self.config['apikey']:
         return True
     key = bh.get_string('key')
     return key == self.config['apikey']