Package: hurry.zoperesource
Zope integration for hurry.resourceImportanthurry.zoperesource has been superseded byzope.fanstaticThis package provides Zope integration for hurry.resource. This means
it’s taking care of three things:maintain the needed resources throughout the request/response cycle.know how to make a URL to a resource.make so that resource references are automatically inserted in the
HTML header.This library fulfills these conditions for a Zope Toolkit/Grok setup.We’ll run through a few tests to demonstrate it. Note that the real
code being tested is not in this document itself, but in the views described
inftesting.zcml.We need to be in a request to make this work, so let’s up a request to
a page we have set up inftesting.zcmlthat should cause the
inclusion of a single resource in its header:>>> from zope.testbrowser.testing import Browser
>>> browser = Browser()
>>> browser.handleErrors = False
>>> browser.open('http://localhost/hurry.zoperesource.test_single')
>>> print browser.contents
<html>
<head>
    <script type="text/javascript" src="http://localhost/@@/foo/a.js"></script>
<BLANKLINE>
</head>
<body>
<p>the widget HTML itself</p>
</body>
</html>If a resource happens to need another resource, this resource is also
automatically included:>>> browser.open('http://localhost/hurry.zoperesource.test_multiple')
>>> print browser.contents
<html>
<head>
    <script type="text/javascript" src="http://localhost/@@/foo/a.js"></script>
  <script type="text/javascript" src="http://localhost/@@/foo/b.js"></script>
<BLANKLINE>
</head>
<body>
<p>the widget HTML itself</p>
</body>
</html>Let’s force all javascript resources to be forced to be included at
the bottom now, just before the</body>tag:>>> browser.open('http://localhost/hurry.zoperesource.test_bottom')
>>> print browser.contents
<html>
<head>
</head>
<body>
<p>the widget HTML itself</p>
<script type="text/javascript" src="http://localhost/@@/foo/a.js"></script>
<script type="text/javascript" src="http://localhost/@@/foo/b.js"></script></body>
</html>CHANGESImportanthurry.zoperesource has been superseded byzope.fanstatic0.7 (2010-10-01)Created ResourceDirectories now are registered forIBrowserRequestthe
base class of the previously usedIDefaultBrowserLayer. So this
package can be used when the layer used by the application does not extendIDefaultBrowserLayer, as e. g.z3c.layer.pageletdoes.0.6 (2010-07-29)Update to work with hurry.resource 0.10 and later. This uses the
entry point mechanism to configure any libraries.Note that this needs hurry.resource-based packages that themselves
have been updated to hurry.resource 0.10’s way of defining an entry
point and including the resource path in the library. See thehurry.resource documentationfor more information.0.5 (2010-07-24)Drop the zope.app.component dependency.Register the ILibraryUrl adapter for ILibrary instead of Library,
to be less specific for the adapter lookup.Clearly specify license as ZPL.0.4 (2009-12-16)Updated required packages.Use a newer version of hurry.resource which can insert the snippets
into HTML itself.0.3 (2008-12-05)resource.need()needed a request object set up in order to
function.  This is rather annoying in tests, which often don’t have
a request object set up. We now instead return a dummyNeededResourcesobject in such cases (which will then be thrown
away). As a result, it’s always safe to callresource.need()during tests, though if no request can be found it will have no
effect.0.2 (2008-10-13)Add support for rendering fragments at the bottom of the page. When
you callhurry.resource.bottomresources which are marked bottom-safe
will be rendered at the bottom of the web page instead of in the<head>section. When you callhurry.resource.bottom(force=True),all.jsresources will be included at the bottom.0.1 (2008-10-11)Initial public release.Download