def set_name(self,name): name = name.split() ordinal = None try: if len(name)>0: ordinal=int(name[-1]) name = name[:-1] except: pass name = ' '.join(name) d = self.get_data() if d.is_null(): d = piw.dictnull(0) if d.is_dict(): if name: d = piw.dictset(d,'name',piw.makestring(name,0)) else: d = piw.dictdel(d,'name') if ordinal: d = piw.dictset(d,'ordinal',piw.makelong(ordinal,0)) else: d = piw.dictdel(d,'ordinal') self.set_data(d)
def set_property(self, key, value, allow_veto=False, notify=True, delegate=None): if key == 'ordinal': if value == self.get_property('cordinal'): value = None if key == 'name': if value == self.get_property('cname'): value = None if allow_veto: if self.property_veto(key, value): return for lr in self.__listeners[:]: l = lr if l is not None: if l.property_veto(key, value): return old_value = node.Server.get_data(self) if value is None: d = piw.dictdel(old_value, key) else: d = piw.dictset(old_value, key, value) node.Server.set_data(self, d) if notify: self.property_change(key, value, delegate) for lr in self.__listeners[:]: l = lr if l is not None: l.property_change(key, value, delegate)
def set_property(self, key, value, allow_veto=False): if allow_veto: if self.property_veto(key, value): return for lr in self.__listeners[:]: l = lr if l is not None: if l(True, key, value): return if value is None: d = piw.dictdel(self.get_meta_data(), key) else: d = piw.dictset(self.get_meta_data(), key, value) old_value = self.get_meta_data().as_dict_lookup(key) self.set_meta_data(d) self.property_change(key, value) for lr in self.__listeners[:]: l = lr if l is not None: l(False, key, value)