Hi!
I stumbled over a circular import in Zope 2.
in DocumentTemplate.DT_Util:
from ZPublisher.TaintedString import TaintedString
this triggers ZPublisher.BaseRequest with:
from AccessControl.ZopeSecurityPolicy import getRoles
this triggers AccessControl.DTML with:
from DocumentTemplate import DT_Util
With try/except imports and the right import order this works, but it
would be better to break up that circle.
At first glance the solution is simple: TaintedString doesn't have any
dependencies and is used by DocumentTemplate and ZPublisher. So it
should be moved to a place where both modules can use it without
triggering countless imports.
But where would be a good place for TaintedString? It is too small to
create a package just for that. In which existing package would it fit?
Or should we just add a copy of TaintedString to DocumentTemplate?
Any ideas?
Cheers,
Yuppie
_______________________________________________
Zope-Dev maillist - [email protected]
https://mail.zope.org/mailman/listinfo/zope-dev
** No cross posts or HTML encoding! **
(Related lists -
https://mail.zope.org/mailman/listinfo/zope-announce
https://mail.zope.org/mailman/listinfo/zope )