diff --git a/dot2tex/dotparsing.py b/dot2tex/dotparsing.py index 391b5dc..6dc77a3 100644 --- a/dot2tex/dotparsing.py +++ b/dot2tex/dotparsing.py @@ -180,18 +180,8 @@ def __find_executables(path): def find_graphviz(): """Locate Graphviz's executables in the system. - Tries three methods: - - First: Windows Registry (Windows only) - This requires Mark Hammond's pywin32 is installed. - - Secondly: Search the path - It will look for 'dot', 'twopi' and 'neato' in all the directories - specified in the PATH environment variable. - - Thirdly: Default install location (Windows only) - It will look for 'dot', 'twopi' and 'neato' in the default install - location under the "Program Files" directory. + It will look for 'dot', 'twopi' and 'neato' in + @graphviz@/bin. It will return a dictionary containing the program names as keys and their paths as values. @@ -199,75 +189,9 @@ def find_graphviz(): If this fails, it returns None. """ - # Method 1 (Windows only) - # - if os.sys.platform == 'win32': - try: - import win32api, win32con - - # Get the GraphViz install path from the registry - # - hkey = win32api.RegOpenKeyEx(win32con.HKEY_LOCAL_MACHINE, - "SOFTWARE\AT&T Research Labs\Graphviz", 0, win32con.KEY_QUERY_VALUE) - - path = win32api.RegQueryValueEx(hkey, "InstallPath")[0] - win32api.RegCloseKey(hkey) - - # Now append the "bin" subdirectory: - # - path = os.path.join(path, "bin") - progs = __find_executables(path) - if progs is not None: - # print("Used Windows registry") - return progs - - except ImportError: - # Print a messaged suggesting they install these? - # - log.debug('The win32api is not installed') - pass - except: - log.debug('Failed to access the registry key') - - # Method 2 (Linux, Windows etc) - # - if 'PATH' in os.environ: - for path in os.environ['PATH'].split(os.pathsep): - progs = __find_executables(path) - if progs is not None: - return progs - - # Method 3 (Windows only) - # - if os.sys.platform == 'win32': - # Try and work out the equivalent of "C:\Program Files" on this - # machine (might be on drive D:, or in a different language) - # - if 'PROGRAMFILES' in os.environ: - # Note, we could also use the win32api to get this - # information, but win32api may not be installed. - - path = os.path.join(os.environ['PROGRAMFILES'], 'ATT', 'GraphViz', 'bin') - - else: - # Just in case, try the default... - path = r"C:\Program Files\att\Graphviz\bin" - - progs = __find_executables(path) - - if progs is not None: - # print("Used default install location") - return progs - - for path in ( - '/usr/bin', '/usr/local/bin', - '/opt/local/bin', - '/opt/bin', '/sw/bin', '/usr/share', - '/Applications/Graphviz.app/Contents/MacOS/'): - progs = __find_executables(path) - if progs is not None: - # print("Used path") - return progs + progs = __find_executables('@graphviz@/bin') + if progs is not None: + return progs # Failed to find GraphViz #