From f7337bbc39bbcbb1e41a0aba059ac70162d47fbd Mon Sep 17 00:00:00 2001 From: Jan Pokorný Date: Tue, 22 Oct 2013 22:42:52 +0200 Subject: lib: more graceful handling of old xdot (as in PyPI) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jan Pokorný --- lib.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib.py b/lib.py index a4f01e3..90f6f45 100644 --- a/lib.py +++ b/lib.py @@ -6,6 +6,7 @@ """Custom wrapping of pydot""" from os.path import extsep +from sys import stderr from pydot import Dot, Edge, Node, Subgraph REGISTRY = {} @@ -148,7 +149,8 @@ def xdot_graph(*args, **kwargs): try: import xdot except ImportError: - print 'missing xdot; use "pip install xdot" or equivalent' + print >>stderr, 'missing xdot; (currently) recommended way to grab it:' + print >>stderr, 'pip install --user https://github.com/jrfonseca/xdot.py/archive/master.zip' raise class LibDotWidget(xdot.DotWidget): @@ -262,7 +264,11 @@ def xdot_graph(*args, **kwargs): self._args = args self._kwargs = kwargs self._can_change = True - super(LibDotWindow, self).__init__(LibDotWidget()) + try: + super(LibDotWindow, self).__init__(LibDotWidget()) + except TypeError: + print >>stderr, "xdot too old, you won't get tooltips :-/" + super(LibDotWindow, self).__init__() dotcode = gen_graph(*args, **kwargs).to_string() title = dotcode[dotcode.find('digraph', 0, 512) + len('digraph') : -- cgit