#16242: assert_have_dot2tex should reraise exception not replace it
----------------------------------+----------------------------
   Reporter:  slabbe              |            Owner:  slabbe
       Type:  defect              |           Status:  new
   Priority:  major               |        Milestone:  sage-6.2
  Component:  packages: optional  |         Keywords:
  Merged in:                      |          Authors:
  Reviewers:                      |  Report Upstream:  N/A
Work issues:                      |           Branch:
     Commit:                      |     Dependencies:
   Stopgaps:                      |
----------------------------------+----------------------------
 I installed {{{sage -i dot2tex}}} and then, the method
 {{{assert_have_dot2tex}}} says that {{{dot2tex not available}}}.

 The reason is that the function {{{assert_have_dot2tex}}} replaces the
 {{{ImportError}}} (in my case a pyparsing importerror) by a
 {{{RuntimeError}}} with the {{{dot2tex not available}}} message. This
 hides the real error.

 BEFORE fix:

 {{{
 sage: from sage.graphs.dot2tex_utils import assert_have_dot2tex
 sage: assert_have_dot2tex()
 ---------------------------------------------------------------------------
 RuntimeError                              Traceback (most recent call
 last)
 <ipython-input-2-9f40acb4631c> in <module>()
 ----> 1 assert_have_dot2tex()

 /Users/slabbe/Applications/sage-review/local/lib/python2.7/site-
 packages/sage/graphs/dot2tex_utils.pyc in assert_have_dot2tex()
      60             raise RuntimeError(check_error_string)
      61     except ImportError:
 ---> 62         raise RuntimeError(missing_error_string)
      63
      64 def quoted_latex(x):

 RuntimeError:
 dot2tex not available.

 Please see :meth:`sage.graphs.generic_graph.GenericGraph.layout_graphviz`
 for installation instructions.

 }}}

 AFTER fix:

 {{{
 sage: from sage.graphs.dot2tex_utils import assert_have_dot2tex
 sage: assert_have_dot2tex()

 An error occured when importing dot2tex.

 Please see :meth:`sage.graphs.generic_graph.GenericGraph.layout_graphviz`
 for installation instructions.

 ---------------------------------------------------------------------------
 ImportError                               Traceback (most recent call
 last)
 <ipython-input-2-9f40acb4631c> in <module>()
 ----> 1 assert_have_dot2tex()

 /Users/slabbe/Applications/sage-git/local/lib/python2.7/site-
 packages/sage/graphs/dot2tex_utils.pyc in assert_have_dot2tex()
      56 """
      57     try:
 ---> 58         import dot2tex
      59     except ImportError as e:
      60         print import_error_string

 /Users/slabbe/Applications/sage-git/local/lib/python2.7/site-
 packages/dot2tex/__init__.py in <module>()
      34
      35
 ---> 36 import dot2tex as d2t
      37
      38 def get_logstream():

 /Users/slabbe/Applications/sage-git/local/lib/python2.7/site-
 packages/dot2tex/dot2tex.py in <module>()
      45 import warnings
      46
 ---> 47 import dotparsing
      48
      49 # Silence DeprecationWarnings about os.popen3 in Python 2.6

 /Users/slabbe/Applications/sage-git/local/lib/python2.7/site-
 packages/dot2tex/dotparsing.py in <module>()
      24     import matplotlib.pyparsing_py2 as pyparsing
      25 except ImportError:
 ---> 26     import matplotlib.pyparsing as pyparsing
      27     # just raise if that failed, too
      28

 ImportError: No module named pyparsing

 }}}

--
Ticket URL: <http://trac.sagemath.org/ticket/16242>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to