Metadata-Version: 1.0
Name: hurry.zoperesource
Version: 0.6
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 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
        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.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 the
          `hurry.resource documentation
          <http://pypi.python.org/pypi/hurry.resource>`_ for 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 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
