e4d61c882aa664d9fb7d632f11bbf0200f096ef4
Resolves issue #131 Patchset updates the metaclass to wrap unbound methods before adding security. Wrapping ensures that base controllers can safely be mixed in both secure and unsecure contexts. Wrapping resolves the issue since method attributes are shared by all classes with the same bases. The original _pecan attributes of the method are shallow copied prior to adding the security attributes.
Pecan
A WSGI object-dispatching web framework, designed to be lean and fast with few dependencies.
Installing
$ pip install pecan
...or, for the latest (unstable) tip:
$ git clone https://github.com/dreamhost/pecan.git -b next
$ cd pecan && python setup.py install
Running Tests
$ python setup.py test
...or, to run all tests across all supported environments:
$ pip install tox && tox
Viewing Documentation
Available online, or to build manually:
$ cd docs && make html
$ open docs/build/html/index.html
...or:
$ cd docs && make man
$ man docs/build/man/pecan.1
Contributing to Pecan
To fix bugs or add features to Pecan, a GitHub account is required.
The general practice for contributing is to fork Pecan and make
changes in the next branch. When you're finished, send a pull
request and the developers will review your patch.
All contributions must:
- Include accompanying tests.
- Include narrative and API documentation if new features are added.
- Be (generally) compliant with PEP8.
- Not break the test or build. Before issuing a pull request,
$ pip install tox && toxfrom your source to ensure that all tests still pass across multiple versions of Python.- Add your name to the (bottom of the) AUTHORS file.
Additional Help/Support
Most Pecan interaction is done via the #pecanpy channel on FreeNode IRC.
Description
Languages
Python
99%
HTML
0.9%
CSS
0.1%
