Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
    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)