web.py - specify address and port

Jakub M. picture Jakub M. · Jan 21, 2013 · Viewed 22.3k times · Source

How to specify listening address and port in web.py? Something like:

web.application( urls, host="33.44.55.66", port=8080 )

Edit

I would like to avoid using the default web.py command line parsing

Answer

sidi picture sidi · Jan 21, 2013

From API docmentation of web.py:

 module web.httpserver
    function runsimple(func,server_address=('0.0.0.0', 8080))  

Runs CherryPy WSGI server hosting WSGI app func. The directory static/ is hosted statically.

Example code

import web

class MyApplication(web.application):
    def run(self, port=8080, *middleware):
        func = self.wsgifunc(*middleware)
        return web.httpserver.runsimple(func, ('0.0.0.0', port))

if __name__ == "__main__":
    app = MyApplication(urls, globals())
    app.run(port=8888)