зеркало из https://github.com/mozilla/gecko-dev.git
59 строки
1.8 KiB
Python
59 строки
1.8 KiB
Python
# 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)
|