[PEAK] interpreting CircularityError

Sergey Schetinin maluke at gmail.com
Tue Oct 21 19:16:06 EDT 2008


If I understand correctly, when CircularityError is raised it's
supposed that routes parameter describes the circularity in question.
It's a dict that maps cells that need to run to sets of dependent
cells. So the circularity means there should be a cycle in there, i.e.
no possible order to calculate the tree running each cell rule no more
than once. I can't see it this error I get:

{LazyCell(<bound method AutoSize.y of AutoSize(376, 178)>, 178):
    set([LazyCell(<function <lambda> at 0x01C162B0>, 158)]),
 LazyCell(<function <lambda> at 0x01C162B0>, 158):
    set([LazyCell(<bound method OffsetPoint.y of OffsetPoint(384, 194)>, 194)]),
 LazyCell(<bound method OffsetPoint.y of OffsetPoint(384, 194)>, 194):
    set([Cell(<bound method OptionalPanel.track_rect of
<gui5.models.OptionalPanel object at 0x00E00830>>, None),
        LazyCell(<bound method AutoSize.y of AutoSize(376, 20)>, 20)]),
 LazyCell(<bound method AutoSize.y of AutoSize(376, 20)>, 20):
    set([Cell(<bound method OptionalPanel.track_rect of
<gui5.models.OptionalPanel object at 0x00E00830>>, None)])}


This happens in response to resizing the window and it only happens
once, after first 1px change, after that everything works as intended
and without a glitch, which suggests it's a fluke of finding the
proper order for running the rules. I'll also try to create a smaller
test to reproduce it, so for now I'm just seeking assistance with
.routes interpretation.



More information about the PEAK mailing list