本文整理汇总了Python中pagure.LOG.exception方法的典型用法代码示例。如果您正苦于以下问题:Python LOG.exception方法的具体用法?Python LOG.exception怎么用?Python LOG.exception使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pagure.LOG
的用法示例。
在下文中一共展示了LOG.exception方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: view_issue_raw_file
# 需要导入模块: from pagure import LOG [as 别名]
# 或者: from pagure.LOG import exception [as 别名]
def view_issue_raw_file(
repo, filename=None, username=None, namespace=None):
""" Displays the raw content of a file of a commit for the specified
ticket repo.
"""
repo = flask.g.repo
if not repo.settings.get('issue_tracker', True):
flask.abort(404, 'No issue tracker found for this project')
reponame = os.path.join(APP.config['TICKETS_FOLDER'], repo.path)
repo_obj = pygit2.Repository(reponame)
if repo_obj.is_empty:
flask.abort(404, 'Empty repo cannot have a file')
branch = repo_obj.lookup_branch('master')
commit = branch.get_object()
mimetype = None
encoding = None
content = __get_file_in_tree(
repo_obj, commit.tree, filename.split('/'), bail_on_tree=True)
if not content or isinstance(content, pygit2.Tree):
flask.abort(404, 'File not found')
mimetype, encoding = mimetypes.guess_type(filename)
data = repo_obj[content.oid].data
if not data:
flask.abort(404, 'No content found')
if (filename.endswith('.patch') or filename.endswith('.diff')) \
and not is_binary_string(content.data):
# We have a patch file attached to this issue, render the diff in html
orig_filename = filename.partition('-')[2]
return flask.render_template(
'patchfile.html',
select='issues',
repo=repo,
username=username,
diff=data,
patchfile=orig_filename,
form=pagure.forms.ConfirmationForm(),
)
if not mimetype and data[:2] == '#!':
mimetype = 'text/plain'
headers = {}
if not mimetype:
if '\0' in data:
mimetype = 'application/octet-stream'
else:
mimetype = 'text/plain'
elif 'html' in mimetype:
mimetype = 'application/octet-stream'
headers['Content-Disposition'] = 'attachment'
if mimetype.startswith('text/') and not encoding:
try:
encoding = pagure.lib.encoding_utils.guess_encoding(
ktc.to_bytes(data))
except pagure.exceptions.PagureException:
# We cannot decode the file, so bail but warn the admins
LOG.exception('File could not be decoded')
if encoding:
mimetype += '; charset={encoding}'.format(encoding=encoding)
headers['Content-Type'] = mimetype
return (data, 200, headers)