Skip to main content

Integrate Assetgen with the Pyramid framework.

Project description

Provides a py:function:~pyramid_assetgen.add_assetgen_manifest

configuration directive and py:class:~pyramid_assetgen.AssetGenRequestMixin custom request factory mixin class that can be used to integrate Assetgen with a Pyramid application.

Configure your Pyramid app (e.g.: in your main / WSGI app factory function):

from pyramid.request import Request
class MyRequest(AssetGenRequestMixin, Request):
    pass

config.set_request_factory(MyRequest)
config.add_directive('add_assetgen_manifest', add_assetgen_manifest)

Expose the directory your assetgen’d static files are in as per normal using add_static_view and then register an assetgen manifest for the dirctory you’ve exposed by calling add_assetgen_manifest with the same path or pyramid asset specification you passed to add_static_view, e.g.:

config.add_static_view('static', 'mypkg:static')
config.add_assetgen_manifest('mypkg:static')

This assumes you have a manifest file at 'mypkg:static/assets.json. If your manifest file is somewhere else, use the manifest keyword argument to specify where it is, e.g.:

config.add_assetgen_manifest('mypkg:static', manifest='/foo/bar.json')

Once configured, you can use request.static_path(path, **kw) and request.static_url(path, **kw) as normal, e.g.:

request.static_url('mypkg:static/base.js')

Under the hood, static_url will now check the path to the static file you’re serving and, if it’s in a directory that you’ve exposed with an assetgen manifest, will look in the manifest file for a key that matches the path (relative to the directory) and, if found, will expand it.

So, for example, if you have registered a manifest containing:

{'foo.js': 'foo-fdsf465ds4f567ds4ds5674567f4s7.js'}

Calling:

request.static_url('mypkg:static/foo.js')

Will return:

'/static/foo-fdsf465ds4f567ds4ds5674567f4s7.js'

assetgen: http://pypi.python.org/pypi/assetgen configuration directive: http://readthedocs.org/docs/pyramid/en/latest/narr/extconfig.html custom request factory: http://readthedocs.org/docs/pyramid/en/latest/narr/hooks.html#changing-the-request-factory pyramid: http://readthedocs.org/docs/pyramid

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyramid_assetgen-0.2.tar.gz (20.9 kB view details)

Uploaded Source

File details

Details for the file pyramid_assetgen-0.2.tar.gz.

File metadata

File hashes

Hashes for pyramid_assetgen-0.2.tar.gz
Algorithm Hash digest
SHA256 f9028708a129fd064ed20a934d6824a02450638a2617fdd6464510fed0ea754d
MD5 03f1a91d7d4223334450d457f0a0e0f4
BLAKE2b-256 45011983d8cde29f13f236dbd6bd7e028e5c00e77026821e6ac29e0eac29949e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page