Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install grokcore.site

How to install grokcore.site

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install grokcore.site
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
1.6.1 Available View build log
1.5 Available View build log
1.4 Available View build log
1.3 Available View build log
1.2 Available View build log
Windows (64-bit)
1.6.1 Available View build log
1.5 Available View build log
1.4 Available View build log
1.3 Available View build log
1.2 Available View build log
Mac OS X (10.5+)
1.6.1 Available View build log
1.5 Available View build log
1.4 Available View build log
1.3 Available View build log
1.2 Available View build log
Linux (32-bit)
1.6.1 Available View build log
1.5 Available View build log
1.4 Available View build log
1.3 Available View build log
1.2 Available View build log
Linux (64-bit)
1.6.1 Available View build log
1.5 Available View build log
1.4 Available View build log
1.3 Available View build log
1.2 Available View build log
Web
 
Author
License
ZPL
Lastest release
version 1.6.1 on May 23rd, 2012

This package provides support to write local site and utilities for Zope directly in Python (without ZCML).

Setting up grokcore.site

This package is essentially set up like the grokcore.component package, please refer to its documentation for details. The only additional ZCML line you will need is:

<include package="grokcore.site" />

Put this somewhere near the top of your root ZCML file but below the line where you include grokcore.component's configuration.

Examples

Global utilities are already managed by grokcore.component.

Here a simple example of a local utility:

from zope.interface import implements, Interface
import grokcore.site

class IKangaroo(Interface):

    def jump():
       """Make all kangaroos jump somewhere.
       """

class KangarooUtility(grokcore.site.LocalUtility):
    implements(IKangaroo)

    def jump(self):
        pass

Now, we can register our utility to a local site. That will create automatically, and register that utility when we create that site:

class Jungle(grokcore.site.Site):

    grokcore.site.local_utility(KangarooUtility, IKangaroo)

If you don't add the last line, you will still have your site, but nothing to make jump your kangaroo. Then, you will be able to add manually by hand after (if you want).

API Overview

Base classes
Site
Base class for your site.
LocalUtility
Base class for a ZODB-persitent local utility.
Directives
local_utility(factory, provides=None, name=u'', setup=None, public=False, name_in_container=None)

Directive used on a site to register a local utility at the creation time:

factory
Would be the component to register (required parameter),
provides
Would be the interface used to query the local utility (required parameter),
name
Would be the name used to query the local utility,
setup
Would be a function taking parameter. If defined it will be called after the utility is created with it as first and unique parameter.
public
If true, the utility will be created in the site container itself, not in the site manager, and public will be able to access it directly.
name_in_container
Would be used as id for the utility in container itwill be created. If not defined it will ask NameChooser to pick a name for it.

In addition, the grokcore.site package exposes the grokcore.component API.

Changes

1.6.1 (2012-05-02)
  • Exposed ApplicationInitializedEvent and IApplicationInitializedEvent.
  • Added the missing import for the exposed IApplication interface.
1.6 (2012-05-01)
  • Moved the directive site from Grok to this package.
  • Moved the component Application and all the related utilities from Grok to this package.
1.5 (2011-01-03)
  • Moved IApplication and getApplication from the Grok package into this one.
1.4 (2010-11-01)
  • Upped versions requirements for martian and grokcore.component.
1.3 (2010-10-18)
  • Made package comply to repository policy.
  • Update functional tests to only use zope.app.appsetup instead of zope.app.testing.
  • Update functional tests not to require zope.app.zcmlfiles anymore.
1.2 (2009-12-20)
  • Migrated imports from zope.app.component to zope.site.
1.1 (2009-09-18)
  • Updated dependencies (added missing ones and added separate test dependencies).
  • A local utility now implements IAttributeAnnotatable.
  • Update code documentation from Grok itself.
  • Use 1.0b2 versions.cfg in Grok's release info instead of a local copy; a local copy for all grokcore packages is just too hard to maintain.
1.0.1 (2009-06-30)
  • Reupload to pypi with a correct version of Python which doesn't have a distutils bug.
1.0 (2009-06-29)
  • Created grokcore.site by factoring local site based components, grokkers and directives out of Grok.

Subscribe to package updates

Last updated May 23rd, 2012

Download Stats

Last month:1

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.