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 zope.fixers

How to install zope.fixers

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install zope.fixers
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
1.0
1.1.2Never BuiltWhy not?
1.0 Available View build log
Windows (64-bit)
1.0
1.1.2Never BuiltWhy not?
1.0 Available View build log
Mac OS X (10.5+)
1.1.2 Available View build log
1.0 Available View build log
Linux (32-bit)
1.1.2 Available View build log
1.0 Available View build log
Linux (64-bit)
1.1.2 Available View build log
1.0 Available View build log
1.1.2 Available View build log
 
License
ZPL
Dependencies
Imports
Lastest release
version 1.1.2 on Feb 24th, 2013

Introduction

Fixers for Zope Component Architecture and the frameworks built with it.

Currently, there is only one fixer, fix_implements. This fixer will change all uses of implements(IFoo) in a class body to the class decorator @implementer(IFoo), which is the most likely Python 3 syntax for zope.interfaces implements statements.

Usage

Typically you will use zope.fixers together with Distribute's 2to3 support. This is done by adding zope.fixers to some parameters in setup():

>>> setup(
...     install_requires = ['zope.fixers'],
...     use_2to3 = True,
...     use_2to3_fixers = ['zope.fixers'],
... )

For an example usage of a complex case, look at:

http://svn.zope.org/zope.interface/branches/regebro-python3/setup.py?rev=106216&view=markup

That setup.py supports both distutils, setuptools and distribute, all versions of python from 2.4 to 3.1, and has an optional C-extension, so don't worry if it's overwhelming. For simple projects all you need is to use Distribute and add the above three lines to the setup.py. Distribute has more documentation on how to use it to support Python 3 porting.

If you don't want to use Distribute things get a bit more complex, as you have to make the list of fixers yourself and call lib2to3 with that:

>>> from lib2to3.refactor import RefactoringTool, get_fixers_from_package
>>> fixers = get_fixers_from_package('lib2to3.fixes') + \
...          get_fixers_from_package('zope.fixers')

And the run the fixing with the fixers:

>>> tool = RefactoringTool(fixers)
>>> tool.refactor(files, write=True)
Fixer Script

The package also provides a console script called zope-2to3 that has the same arguments as 2to3 but applies the fixers defined in this package.

CHANGES

1.1.2 (2013-02-23)
  • Removed setup.cfg and make sure that we point to real Change Log.
1.1.1 (2013-02-23)
  • Remove support for Python 2.7 again. It did not work.
1.1.0 (2013-02-22)
  • Added console script zope-2to3.
1.0.0 (2009-09-12)
  • Initial release. Includes the implements fix to change implements(IFoo) class body call to @implementer(IFoo) class decorator.

Subscribe to package updates

Last updated Feb 24th, 2013

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.