diff options
Diffstat (limited to 'testing/web-platform/update/updatecommandline.py')
-rw-r--r-- | testing/web-platform/update/updatecommandline.py | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/testing/web-platform/update/updatecommandline.py b/testing/web-platform/update/updatecommandline.py new file mode 100644 index 0000000000..9e8cd8673e --- /dev/null +++ b/testing/web-platform/update/updatecommandline.py @@ -0,0 +1,58 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + + +def create_parser(): + from wptrunner import wptcommandline + + parser = wptcommandline.create_parser_update() + parser.add_argument( + "--upstream", + dest="upstream", + action="store_true", + default=None, + help="Push local changes to upstream repository even when not syncing", + ) + parser.add_argument( + "--no-upstream", + dest="upstream", + action="store_false", + default=None, + help="Dont't push local changes to upstream repository when syncing", + ) + parser.add_argument( + "--token-file", + action="store", + type=wptcommandline.abs_path, + help="Path to file containing github token", + ) + parser.add_argument("--token", action="store", help="GitHub token to use") + return parser + + +def check_args(kwargs): + from wptrunner import wptcommandline + + kwargs = wptcommandline.check_args_update(kwargs) + kwargs["upstream"] = ( + kwargs["upstream"] if kwargs["upstream"] is not None else kwargs["sync"] + ) + + if kwargs["upstream"]: + if kwargs["rev"]: + raise ValueError("Setting --rev with --upstream isn't supported") + if kwargs["token"] is None: + if kwargs["token_file"] is None: + raise ValueError("Must supply either a token file or a token") + with open(kwargs["token_file"]) as f: + token = f.read().strip() + kwargs["token"] = token + del kwargs["token_file"] + return kwargs + + +def parse_args(): + parser = create_parser() + kwargs = vars(parser.parse_args()) + return check_args(kwargs) |