hurry.zoperesource 0.3
hurry.resource integration for Zope.
Zope integration for hurry.resource
This package provides Zope integration for hurry.resource. This means three 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 3/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 in ftesting.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 in ftesting.zcml that 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>
CHANGES
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 dummy NeededResources object in such cases (which will then be thrown away). As a result, it's always safe to call resource.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 call hurry.resource.bottom resources which are marked bottom-safe will be rendered at the bottom of the web page instead of in the <head> section. When you call hurry.resource.bottom(force=True), all .js resources will be included at the bottom.
0.1 (2008-10-11)
- Initial public release.
Download
| File | Type | Py Version | Uploaded on | Size | # downloads |
|---|---|---|---|---|---|
| hurry.zoperesource-0.3.tar.gz (md5) | Source | 2008-12-05 19:13:57 | 5KB | 416 | |
- Author: Martijn Faassen <faassen at startifact com>
- Categories
- Package Index Owner: faassen, jw
- DOAP record: hurry.zoperesource-0.3.xml
Log in to rate this package.
