On 7/6/14, 12:00 PM, Kim Gräsman wrote:
On Sun, Jul 6, 2014 at 8:25 PM, Gregory Szorc <[email protected]> wrote:
I anticipated this would be a difficult problem to solve.
Thanks for helping out!
I would suggest two phases.
First, get the naming sorted out. Ensure all modules are using relative
imports (from . import data) or are using fully qualified imports (from
pymake import data).
Yes, this is a pretty simple maneuvre, except nothing works until the
below is taken care of.
Second, break the import cycles. If modules only have 1 or 2 references to
another module that's in a cycle, move the module-level import into a def.
As a follow-up, you can move things around to break the cycle.
I've been able to move some constructs, but they are rather few and far between.
If you really
want to be hacky, you can have the "parent" module set attributes on the
"child" module for the symbols needed by the child. e.g.
I prefer not to be hacky, but this problem is eating away on my ideals :-)
How do you decide on parent vs. child, though? Do you have intuition
for which is which, or do you just call the least-dependent child and
the most-dependent parent?
"data" contains the most code and interactions with other modules IIRC.
I'd say you should make it the parent.
_______________________________________________
dev-builds mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-builds