diff --git a/testpath.py b/testpath.py index a04cec4..c40ccc3 100755 --- a/testpath.py +++ b/testpath.py @@ -1,5 +1,5 @@ #!/usr/bin/env python -# testpath.py +# testpath.py - Test Driver For tsearchpath.py # Copyright (c) 2010 TundraWare Inc. # For Updates See: http://www.tundraware.com/Software/testpath @@ -8,7 +8,7 @@ PROGNAME = "testpath" BASENAME = PROGNAME.split(".py")[0] PROGENV = BASENAME.upper() -RCSID = "$Id: testpath.py,v 1.100 2010/06/25 14:05:45 tundra Exp $" +RCSID = "$Id: testpath.py,v 1.101 2010/06/25 14:22:32 tundra Exp $" VERSION = RCSID.split()[2] # Copyright Information @@ -40,7 +40,7 @@ import getopt import os import sys -import tconfpy +from tsearchpath import * #----------------------------------------------------------# @@ -61,65 +61,6 @@ -##### -# Literals -##### - - - -#----------------------------------------------------------# -# Prompts, & Application Strings # -#----------------------------------------------------------# - - -##### -# Debug Messages -##### - -##### -# Debug Messages -##### - -DEBUGFLAG = "-d" -dDEBUG = "DEBUG" -dPROGENV = "$" + PROGENV - -##### -# Error Messages -##### - -eBADARG = "Invalid command line: %s!" -eERROR = "ERROR" - - -##### -# Informational Messages -##### - -iINFO = "INFO" - - -##### -# Usage Prompts -##### - -uTable = [PROGVER, - HOMEPAGE, - "usage: " + PROGNAME + " [-fhv]", - " where,", - " -f file configuration file to use", - " -h print this help information", - " -v print detailed version information", - ] - - -#----------------------------------------------------------# -# Global Variables & Data Structures # -#----------------------------------------------------------# - -CFGFILE = os.path.join(os.getenv("HOME"), "." + PROGNAME) # conf file - - #--------------------------- Code Begins Here ---------------------------------# @@ -134,77 +75,6 @@ #----------------------------------------------------------# -def ColumnPad(list, padchar=" ", padwidth=20): - - retval = "" - for l in list: - l = str(l) - retval += l + ((padwidth - len(l)) * padchar) - - return retval.strip() - -# End of 'ColumnPad()' - - -##### -# Print A Debug Message -##### - -def DebugMsg(msg): - PrintStderr(PROGNAME + " " + dDEBUG + ": " + msg) - -# End of 'DebugMsg()' - - -##### -# Dump The State Of The Program -##### - -def DumpState(): - - # Dump the command line - DebugMsg(ColumnPad(["Command Line", sys.argv])) - - # Names of all the state variables we want dumped - state = [ - ] - - for k in state: - DebugMsg(ColumnPad([k, eval(k)])) - -# End of 'DumpState()' - - -##### -# Print An Error Message -##### - -def ErrorMsg(emsg): - PrintStderr(PROGNAME + " " + eERROR + ": " + emsg) - -# End of 'ErrorMsg()' - - -##### -# Print An Info Message -##### - -def InfoMsg(imsg): - PrintStderr(PROGNAME + " " + iINFO + ": " + imsg) - -# End of 'InfoMsg()' - - -##### -# Print To stderr -##### - -def PrintStderr(msg, trailing="\n"): - sys.stderr.write(msg + trailing) - -# End of 'PrintStderr()' - - ##### # Print To stdout ##### @@ -215,55 +85,21 @@ # End of 'PrintStdout' -##### -# Print Usage Information -##### - -def Usage(): - for line in uTable: - PrintStdout(line) - -# End of 'Usage()' - - #----------------------------------------------------------# # Program Entry Point # #----------------------------------------------------------# -# Command line processing - Process any options set in the -# environment first, and then those given on the command line -OPTIONS = sys.argv[1:] -envopt = os.getenv(PROGENV) -if envopt: - OPTIONS = envopt.split() + OPTIONS - -try: - opts, args = getopt.getopt(OPTIONS, '-f:hv') -except getopt.GetoptError as e: - ErrorMsg(eBADARG % e.args[0]) +arglen = len(sys.argv) +if arglen not in (3, 4): + PrintStdout("usage: testpath.py filename searchpath [PATHSEP]") sys.exit(1) -for opt, val in opts: - if opt == "-f": - CFGFILE=val - if opt == "-h": - Usage() - sys.exit(0) - if opt == "-v": - print RCSID - sys.exit(0) +else: -# Process the configuration file + if arglen == 3: + PrintStdout(str(tsearchpath(sys.argv[1], sys.argv[2]))) -retval = tconfpy.ParseConfig(CFGFILE, CallingProgram="%s %s " % (PROGNAME, VERSION)) - -# Print any errors or warning generated by the parse - -for x in (retval.ErrMsgs, retval.WarnMsgs): - for y in x: - print y - -# If there were any errors, we're done -if retval.ErrMsgs: - sys.exit(0) + else: + PrintStdout(str(tsearchpath(sys.argv[1], sys.argv[2], PATHDELIM=sys.argv[3]))) +