def view_file(filename):
""" Views file with syntax highlighting (if applicable)
Args:
filename (str): Full path to filename to render view response for.
"""
folder = filename.split(_AEON_TOPDIR).pop().strip('/')
filename = os.path.join(_AEON_TOPDIR, filename)
try:
with open(filename, 'r') as f:
data = f.read()
# lexer = guess_lexer_for_filename(filename, data)
formatter = HtmlFormatter(linenos=True)
try:
lexer = get_lexer_for_filename(filename)
code = highlight(data, lexer, formatter)
except ClassNotFound:
lexer = TextLexer()
code = highlight(data, lexer, formatter)
stat = os.stat(filename)
return render_template('view.html', content=code, folder=folder, stat=stat, filename=filename)
except (OSError, IOError) as e:
code = e[0]
reason = e[1]
flash('Error: Could not view file {filename}: {reason} ({code})'.format(filename=filename, reason=reason,
code=code), 'danger')
return render_template('view.html')
评论列表
文章目录