From 8c33e5e3d31d3cd6476c4d9bc963a4c529f883d2 Mon Sep 17 00:00:00 2001 From: Jakub Roztocil Date: Sun, 28 Feb 2016 19:01:54 +0800 Subject: [PATCH] Parser => HTTPieArgumentParser --- httpie/cli.py | 9 ++++++--- httpie/input.py | 8 ++++---- tests/test_cli.py | 2 +- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/httpie/cli.py b/httpie/cli.py index 9a4d92ac..5723532f 100644 --- a/httpie/cli.py +++ b/httpie/cli.py @@ -13,7 +13,8 @@ from httpie.plugins.builtin import BuiltinAuthPlugin from httpie.plugins import plugin_manager from httpie.sessions import DEFAULT_SESSIONS_DIR from httpie.output.formatters.colors import AVAILABLE_STYLES, DEFAULT_STYLE -from httpie.input import (Parser, AuthCredentialsArgType, KeyValueArgType, +from httpie.input import (HTTPieArgumentParser, + AuthCredentialsArgType, KeyValueArgType, SEP_PROXY, SEP_CREDENTIALS, SEP_GROUP_ALL_ITEMS, OUT_REQ_HEAD, OUT_REQ_BODY, OUT_RESP_HEAD, OUT_RESP_BODY, OUTPUT_OPTIONS, @@ -40,7 +41,7 @@ class HTTPieHelpFormatter(RawDescriptionHelpFormatter): text = dedent(text).strip() + '\n\n' return text.splitlines() -parser = Parser( +parser = HTTPieArgumentParser( formatter_class=HTTPieHelpFormatter, description='%s ' % __doc__.strip(), epilog=dedent(""" @@ -51,10 +52,12 @@ parser = Parser( https://github.com/jkbrzt/httpie/issues - """) + """), + usage='see http --help' ) + ####################################################################### # Positional arguments. ####################################################################### diff --git a/httpie/input.py b/httpie/input.py index 6e259bbe..53810978 100644 --- a/httpie/input.py +++ b/httpie/input.py @@ -103,7 +103,7 @@ OUTPUT_OPTIONS_DEFAULT = OUT_RESP_HEAD + OUT_RESP_BODY OUTPUT_OPTIONS_DEFAULT_STDOUT_REDIRECTED = OUT_RESP_BODY -class Parser(ArgumentParser): +class HTTPieArgumentParser(ArgumentParser): """Adds additional logic to `argparse.ArgumentParser`. Handles all input (CLI args, file args, stdin), applies defaults, @@ -113,13 +113,13 @@ class Parser(ArgumentParser): def __init__(self, *args, **kwargs): kwargs['add_help'] = False - super(Parser, self).__init__(*args, **kwargs) + super(HTTPieArgumentParser, self).__init__(*args, **kwargs) # noinspection PyMethodOverriding def parse_args(self, env, args=None, namespace=None): self.env = env - self.args, no_options = super(Parser, self)\ + self.args, no_options = super(HTTPieArgumentParser, self)\ .parse_known_args(args, namespace) if self.args.debug: @@ -164,7 +164,7 @@ class Parser(ArgumentParser): }.get(file, file) if not hasattr(file, 'buffer') and isinstance(message, str): message = message.encode(self.env.stdout_encoding) - super(Parser, self)._print_message(message, file) + super(HTTPieArgumentParser, self)._print_message(message, file) def _setup_standard_streams(self): """ diff --git a/tests/test_cli.py b/tests/test_cli.py index 73f68f71..00beb16b 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -201,7 +201,7 @@ class TestURLshorthand: class TestArgumentParser: def setup_method(self, method): - self.parser = input.Parser() + self.parser = input.HTTPieArgumentParser() def test_guess_when_method_set_and_valid(self): self.parser.args = argparse.Namespace()