Implemented actual renaming token substitution logic.
Implemented /$ENVVAR/ renaming token support.
1 parent 20c11c1 commit 61488845910a48f8a1bc73ae700bd16d2d516632
@tundra tundra authored on 5 Mar 2010
Showing 1 changed file
View
38
tren.py
 
PROGNAME = "tren.py"
BASENAME = PROGNAME.split(".py")[0]
PROGENV = BASENAME.upper()
RCSID = "$Id: tren.py,v 1.165 2010/03/05 19:05:23 tundra Exp $"
RCSID = "$Id: tren.py,v 1.166 2010/03/05 21:54:36 tundra Exp $"
VERSION = RCSID.split()[2]
 
# Copyright Information
 
NULLSUFFIX = "Forced renaming suffix string" # Cannot be null
OPTINTRO = "-" # Option introducer
RANGESEP = ":" # Separator for instance ranges
SINGLEINST = "SINGLEINST" # Indicates a single, not range, replacement instance
TOKENDELIM = "/""" # Symbol used to delimit renaming tokens
 
 
#####
# Replacement Token Literals
#####
 
TOKENDELIM = "/" # Symbol used to delimit renaming tokens
TOKENENV = "$" # Environment variable token
 
 
# Internal program state literals
 
DEBUG = "DEBUG"
odd = not odd
# There must be an even number of token delimiters
# or the renaming token is malformed
 
if rentokens and len(rentokens[-1]) != 2:
ErrorMsg(eBADRENAMETOK % renstring)
 
# Now add the renaming token contents. This will be used to
 
rentokens[i].append(renstring[rentokens[i][0]+1 : rentokens[i][1]])
i += 1
 
# Process each token. Work left to right so as not to mess up
# the previously stored indexes.
 
rentokens.reverse()
 
for r in rentokens:
 
# Environment variable replacement token
if r[2].startswith(TOKENENV):
r[2] = os.getenv(r[2][1:])
# Do the actual replacement
 
renstring = renstring[:r[0]] + r[2] + renstring[r[1]+1:]
return renstring
 
# End of '__ResolveRenameTokens()'