Metadata-Version: 1.0
Name: hurry.zoperesource
Version: 0.5
Summary: hurry.resource integration for Zope.
Home-page: http://pypi.python.org/pypi/hurry.zoperesource
Author: Martijn Faassen
Author-email: faassen@startifact.com
License: ZPL
Description: Zope integration for hurry.resource
        ***********************************
        
        This 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 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.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 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
        ********
        
Platform: UNKNOWN
Classifier: Framework :: Zope3
