def pathVMD(*path): """Returns VMD path, or set it to be a user specified *path*.""" if not path: path = SETTINGS.get('vmd', None) if isExecutable(path): return path else: LOGGER.warning('VMD path is not set by user, looking for it.') vmdbin = None vmddir = None if PLATFORM == 'Windows': if PY3K: import winreg else: import _winreg as winreg # PY3K: OK for vmdversion in ('1.8.7', '1.9', '1.9.1'): try: key = winreg.OpenKey( winreg.HKEY_LOCAL_MACHINE, 'Software\\University of Illinois\\VMD\\' + vmdversion) vmddir = winreg.QueryValueEx(key, 'VMDDIR')[0] vmdbin = join(vmddir, 'vmd.exe') except: pass try: key = winreg.OpenKey( winreg.HKEY_LOCAL_MACHINE, 'Software\\WOW6432node\\University of Illinois\\VMD\\' + vmdversion) vmddir = winreg.QueryValueEx(key, 'VMDDIR')[0] vmdbin = join(vmddir, 'vmd.exe') except: pass else: vmdbin = which('vmd') if False: pipe = os.popen('which vmd') vmdbin = pipe.next().strip() vmdfile = open(vmdbin) for line in vmdfile: if line.startswith('defaultvmddir='): vmddir = line.split('=')[1].replace('"', '') break vmdfile.close() if isExecutable(vmdbin): setVMDpath(vmdbin) return vmdbin elif len(path) == 1: path = path[0] if isExecutable(path): SETTINGS['vmd'] = path SETTINGS.save() LOGGER.info("VMD path is set to '{0}'.".format(path)) else: raise OSError('{0} is not executable.'.format(str(path))) else: raise ValueError('specify a single path string')
def pathVMD(*path): """Return VMD path, or set it to be a user specified *path*.""" if not path: path = SETTINGS.get('vmd', None) if isExecutable(path): return path else: LOGGER.warning('VMD path is not set by user, looking for it.') vmdbin = None vmddir = None if PLATFORM == 'Windows': if PY3K: import winreg else: import _winreg as winreg # PY3K: OK for vmdversion in ('1.8.7', '1.9', '1.9.1'): try: key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, 'Software\\University of Illinois\\VMD\\' + vmdversion) vmddir = winreg.QueryValueEx(key, 'VMDDIR')[0] vmdbin = join(vmddir, 'vmd.exe') except: pass try: key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, 'Software\\WOW6432node\\University of Illinois\\VMD\\' + vmdversion) vmddir = winreg.QueryValueEx(key, 'VMDDIR')[0] vmdbin = join(vmddir, 'vmd.exe') except: pass else: vmdbin = which('vmd') if False: pipe = os.popen('which vmd') vmdbin = pipe.next().strip() vmdfile = open(vmdbin) for line in vmdfile: if line.startswith('defaultvmddir='): vmddir = line.split('=')[1].replace('"', '') break vmdfile.close() if isExecutable(vmdbin): setVMDpath(vmdbin) return vmdbin elif len(path) == 1: path = path[0] if isExecutable(path): SETTINGS['vmd'] = path SETTINGS.save() LOGGER.info("VMD path is set to '{0}'.".format(path)) else: raise OSError('{0} is not executable.'.format(str(path))) else: raise ValueError('specify a single path string')
def getVMDpath(): """Return VMD path set by user or one identified automatically.""" path = SETTINGS.get("vmd", None) if isExecutable(path): return path else: LOGGER.warning("VMD path is not set by user, looking for it.") from types import StringType, UnicodeType vmdbin = None vmddir = None if PLATFORM == "Windows": import _winreg for vmdversion in ("1.8.7", "1.9", "1.9.1"): try: key = _winreg.OpenKey( _winreg.HKEY_LOCAL_MACHINE, "Software\\University of Illinois\\VMD\\" + vmdversion ) vmddir = _winreg.QueryValueEx(key, "VMDDIR")[0] vmdbin = os.path.join(vmddir, "vmd.exe") except: pass try: key = _winreg.OpenKey( _winreg.HKEY_LOCAL_MACHINE, "Software\\WOW6432node\\University of Illinois\\VMD\\" + vmdversion ) vmddir = _winreg.QueryValueEx(key, "VMDDIR")[0] vmdbin = os.path.join(vmddir, "vmd.exe") except: pass else: vmdbin = which("vmd") if False: pipe = os.popen("which vmd") vmdbin = pipe.next().strip() vmdfile = open(vmdbin) for line in vmdfile: if line.startswith("defaultvmddir="): vmddir = line.split("=")[1].replace('"', "") break vmdfile.close() if ( False and isinstance(vmdbin, (StringType, UnicodeType)) and isinstance(vmddir, (StringType, UnicodeType)) and os.path.isfile(vmdbin) and os.path.isdir(vmddir) ): pass # return vmdbin, vmddir if isExecutable(vmdbin): setVMDpath(vmdbin) return vmdbin
def getVMDpath(): """Return VMD path set by user or one identified automatically.""" path = SETTINGS.get('vmd', None) if isExecutable(path): return path else: LOGGER.warning('VMD path is not set by user, looking for it.') from types import StringType, UnicodeType vmdbin = None vmddir = None if PLATFORM == 'Windows': import _winreg for vmdversion in ('1.8.7', '1.9', '1.9.1'): try: key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, 'Software\\University of Illinois\\VMD\\' + vmdversion) vmddir = _winreg.QueryValueEx(key, 'VMDDIR')[0] vmdbin = os.path.join(vmddir, 'vmd.exe') except: pass try: key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, 'Software\\WOW6432node\\University of Illinois\\VMD\\' + vmdversion) vmddir = _winreg.QueryValueEx(key, 'VMDDIR')[0] vmdbin = os.path.join(vmddir, 'vmd.exe') except: pass else: vmdbin = which('vmd') if False: pipe = os.popen('which vmd') vmdbin = pipe.next().strip() vmdfile = open(vmdbin) for line in vmdfile: if line.startswith('defaultvmddir='): vmddir = line.split('=')[1].replace('"', '') break vmdfile.close() if False and \ isinstance(vmdbin, (StringType, UnicodeType)) and \ isinstance(vmddir, (StringType, UnicodeType)) and \ os.path.isfile(vmdbin) and os.path.isdir(vmddir): pass#return vmdbin, vmddir if isExecutable(vmdbin): setVMDpath(vmdbin) return vmdbin
def setVMDpath(path): """Set path to a VMD executable.""" if isExecutable(path): SETTINGS['vmd'] = path SETTINGS.save() LOGGER.info("VMD path is set to '{0:s}'.".format(path)) else: raise OSError('{0:s} is not executable.'.format(str(path)))