Useful utilities for every pyramid app
Project description
Pyramid Duh
- Master Build:
- 0.1 Build:
- Documentation:
- Downloads:
- Source:
This is just a collection of utilities that I found myself putting into every single pyramid project I made. So now they’re all in one place.
Here’s a quick taste.
Don’t do this:
def register_user(request): username = request.POST['username'] password = request.POST['password'] birthdate = request.POST['birthdate']
Do this:
@argify(birthdate=date) def register_user(request, username, password, birthdate): ...
What urls does this match?
@view_config(context=Root, name='package') def get_or_list_packages(request): ...
Well, it matches
/package
/package/
/package/1234
/package/wait/hold/on
/package/this/seems/confusing
Whaaaat? Let’s fix that:
@view_config(context=Root, name='package', subpath=()) def list_packages(request): # return a list of packages @view_config(context=Root, name='package', subpath=('id/*') def get_package(request): package_id = request.named_subpaths['id'] # fetch a single package
The first one matches
/package
/package/
The second matches
/package/*
/package/*/
But that still seems sloppy. You demand consistency!
@view_config(context=Root, name='package', subpath=()) @addslash def list_packages(request): # return a list of packages @view_config(context=Root, name='package', subpath=('id/*') @addslash def get_package(request): package_id = request.named_subpaths['id'] # fetch a single package
Now it’s just /package/ and /package/*/
That’s the sales pitch. Read the docs for more details.
Changelog
0.1.2
Bug fix: Fix potential timezone issue when converting unix time to datetime
Using the ‘six’ library for python 2/3 compatibility
0.1.1
Bug fix: IStaticResource fails to look up self.request if nested 2-deep
Bug fix: Name collisions with version_helper.py
Bug fix: Subpath glob matching always respects case
Feature: @argify works on view classes
Feature: @argify can inject types that consume multiple parameters
Feature: Parameter types can be a dotted path
0.1.0
Package released into the wild
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pyramid_duh-0.1.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85be0cc256588175df4926077e0da091d918f51dbe7f95a1c7a576845dfc6257 |
|
MD5 | 9e77df8c1297a47b0cde9359c252934e |
|
BLAKE2b-256 | 1a4618ede3d6d841714f5f730b8ccf182659014d939f1976ce8980445b49ceae |