From a4c67fca938d03fb46f9a95f7e54287c41df2520 Mon Sep 17 00:00:00 2001 From: Julian Paul Glass Date: Wed, 31 Jul 2013 22:31:02 +1000 Subject: Added verbosity option -v --verbose to pserve.py --- pyramid/scripts/pserve.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pyramid/scripts/pserve.py b/pyramid/scripts/pserve.py index b840fbdb9..a2e26b231 100644 --- a/pyramid/scripts/pserve.py +++ b/pyramid/scripts/pserve.py @@ -65,7 +65,7 @@ class PServeCommand(object): You can also include variable assignments like 'http_port=8080' and then use %(http_port)s in your config files. """ - verbose = 1 + default_verbosity = 1 parser = optparse.OptionParser( usage, @@ -125,6 +125,12 @@ class PServeCommand(object): action='store_true', dest='show_status', help="Show the status of the (presumably daemonized) server") + parser.add_option( + '-v', '--verbose', + default=default_verbosity, + dest='verbose', + type=int, + help="Set verbose level (default ["+str(default_verbosity)+"])") if hasattr(os, 'setuid'): # I don't think these are available on Windows @@ -148,8 +154,6 @@ class PServeCommand(object): _scheme_re = re.compile(r'^[a-z][a-z]+:', re.I) - default_verbosity = 1 - _reloader_environ_key = 'PYTHON_RELOADER_SHOULD_RUN' _monitor_environ_key = 'PASTE_MONITOR_SHOULD_RUN' @@ -158,6 +162,7 @@ class PServeCommand(object): def __init__(self, argv, quiet=False): self.quiet = quiet self.options, self.args = self.parser.parse_args(argv[1:]) + self.verbose = self.options.verbose def out(self, msg): # pragma: no cover if not self.quiet: -- cgit v1.2.3 From 6012965b3441f93ee83408bb5cd0c21c091ca6db Mon Sep 17 00:00:00 2001 From: Julian Paul Glass Date: Wed, 31 Jul 2013 22:34:32 +1000 Subject: Added verbosity option -v --verbose to pserve.py --- pyramid/scripts/pserve.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyramid/scripts/pserve.py b/pyramid/scripts/pserve.py index a2e26b231..0feb9cd69 100644 --- a/pyramid/scripts/pserve.py +++ b/pyramid/scripts/pserve.py @@ -130,7 +130,7 @@ class PServeCommand(object): default=default_verbosity, dest='verbose', type=int, - help="Set verbose level (default ["+str(default_verbosity)+"])") + help="Set verbose level (default "+str(default_verbosity)+")") if hasattr(os, 'setuid'): # I don't think these are available on Windows -- cgit v1.2.3 From 8fc233823ea121a13cfeb61efc371144bec96ba3 Mon Sep 17 00:00:00 2001 From: Julian Paul Glass Date: Thu, 1 Aug 2013 00:06:47 +1000 Subject: Replaced references tow self.verbose with self.option.verbose --- pyramid/scripts/pserve.py | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/pyramid/scripts/pserve.py b/pyramid/scripts/pserve.py index 0feb9cd69..c012abb01 100644 --- a/pyramid/scripts/pserve.py +++ b/pyramid/scripts/pserve.py @@ -162,7 +162,6 @@ class PServeCommand(object): def __init__(self, argv, quiet=False): self.quiet = quiet self.options, self.args = self.parser.parse_args(argv[1:]) - self.verbose = self.options.verbose def out(self, msg): # pragma: no cover if not self.quiet: @@ -202,7 +201,7 @@ class PServeCommand(object): if self.options.reload: if os.environ.get(self._reloader_environ_key): - if self.verbose > 1: + if self.options.verbose > 1: self.out('Running reloading file monitor') install_reloader(int(self.options.reload_interval), [app_spec]) # if self.requires_config_file: @@ -276,7 +275,7 @@ class PServeCommand(object): try: self.daemonize() except DaemonizeException as ex: - if self.verbose > 0: + if self.options.verbose > 0: self.out(str(ex)) return 2 @@ -308,7 +307,7 @@ class PServeCommand(object): app = self.loadapp(app_spec, name=app_name, relative_to=base, global_conf=vars) - if self.verbose > 0: + if self.options.verbose > 0: if hasattr(os, 'getpid'): msg = 'Starting server in PID %i.' % os.getpid() else: @@ -319,7 +318,7 @@ class PServeCommand(object): try: server(app) except (SystemExit, KeyboardInterrupt) as e: - if self.verbose > 1: + if self.options.verbose > 1: raise if str(e): msg = ' ' + str(e) @@ -363,7 +362,7 @@ class PServeCommand(object): "Daemon is already running (PID: %s from PID file %s)" % (pid, self.options.pid_file)) - if self.verbose > 0: + if self.options.verbose > 0: self.out('Entering daemon mode') pid = os.fork() if pid: @@ -438,11 +437,11 @@ class PServeCommand(object): def record_pid(self, pid_file): pid = os.getpid() - if self.verbose > 1: + if self.options.verbose > 1: self.out('Writing PID %s to %s' % (pid, pid_file)) with open(pid_file, 'w') as f: f.write(str(pid)) - atexit.register(self._remove_pid_file, pid, pid_file, self.verbose) + atexit.register(self._remove_pid_file, pid, pid_file, self.options.verbose) def stop_daemon(self): # pragma: no cover pid_file = self.options.pid_file or 'pyramid.pid' @@ -495,7 +494,7 @@ class PServeCommand(object): self.restart_with_monitor(reloader=True) def restart_with_monitor(self, reloader=False): # pragma: no cover - if self.verbose > 0: + if self.options.verbose > 0: if reloader: self.out('Starting subprocess with file monitor') else: @@ -516,7 +515,7 @@ class PServeCommand(object): proc = None except KeyboardInterrupt: self.out('^C caught in monitor process') - if self.verbose > 1: + if self.options.verbose > 1: raise return 1 finally: @@ -532,7 +531,7 @@ class PServeCommand(object): # a monitor, any exit code will restart if exit_code != 3: return exit_code - if self.verbose > 0: + if self.options.verbose > 0: self.out('%s %s %s' % ('-' * 20, 'Restarting', '-' * 20)) def change_user_group(self, user, group): # pragma: no cover @@ -564,7 +563,7 @@ class PServeCommand(object): if not gid: gid = entry.pw_gid uid = entry.pw_uid - if self.verbose > 0: + if self.options.verbose > 0: self.out('Changing user to %s:%s (%s:%s)' % ( user, group or '(unknown)', uid, gid)) if gid: -- cgit v1.2.3 From b18bdeeda1c837456c7c677c0fd49567bb72fdd8 Mon Sep 17 00:00:00 2001 From: Julian Paul Glass Date: Thu, 1 Aug 2013 00:52:07 +1000 Subject: table layouts and templates, query attributes (edit,new,del) --- pyramid/tests/test_scripts/test_pserve.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyramid/tests/test_scripts/test_pserve.py b/pyramid/tests/test_scripts/test_pserve.py index 6e4b0f17d..107ff4c0a 100644 --- a/pyramid/tests/test_scripts/test_pserve.py +++ b/pyramid/tests/test_scripts/test_pserve.py @@ -156,7 +156,7 @@ class TestPServeCommand(unittest.TestCase): self.pid_file = tempfile.mktemp() pid = os.getpid() inst = self._makeOne() - inst.verbose = verbosity + inst.options.verbose = verbosity try: atexit.register = fake_atexit -- cgit v1.2.3 From 26b33b3e42aa216e55404259ef296acfc7975244 Mon Sep 17 00:00:00 2001 From: Julian Paul Glass Date: Thu, 1 Aug 2013 00:52:07 +1000 Subject: Updated test_pserve.py - ins.options.verbose --- pyramid/tests/test_scripts/test_pserve.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyramid/tests/test_scripts/test_pserve.py b/pyramid/tests/test_scripts/test_pserve.py index 6e4b0f17d..107ff4c0a 100644 --- a/pyramid/tests/test_scripts/test_pserve.py +++ b/pyramid/tests/test_scripts/test_pserve.py @@ -156,7 +156,7 @@ class TestPServeCommand(unittest.TestCase): self.pid_file = tempfile.mktemp() pid = os.getpid() inst = self._makeOne() - inst.verbose = verbosity + inst.options.verbose = verbosity try: atexit.register = fake_atexit -- cgit v1.2.3 From abed945e78fab649d6e2885feba1eaa3ede9f9be Mon Sep 17 00:00:00 2001 From: Julian Paul Glass Date: Thu, 1 Aug 2013 01:39:04 +1000 Subject: Changed to an incrementing verbose level, (-q, --quiet) option added, all references to quiet=BOOL removed (can't have both) Updated test_pserve.py --- pyramid/scripts/pserve.py | 18 +++++++++++------- pyramid/tests/test_scripts/test_pserve.py | 2 +- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/pyramid/scripts/pserve.py b/pyramid/scripts/pserve.py index c012abb01..89bfc765f 100644 --- a/pyramid/scripts/pserve.py +++ b/pyramid/scripts/pserve.py @@ -45,8 +45,8 @@ if WIN and not hasattr(os, 'kill'): # pragma: no cover else: kill = os.kill -def main(argv=sys.argv, quiet=False): - command = PServeCommand(argv, quiet=quiet) +def main(argv=sys.argv): + command = PServeCommand(argv) return command.run() class DaemonizeException(Exception): @@ -129,8 +129,14 @@ class PServeCommand(object): '-v', '--verbose', default=default_verbosity, dest='verbose', - type=int, + action='count', help="Set verbose level (default "+str(default_verbosity)+")") + parser.add_option( + '-q', '--quiet', + action='store_const', + const=0, + dest='verbose', + help="Suppress verbose output") if hasattr(os, 'setuid'): # I don't think these are available on Windows @@ -159,13 +165,11 @@ class PServeCommand(object): possible_subcommands = ('start', 'stop', 'restart', 'status') - def __init__(self, argv, quiet=False): - self.quiet = quiet + def __init__(self, argv): self.options, self.args = self.parser.parse_args(argv[1:]) def out(self, msg): # pragma: no cover - if not self.quiet: - print(msg) + print(msg) def get_options(self): if (len(self.args) > 1 diff --git a/pyramid/tests/test_scripts/test_pserve.py b/pyramid/tests/test_scripts/test_pserve.py index 107ff4c0a..350487e2a 100644 --- a/pyramid/tests/test_scripts/test_pserve.py +++ b/pyramid/tests/test_scripts/test_pserve.py @@ -259,7 +259,7 @@ class Test_read_pidfile(unittest.TestCase): class Test_main(unittest.TestCase): def _callFUT(self, argv): from pyramid.scripts.pserve import main - return main(argv, quiet=True) + return main(argv) def test_it(self): result = self._callFUT(['pserve']) -- cgit v1.2.3 From eac06005ac849b279b94149bbbf87d2aff802495 Mon Sep 17 00:00:00 2001 From: Julian Paul Glass Date: Fri, 2 Aug 2013 19:57:42 +1000 Subject: quiet keyword sets verbose level to 0, test_pserve.py restored to previous state --- pyramid/scripts/pserve.py | 11 +++++++---- pyramid/tests/test_scripts/test_pserve.py | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/pyramid/scripts/pserve.py b/pyramid/scripts/pserve.py index 89bfc765f..cc368d721 100644 --- a/pyramid/scripts/pserve.py +++ b/pyramid/scripts/pserve.py @@ -45,8 +45,8 @@ if WIN and not hasattr(os, 'kill'): # pragma: no cover else: kill = os.kill -def main(argv=sys.argv): - command = PServeCommand(argv) +def main(argv=sys.argv, quiet=False): + command = PServeCommand(argv, quiet=quiet) return command.run() class DaemonizeException(Exception): @@ -165,11 +165,14 @@ class PServeCommand(object): possible_subcommands = ('start', 'stop', 'restart', 'status') - def __init__(self, argv): + def __init__(self, argv, quiet=False): self.options, self.args = self.parser.parse_args(argv[1:]) + if quiet: + self.options.verbose = 0 def out(self, msg): # pragma: no cover - print(msg) + if self.options.verbose > 0: + print(msg) def get_options(self): if (len(self.args) > 1 diff --git a/pyramid/tests/test_scripts/test_pserve.py b/pyramid/tests/test_scripts/test_pserve.py index 350487e2a..107ff4c0a 100644 --- a/pyramid/tests/test_scripts/test_pserve.py +++ b/pyramid/tests/test_scripts/test_pserve.py @@ -259,7 +259,7 @@ class Test_read_pidfile(unittest.TestCase): class Test_main(unittest.TestCase): def _callFUT(self, argv): from pyramid.scripts.pserve import main - return main(argv) + return main(argv, quiet=True) def test_it(self): result = self._callFUT(['pserve']) -- cgit v1.2.3