##// END OF EJS Templates
skip_known_failure using skip, not knowfailureif...
skip_known_failure using skip, not knowfailureif Thomas and I looked into getting the known failures to show up as 'K', instead of 'E', but it involved grabbing a custom nose plugin from numpy and didn't seem worth the trouble. So I'm putting skip_known_failure back to use skip and show up as 'S'.

File last commit:

r3504:24c0eec4
r3506:f8994e52
Show More
sympy_printing.py
72 lines | 2.3 KiB | text/x-python | PythonLexer
"""A print function that pretty prints sympy Basic objects.
Authors:
* Brian Granger
"""
#-----------------------------------------------------------------------------
# Copyright (C) 2008-2011 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
from IPython.lib.latextools import latex_to_png
from IPython.testing import decorators as dec
try:
from sympy import pretty, latex
except ImportError:
pass
#-----------------------------------------------------------------------------
# Definitions of magic functions for use with IPython
#-----------------------------------------------------------------------------
@dec.skipif_not_sympy
def print_basic_unicode(o, p, cycle):
"""A function to pretty print sympy Basic objects."""
if cycle:
return p.text('Basic(...)')
out = pretty(o, use_unicode=True)
if '\n' in out:
p.text(u'\n')
p.text(out)
@dec.skipif_not_sympy
def print_png(o):
"""A funciton to display sympy expression using LaTex -> PNG."""
s = latex(o, mode='inline')
# mathtext does not understand certain latex flags, so we try to replace
# them with suitable subs.
s = s.replace('\\operatorname','')
s = s.replace('\\overline', '\\bar')
png = latex_to_png(s, encode=True)
return png
_loaded = False
@dec.skipif_not_sympy
def load_ipython_extension(ip):
"""Load the extension in IPython."""
global _loaded
if not _loaded:
plaintext_formatter = ip.display_formatter.formatters['text/plain']
plaintext_formatter.for_type_by_name(
'sympy.core.basic', 'Basic', print_basic_unicode
)
plaintext_formatter.for_type_by_name(
'sympy.matrices.matrices', 'Matrix', print_basic_unicode
)
png_formatter = ip.display_formatter.formatters['image/png']
png_formatter.for_type_by_name(
'sympy.core.basic', 'Basic', print_png
)
_loaded = True