On Tuesday 24 February 2009, Shane Hathaway wrote: > I've noticed that nearly all packages that depend on zope.publisher > depend only on a few pieces of it: > > - zope.publisher.interfaces
Can you give examples? > - zope.publisher.browser.Browser{View|Page} > > - zope.publisher.browser.TestRequest Packages that depend on those classes usually more or less implicitly depend on zope.publisher. So the split might be arbitrary for this example. > One simple, low-risk refactoring I would like to do is move > zope.publisher.interfaces into its own package, make zope.publisher a > namespace package, and make zope.publisher depend on > zope.publisher.interfaces. The __init__.py in zope.publisher is already > empty, so I expect the namespace conversion to be safe. Then I'd like > to refine the dependency list of various packages that only require > zope.publisher.interfaces. Any objections? I want to see some motivation, because I fail to see how this helps. > It is less clear what we should do with BrowserView and BrowserPage. > They depend on zope.location, unlike the rest of zope.publisher, so they > don't really fit there. Perhaps those two belong in a new package, > "zope.publisher.browserbase". I do agree moving BrowserView and BrowserPage out of the publisher because they introduce the zope.location dependency. > There is also the tiny new "zope.browser" > package. Would it make sense to move them there? (It's hard to tell > what the intent of the new package is.) I'd love to hear other > suggestions. I think the purpose of the package is still defining itself. I think it will be defined by the things that we move into it. I am very tempted to say that it is a good home for BrowserView and BrowserPage. > As for TestRequest, I could update the setup.py of various packages that > currently depend on zope.publisher just for TestRequest. I would make > zope.publisher a test-only requirement. TestRequest does not add any additional dependencies to the system, so what's the point? It will depend on zope.publisher.browser anyways. Regards, Stephan -- Stephan Richter Web Software Design, Development and Training Google me. "Zope Stephan Richter" _______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )