Skip to content

Commit aed55dc

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

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

jira/jirashell.py

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

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

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

0 commit comments

Comments
 (0)