This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

Overview

bottle-servefiles can serve static files for your bottle.py application.

I deceided to create this application to further my understanding of WSGI and how to build pluggable apps for the bottle.py ecosystem.

bottle-servefiles aims to be a simple WSGI app that can be mounted into any bottle.py powered app in order to serve static files from any url.

For instance in a regualar bottle.py app you may have the code below to serve static files:

from bottle import route
import bottle

...

@route('/static/:filename#.*#')
def static(filename):
    bottle.static_file(filename, root=...)

What I would like is to be able to mount a reusable static file handler on any path I chose within my application, without having to explicitly attach the path to the handler definition.

Ok I know that is pure nonsense but I had to come up with a compelling reason to build this thing in the first place.

So moving swiftly forward, with a static handler implemented as a pluggable bottle app, I would be able to do the following:

import bottle

...

myapp = bottle.default_app()
myapp.mount(bottle.load_app('servefiles'), '/media')
bottle.run(app=myapp)

It doesn’t look like much, but with a pluggable app, it now becomes possible to configure the application (e.g. set the “root” directory) per mounted instance of the static file handler!

Features

TODO

Installation

You can install upgrade or uninstall bottle-servefiles with these commands:

> pip install bottle-servefiles
> pip install -U bottle-servefiles
> pip uninstall bottle-servefiles

If you do not have pip you may use easy install:

> easy_install bottle-servefiles

If you do not have easy_install, you may download the piot source distribution archive. Extract it and run:

> python setup.py install

Example usage

This is a basic outline of how you would use bottle-servefiles to server static files from your application.

Create an application module “app.py” with the contents:

import bottle


class MySite(object):
    def __init__(self, app=None):
        self.app = app if app else bottle.default_app()

    def __call__(self, environ, start_response):
        return self.app(environ, start_response)


if __name__ == '__main__':
    mysite = MySite()
    mysite.app.mount(bottle.load_app('servefiles'), '/__media')
    bottle.debug(True)
    bottle.run(app=foo, reloader=True)

Copyright (c) 2011 - Rudy Lattae. Released under the New BSD License.

Changelog

Release History

Release History

0.1.2dev

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.1dev

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.0dev

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.0.1dev

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
bottle-servefiles-0.1.2dev.zip (8.9 kB) Copy SHA256 Checksum SHA256 Source Oct 8, 2011

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting