diff options
| author | Jay Pipes <jaypipes@gmail.com> | 2011-07-26 12:51:10 -0400 |
|---|---|---|
| committer | Jay Pipes <jaypipes@gmail.com> | 2011-07-26 12:51:10 -0400 |
| commit | 02fb917da8a42b38720ebe31c4d40b180b00d632 (patch) | |
| tree | 6d33008ac411591ae1d72b31107bc075268512d5 /bin/skeleton-api | |
| parent | 17df9cafa7479a56aba31c2377d1b5126e0b6b8b (diff) | |
Add some more generic middleware, request context, utils, and versioning. Add basic template for server binary
Diffstat (limited to 'bin/skeleton-api')
| -rwxr-xr-x | bin/skeleton-api | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/bin/skeleton-api b/bin/skeleton-api index e69de29..1d02055 100755 --- a/bin/skeleton-api +++ b/bin/skeleton-api @@ -0,0 +1,64 @@ +#!/usr/bin/env python +# vim: tabstop=4 shiftwidth=4 softtabstop=4 + +# Copyright 2011 OpenStack LLC. +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +""" +Simple Skeleton API Server +""" + +import optparse +import os +import sys + +# If ../skeleton/__init__.py exists, add ../ to Python search path, so that +# it will override what happens to be installed in /usr/(local/)lib/python... +possible_topdir = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]), + os.pardir, + os.pardir)) +if os.path.exists(os.path.join(possible_topdir, 'skeleton', '__init__.py')): + sys.path.insert(0, possible_topdir) + +from openstack.common import config +from openstack.common import wsgi +from skeleton import version + + +def create_options(parser): + """ + Sets up the CLI and config-file options that may be + parsed and program commands. + + :param parser: The option parser + """ + config.add_common_options(parser) + config.add_log_options(parser) + + +if __name__ == '__main__': + oparser = optparse.OptionParser(version='%%prog %s' + % version.version_string()) + create_options(oparser) + (options, args) = config.parse_options(oparser) + + try: + conf, app = config.load_paste_app('skeleton-api', options, args) + + server = wsgi.Server() + server.start(app, int(conf['bind_port']), conf['bind_host']) + server.wait() + except RuntimeError, e: + sys.exit("ERROR: %s" % e) |
