summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Hellkamp <marc@gsites.de>2011-07-01 15:22:16 +0200
committerMarcel Hellkamp <marc@gsites.de>2011-07-01 15:22:16 +0200
commit8f6b077e759b9e70be1dff9ef220e908e70bb1c6 (patch)
treeb9ab4e715472c1c073deb74ea1e35e78e08b0f48
parentb2572600e0006304a080a0895e6f9e9d3523f418 (diff)
downloadbottle-cmdline.tar.gz
The module can now be used as a command line tool.cmdline
-rwxr-xr-xbottle.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/bottle.py b/bottle.py
index f44a69b..05d4ec2 100755
--- a/bottle.py
+++ b/bottle.py
@@ -2695,3 +2695,17 @@ app.push()
#: A virtual package that redirects import statements.
#: Example: ``import bottle.ext.sqlite`` actually imports `bottle_sqlite`.
ext = _ImportRedirect(__name__+'.ext', 'bottle_%s').module
+
+if __name__ == '__main__':
+ from optparse import OptionParser
+ parser = OptionParser(usage="%prog [options] APP_MODULE", version=__version__)
+ parser.add_option("-q", "--quiet", action="store_true", help="Be quiet.")
+ parser.add_option("-b", "--bind", default='127.0.0.1:8080',
+ help="Bind server socket to ADDRESS.", metavar="ADDRESS")
+ parser.add_option("-s", "--server", default='wsgiref',
+ help="Use a specific server adapter.", metavar="NAME")
+ if not sys.argv[1:]: parser.parse_args(['-h'])
+ opt, args = parser.parse_args()
+ if not args: parser.error("No APP_MODULE specified.")
+ host, port = opt.bind.split(':')
+ run(args[0], host=host, port=int(port), server=opt.server, quiet=opt.quiet)