/usr/lib/python3/dist-packages/jira/exceptions.py is in python3-jira 1.0.10-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | import os
import tempfile
class JIRAError(Exception):
"""General error raised for all problems in operation of the client."""
log_to_tempfile = True
if 'TRAVIS' in os.environ:
log_to_tempfile = False # Travis is keeping only the console log.
def __init__(self, status_code=None, text=None, url=None, request=None, response=None, **kwargs):
self.status_code = status_code
self.text = text
self.url = url
self.request = request
self.response = response
self.headers = kwargs.get('headers', None)
self.log_to_tempfile = False
self.travis = False
if 'PYJIRA_LOG_TO_TEMPFILE' in os.environ:
self.log_to_tempfile = True
if 'TRAVIS' in os.environ:
self.travis = True
def __str__(self):
"""Return a string representation of the error."""
t = "JiraError HTTP %s" % self.status_code
if self.url:
t += " url: %s" % self.url
details = ""
if self.request is not None and hasattr(self.request, 'headers'):
details += "\n\trequest headers = %s" % self.request.headers
if self.request is not None and hasattr(self.request, 'text'):
details += "\n\trequest text = %s" % self.request.text
if self.response is not None and hasattr(self.response, 'headers'):
details += "\n\tresponse headers = %s" % self.response.headers
if self.response is not None and hasattr(self.response, 'text'):
details += "\n\tresponse text = %s" % self.response.text
# separate logging for Travis makes sense.
if self.travis:
if self.text:
t += "\n\ttext: %s" % self.text
t += details
# Only log to tempfile if the option is set.
elif self.log_to_tempfile:
fd, file_name = tempfile.mkstemp(suffix='.tmp', prefix='jiraerror-')
with open(file_name, "w") as f:
t += " details: %s" % file_name
f.write(details)
# Otherwise, just return the error as usual
else:
if self.text:
t += "\n\ttext: %s" % self.text
t += "\n\t" + details
return t
|