def run(argv=sys.argv, _serve=serve): """Command line runner.""" name = os.path.basename(argv[0]) try: kw, args = Adjustments.parse_args(argv[1:]) except getopt.GetoptError as exc: show_help(sys.stderr, name, str(exc)) return 1 if kw["help"]: show_help(sys.stdout, name) return 0 if len(args) != 1: show_help(sys.stderr, name, "Specify one application only") return 1 # set a default level for the logger only if it hasn't been set explicitly # note that this level does not override any parent logger levels, # handlers, etc but without it no log messages are emitted by default if logger.level == logging.NOTSET: logger.setLevel(logging.INFO) try: module, obj_name = match(args[0]) except ValueError as exc: show_help(sys.stderr, name, str(exc)) show_exception(sys.stderr) return 1 # Add the current directory onto sys.path sys.path.append(os.getcwd()) # Get the WSGI function. try: app = resolve(module, obj_name) except ImportError: show_help(sys.stderr, name, f"Bad module '{module}'") show_exception(sys.stderr) return 1 except AttributeError: show_help(sys.stderr, name, f"Bad object name '{obj_name}'") show_exception(sys.stderr) return 1 if kw["call"]: app = app() # These arguments are specific to the runner, not waitress itself. del kw["call"], kw["help"] _serve(app, **kw) return 0
def run(argv=sys.argv, _serve=serve): """Command line runner.""" name = os.path.basename(argv[0]) try: kw, args = Adjustments.parse_args(argv[1:]) except getopt.GetoptError as exc: show_help(sys.stderr, name, str(exc)) return 1 if kw["help"]: show_help(sys.stdout, name) return 0 if len(args) != 1: show_help(sys.stderr, name, "Specify one application only") return 1 try: module, obj_name = match(args[0]) except ValueError as exc: show_help(sys.stderr, name, str(exc)) show_exception(sys.stderr) return 1 # Add the current directory onto sys.path sys.path.append(os.getcwd()) # Get the WSGI function. try: app = resolve(module, obj_name) except ImportError: show_help(sys.stderr, name, "Bad module '{}'".format(module)) show_exception(sys.stderr) return 1 except AttributeError: show_help(sys.stderr, name, "Bad object name '{}'".format(obj_name)) show_exception(sys.stderr) return 1 if kw["call"]: app = app() # These arguments are specific to the runner, not waitress itself. del kw["call"], kw["help"] _serve(app, **kw) return 0
def run(argv=sys.argv, _serve=serve): """Command line runner.""" name = os.path.basename(argv[0]) try: kw, args = Adjustments.parse_args(argv[1:]) except getopt.GetoptError as exc: show_help(sys.stderr, name, str(exc)) return 1 if kw['help']: show_help(sys.stdout, name) return 0 if len(args) != 1: show_help(sys.stderr, name, 'Specify one application only') return 1 try: module, obj_name = match(args[0]) except ValueError as exc: show_help(sys.stderr, name, str(exc)) show_exception(sys.stderr) return 1 # Add the current directory onto sys.path sys.path.append(os.getcwd()) # Get the WSGI function. try: app = resolve(module, obj_name) except ImportError: show_help(sys.stderr, name, "Bad module '{0}'".format(module)) show_exception(sys.stderr) return 1 except AttributeError: show_help(sys.stderr, name, "Bad object name '{0}'".format(obj_name)) show_exception(sys.stderr) return 1 if kw['call']: app = app() # These arguments are specific to the runner, not waitress itself. del kw['call'], kw['help'] _serve(app, **kw) return 0
def parse(self, argv): from waitress.adjustments import Adjustments return Adjustments.parse_args(argv)