Author: bugman Date: Sun Jun 8 00:57:01 2008 New Revision: 6327 URL: http://svn.gna.org/viewcvs/relax?rev=6327&view=rev Log: Shifted some dependency checks into the dep_check module. Modified: 1.3/dep_check.py 1.3/relax_io.py Modified: 1.3/dep_check.py URL: http://svn.gna.org/viewcvs/relax/1.3/dep_check.py?rev=6327&r1=6326&r2=6327&view=diff ============================================================================== --- 1.3/dep_check.py (original) +++ 1.3/dep_check.py Sun Jun 8 00:57:01 2008 @@ -30,8 +30,8 @@ import sys -# Python packages. -################## +# Essential packages. +##################### # numpy. try: @@ -58,6 +58,37 @@ sys.exit() +# Optional packages. +#################### + +# BZ2 compression module. +try: + import bz2 + del bz2 + bz2_module = True +except ImportError, message: + bz2_module = False + bz2_module_message = message.args[0] + +# Gzip compression module. +try: + import gzip + del gzip + gzip_module = True +except ImportError, message: + gzip_module = False + gzip_module_message = message.args[0] + +# Devnull. +try: + from os import devnull + del devnull + devnull_import = True +except ImportError, message: + devnull_import = False + devnull_import_message = message.args[0] + + # Compiled C modules. ##################### Modified: 1.3/relax_io.py URL: http://svn.gna.org/viewcvs/relax/1.3/relax_io.py?rev=6327&r1=6326&r2=6327&view=diff ============================================================================== --- 1.3/relax_io.py (original) +++ 1.3/relax_io.py Sun Jun 8 00:57:01 2008 @@ -27,27 +27,16 @@ compression), reading and writing of files, processing of the contents of files, etc. """ - -# BZ2 compression module. -try: +# Dependency check module. +import dep_check + +# Python module imports. +if dep_check.bz2_module: from bz2 import BZ2File - bz2_module = 1 -except ImportError, message: - bz2_module = 0 - bz2_module_message = message.args[0] - -# Gzip compression module. -from gzip import GzipFile - -# Devnull. -try: +if dep_check.gzip_module: + from gzip import GzipFile +if dep_check.devnull_import: from os import devnull - devnull_import = True -except ImportError, message: - devnull_import = False - devnull_import_message = message.args[0] - -# Python module imports. from os import F_OK, X_OK, access, altsep, getenv, makedirs, pathsep, remove, sep, stat from os.path import expanduser, basename, splitext from re import match, search @@ -262,10 +251,10 @@ if compress_type == 0: file_obj = open(file_path, 'r') elif compress_type == 1: - if bz2_module: + if dep_check.bz2_module: file_obj = BZ2File(file_path, 'r') else: - raise RelaxError, "Cannot open the file " + `file_path` + ", try uncompressing first. " + bz2_module_message + "." + raise RelaxError, "Cannot open the file " + `file_path` + ", try uncompressing first. " + dep_check.bz2_module_message + "." elif compress_type == 2: file_obj = GzipFile(file_path, 'r') except IOError, message: @@ -308,8 +297,8 @@ # The null device. if search('devnull', file_name): # Devnull could not be imported! - if not devnull_import: - raise RelaxError, devnull_import_message + ". To use devnull, please upgrade to Python >= 2.4." + if not dep_check.devnull_import: + raise RelaxError, dep_check.devnull_import_message + ". To use devnull, please upgrade to Python >= 2.4." # Print out. if verbosity: @@ -333,12 +322,12 @@ # Bzip2 compression. if compress_type == 1 and not search('.bz2$', file_path): # Bz2 module exists. - if bz2_module: + if dep_check.bz2_module: file_path = file_path + '.bz2' # Switch to gzip compression. else: - warn(RelaxWarning("Cannot use Bzip2 compression, using gzip compression instead. " + bz2_module_message + ".")) + warn(RelaxWarning("Cannot use Bzip2 compression, using gzip compression instead. " + dep_check.bz2_module_message + ".")) compress_type = 2 # Gzip compression.