Zope 2: circular import

yuppie <[email protected]>
Newsgroups gmane.comp.web.zope.devel
Message-ID <[email protected]>
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 )
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.