From 139ab3133df996a8916063e98b9bed0d55a0ba0a Mon Sep 17 00:00:00 2001 From: Casey Deccio Date: Fri, 5 Feb 2021 16:47:50 -0700 Subject: Update version checking for pygraphviz 1.7 --- dnsviz/commands/graph.py | 15 +++++++++++---- dnsviz/commands/print.py | 15 +++++++++++---- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/dnsviz/commands/graph.py b/dnsviz/commands/graph.py index f6b45cb..2719b1d 100644 --- a/dnsviz/commands/graph.py +++ b/dnsviz/commands/graph.py @@ -112,16 +112,23 @@ def finish_graph(G, name_objs, rdtypes, trusted_keys, supported_algs, fmt, filen def test_pygraphviz(): try: - from pygraphviz import release try: - major, minor = release.version.split('.')[:2] + # pygraphviz < 1.7 used pygraphviz.release.version + from pygraphviz import release + version = release.version + except ImportError: + # pygraphviz 1.7 changed to pygraphviz.__version__ + from pygraphviz import __version__ + version = __version__ + try: + major, minor = version.split('.')[:2] major = int(major) minor = int(re.sub(r'(\d+)[^\d].*', r'\1', minor)) if (major, minor) < (1,3): - logger.error('''pygraphviz version >= 1.3 is required, but version %s is installed.''' % release.version) + logger.error('''pygraphviz version >= 1.3 is required, but version %s is installed.''' % version) sys.exit(2) except ValueError: - logger.error('''pygraphviz version >= 1.3 is required, but version %s is installed.''' % release.version) + logger.error('''pygraphviz version >= 1.3 is required, but version %s is installed.''' % version) sys.exit(2) except ImportError: logger.error('''pygraphviz is required, but not installed.''') diff --git a/dnsviz/commands/print.py b/dnsviz/commands/print.py index 2597136..3dcbb8d 100644 --- a/dnsviz/commands/print.py +++ b/dnsviz/commands/print.py @@ -272,16 +272,23 @@ def textualize_status_output(names, show_color): def test_pygraphviz(): try: - from pygraphviz import release try: - major, minor = release.version.split('.')[:2] + # pygraphviz < 1.7 used pygraphviz.release.version + from pygraphviz import release + version = release.version + except ImportError: + # pygraphviz 1.7 changed to pygraphviz.__version__ + from pygraphviz import __version__ + version = __version__ + try: + major, minor = version.split('.')[:2] major = int(major) minor = int(re.sub(r'(\d+)[^\d].*', r'\1', minor)) if (major, minor) < (1,3): - logger.error('''pygraphviz version >= 1.3 is required, but version %s is installed.''' % release.version) + logger.error('''pygraphviz version >= 1.3 is required, but version %s is installed.''' % version) sys.exit(2) except ValueError: - logger.error('''pygraphviz version >= 1.3 is required, but version %s is installed.''' % release.version) + logger.error('''pygraphviz version >= 1.3 is required, but version %s is installed.''' % version) sys.exit(2) except ImportError: logger.error('''pygraphviz is required, but not installed.''') -- cgit v1.2.3