Metadata-Version: 1.0
Name: bottle-servefiles
Version: 0.1.0dev
Summary: A reusable app that serves static files for bottle apps
Home-page: https://bitbucket.org/rudylattae/bottle-servefiles
Author: Rudy Lattae
Author-email: rudylattae@gmail.com
License: Simplified BSD
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
        =========
        
        
        ====
        TODO
        ====
        
Keywords: bottle,bottle.py,static,file,files,web,app
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
