Skip to content

Commit aafd005

Browse files
committed
Improve feedback for oauth errors.
1 parent 0c3e424 commit aafd005

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

jira/jirashell.py

+11-2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
from jira import JIRA, __version__
2323

2424
CONFIG_PATH = os.path.join(os.path.expanduser("~"), ".jira-python", "jirashell.ini")
25+
SENTINEL = object()
2526

2627

2728
def oauth_dance(server, consumer_key, key_cert_data, print_tokens=False, verify=None):
@@ -34,8 +35,16 @@ def oauth_dance(server, consumer_key, key_cert_data, print_tokens=False, verify=
3435
server + "/plugins/servlet/oauth/request-token", verify=verify, auth=oauth
3536
)
3637
request = dict(parse_qsl(r.text))
37-
request_token = request["oauth_token"]
38-
request_token_secret = request["oauth_token_secret"]
38+
request_token = request.get("oauth_token", SENTINEL)
39+
request_token_secret = request.get("oauth_token_secret", SENTINEL)
40+
if request_token is SENTINEL or request_token_secret is SENTINEL:
41+
problem = request.get("oauth_problem")
42+
if problem is not None:
43+
message = "OAuth error: {}".format(problem)
44+
else:
45+
message = " ".join(f"{key}:{value}" for key, value in request.items())
46+
exit(message)
47+
3948
if print_tokens:
4049
print("Request tokens received.")
4150
print(" Request token: {}".format(request_token))

0 commit comments

Comments
 (0)