Re: Re: trellis.Set.discard

"Sergey Schetinin" <[email protected]>
Newsgroups gmane.comp.python.peak
Message-ID <[email protected]>
Hahaha... I found out that my problems with reproducing some of the
issues are because I forgot that I fixed them with this (there goes
explicitness of side-txn =)):

from peak.rules import around

@around(CellAttribute.make_cell.im_func)
def make_cell(next_method, self, typ, ob, name):
    if ctrl.readonly:
        return side_txn(next_method, self, typ, ob, name)
    else:
        return next_method(self, typ, ob, name)



Here's another test:

class C1(Component):
    x = attr()

    @maintain
    def rule(self):
        self.x = 1

class C2(Component):
    c1 = make(C1)

    @compute
    def calc(self):
        return self.c1.x


c = C2()
c.calc

@make is triggered inside compute, so C1.rule ends up running with
ctrl.readonly.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.