| |
---|
| | |
---|
| | PROGNAME = "tren.py" |
---|
| | BASENAME = PROGNAME.split(".py")[0] |
---|
| | PROGENV = BASENAME.upper() |
---|
| | RCSID = "$Id: tren.py,v 1.183 2010/03/10 19:09:13 tundra Exp $" |
---|
| | RCSID = "$Id: tren.py,v 1.184 2010/03/10 22:18:20 tundra Exp $" |
---|
| | VERSION = RCSID.split()[2] |
---|
| | |
---|
| | # Copyright Information |
---|
| | |
---|
| |
---|
| | import getopt |
---|
| | import grp |
---|
| | import pwd |
---|
| | import os |
---|
| | import random |
---|
| | import re |
---|
| | from stat import * |
---|
| | import sys |
---|
| | import time |
---|
| |
---|
| | # System Renaming Tokens |
---|
| | |
---|
| | TOKCMDEXEC = "`" # Delimiter for command execution renaming tokens |
---|
| | TOKENV = "$" # Introducer for environment variable replacement tokens |
---|
| | TOKRAND = "RAND" # Random replacement token |
---|
| | |
---|
| | # Sequence Renaming Tokens |
---|
| | |
---|
| | TOKASCEND = "+" # Ascending order flag |
---|
| |
---|
| | eNULLARG = "%s cannot be empty!" |
---|
| | eRENAMEFAIL = "Attempt to rename '%s' to '%s' failed : %s!" |
---|
| | eTOKBADSEQ = "Unknown sequence renaming token, '%s'!" |
---|
| | eTOKDELIM = "Renaming token '%s' missing delimiter!" |
---|
| | eTOKRANDIG = "Invalid random precision, '%s'! Must be integer > 0." |
---|
| | eTOKUNKNOWN = "Renaming token '%s' is unknown type!" |
---|
| | eTOOMANYINC = "Too many includes! (Max is %d) Possible circular reference?" % MAXINCLUDES |
---|
| | |
---|
| | |
---|
| |
---|
| | |
---|
| | else: |
---|
| | r[2] = output.replace("\n", "") |
---|
| | |
---|
| | |
---|
| | # Random Number Replacement token |
---|
| | |
---|
| | elif r[2].startswith(TOKRAND): |
---|
| | |
---|
| | random.seed() |
---|
| | |
---|
| | # Figure out how many digits of randomness the user want |
---|
| | |
---|
| | try: |
---|
| | precision = r[2].split(TOKRAND)[1] |
---|
| | precision = int(precision) |
---|
| | |
---|
| | except: |
---|
| | ErrorMsg(eTOKRANDIG % str(precision)) |
---|
| | |
---|
| | if precision < 1: |
---|
| | ErrorMsg(eTOKRANDIG % str(precision)) |
---|
| | |
---|
| | fmt = '"%0' + str(precision) + 'd" % random.randint(0, pow(10, precision))' |
---|
| | r[2] = eval(fmt) |
---|
| | |
---|
| | ### |
---|
| | # Sequence Renaming Tokens |
---|
| | ### |
---|
| | |
---|
| |
---|
| | |