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 repoze.what.plugins.ini

How to install repoze.what.plugins.ini

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install repoze.what.plugins.ini
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
0.2.2 Available View build log
Windows (64-bit)
0.2.2 Available View build log
Mac OS X (10.5+)
0.2.2 Available View build log
Linux (32-bit)
0.2.2 Available View build log
Linux (64-bit)
0.2.2 Available View build log
 
Author
License
BSD-derived (see http://www.repoze.org/LICENSE.txt
Dependencies
Imports
Lastest release
version 0.2.2 on Jan 5th, 2011

What is repoze.what.plugins.ini?

repoze.what.plugins.ini is a plugin for repoze.what that offers group and permissions adapters for sources based on INI files.

What is repoze.what?

From repoze.what site:

repoze.what is an authorization framework for WSGI applications, based on repoze.who (which deals with authentication).

On the one hand, it enables an authorization system based on the groups to which the authenticated or anonymous user belongs and the permissions granted to such groups by loading these groups and permissions into the request on the way in to the downstream WSGI application.

And on the other hand, it enables you to manage your groups and permissions from the application itself or another program, under a backend-independent API. For example, it would be easy for you to switch from one back-end to another, and even use this framework to migrate the data.

repoze.what can be used as authorization framework for turbogear, repoze.bfg or your own WSGI server.

How to install repoze.what.plugins.ini?

You can install the last stable version with easy_install:

System Message: WARNING/2 (<string>, line 40)

Literal block expected; none found.

easy_install repoze.what.plugins.ini

or the developer version via git:

System Message: WARNING/2 (<string>, line 46)

Literal block expected; none found.

git clone git://github.com/jdinuncio/repoze.what.plugins.ini.git cd repoze.what.plugins.ini python setup.py install

The source file format

The format used in the source files is similar to the INI file format. The file consists in a serie of sections, each one with a section header of the form “[section-name]”, followed by entries of the form “value”. Spaces before and after section headers or entries are ignored. Characters after ”#” are ignored.

An example of a group file:

[admins]

System Message: ERROR/3 (<string>, line 64)

Inconsistent literal block quoting.

rms

[developers] rms linus

[trolls] sballmer

[python] [php]

An example of a permissions file:

[see-site] trolls

[edit-site] admins developers

[commit] developers

How to use it?

All you need to do is to instantiate a repoze.what middleware using repoze.what.plugins.ini.INIGroupAdapter or repoze.what.plugins.ini.INIPermissionsAdapter:

# First, we'll need a WSGI application

System Message: ERROR/3 (<string>, line 100)

Inconsistent literal block quoting.

my_app = None # Of course, you'll change None for your WSGI app

# We need to set up the repoze.who components used by repoze.what for # authentication from repoze.who.plugins.htpasswd import HTPasswdPlugin, crypt_check from repoze.who.plugins.basicauth import BasicAuthPlugin

htpasswd = HTPasswdPlugin('passwd', crypt_check) basicauth = BasicAuthPlugin('MyRepoze') identifiers = [('basicauth', basicauth)] authenticators = [('htpasswd', htpasswd)] challengers = [('basicauth', basicauth)] mdproviders = []

# We'll use group and permission based exclusively on INI files from repoze.what.plugins.ini import INIGroupAdapter from repoze.what.plugins.ini import INIPermissionsAdapter

groups = {'all_groups': INIGroupAdapter('groups.ini')} permissions = {'all_perms': INIPermissionsAdapter('permissions.ini')}

# Finally, we create the repoze.what middleware import logging

from repoze.what.middleware import setup_auth

middleware = setup_auth( app = my_app, group_adapters = groups, permission_adapters = permissions, identifiers = identifiers, authenticators = authenticators, challengers = challengers, mdproviders = mdproviders, log_level = logging.DEBUG )

Subscribe to package updates

Last updated Jan 5th, 2011

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.