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
File details
Details for the file pyramid_duh-0.1.2.tar.gz
.
File metadata
- Download URL: pyramid_duh-0.1.2.tar.gz
- Upload date:
- Size: 11.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 347b60daaaa7ca52fefb262f2fb1bc924528aeca15aeea07e15a9fd272168b06 |
|
MD5 | fcadce0426a8da8b5d1cf07e3357f1f5 |
|
BLAKE2b-256 | 6377a0125cfeaedcfebbfd7d4269dafc14e2c1a7b4cd9d35a20ed279081daa10 |
File details
Details for the file pyramid_duh-0.1.2-py2.py3-none-any.whl
.
File metadata
- Download URL: pyramid_duh-0.1.2-py2.py3-none-any.whl
- Upload date:
- Size: 13.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85be0cc256588175df4926077e0da091d918f51dbe7f95a1c7a576845dfc6257 |
|
MD5 | 9e77df8c1297a47b0cde9359c252934e |
|
BLAKE2b-256 | 1a4618ede3d6d841714f5f730b8ccf182659014d939f1976ce8980445b49ceae |