Coverage for coherence/upnp/core/variable.py : 65%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
# Licensed under the MIT license # http://opensource.org/licenses/mit-license.php
# Copyright (C) 2006 Fluendo, S.A. (www.fluendo.com). # Copyright 2006, Frank Scholz <coherence@beebits.net>
# FIXME: there is some circular import, # service imports variable, variable imports service # how is this done properly? except ImportError: from . import service
send_events, data_type, allowed_values):
self.allowed_values = []
else: r.append(('Evented', 'no')) len(self.allowed_values) > 0: r.append(('Allowed Values', ','.join(self.allowed_values)))
if not isinstance(values, (list, tuple)): values = [values] self.allowed_values = values
self.allowed_value_range = kwargs
return self.allowed_values
self.never_evented = utils.means_true(value)
self.service) if isinstance(value, tuple): v = old_value.split(',') i = 0 while i < len(v): if v[i] == str(value[0]): del v[i:i + 2] old_value = ','.join(v) break i += 2 if len(old_value): new_value = old_value + ',' + str( value[0]) + ',' + str(value[1]) else: new_value = str(value[0]) + ',' + str(value[1]) else: if len(old_value): new_value = str(old_value) + ',' + str(value) else: new_value = str(value) else: new_value = str(value[0]) + ',' + str(value[1]) else: else: isinstance(value, set)): value = list(value) value = [value] else: v = str(v) if self.has_vendor_values: new_value.append(v) elif v.upper() in [x.upper() for x in self.allowed_values]: new_value.append(v) else: self.warning( "Variable %s update, %r value %s " "doesn't fit in %r", self.name, self.has_vendor_values, v, self.allowed_values) new_value = 'Coherence_Value_Error' else: new_value = utils.generalise_boolean(value) new_value = value else: else: value = str(value) if self.has_vendor_values: new_value = value elif value.upper() in [v.upper() for v in self.allowed_values]: new_value = value else: self.warning( "Variable %s NOT updated, value %s doesn't fit", self.name, value) new_value = 'Coherence_Value_Error' else: new_value = utils.generalise_boolean(value) new_value = value else: except ValueError: new_value = 'Coherence_Value_Error'
return self.value)
# print("UPDATED %s %r %r %r %r %r" % ( # self.name, self.service, # isinstance(self.service, service.Service), # self.instance, self.value, self._callbacks))
# self.notify() else: self.service.last_change.updated = True
self._callbacks.append(callback) callback(self)
self.value) # if self.old_value == '': # return signal='Coherence.UPnP.StateVariable.%s.changed' % self.name, sender=self.service, variable=self) signal='Coherence.UPnP.StateVariable.changed', sender=self.service, variable=self) # print("CALLBACKS %s %r %r" % ( # self.name, self.instance, self._callbacks)) callback(self)
return "Variable: %s, %s, %d, %s, %s, %s, %s, %s, %s, %s" % \ (self.name, str(self.service), self.instance, self.implementation, self.data_type, str(self.allowed_values), str(self.default_value), str(self.old_value), str(self.value), str(self.send_events)) |