| |
---|
| | |
---|
| | PROGNAME = "tren.py" |
---|
| | BASENAME = PROGNAME.split(".py")[0] |
---|
| | PROGENV = BASENAME.upper() |
---|
| | RCSID = "$Id: tren.py,v 1.175 2010/03/08 21:02:35 tundra Exp $" |
---|
| | RCSID = "$Id: tren.py,v 1.176 2010/03/09 01:12:16 tundra Exp $" |
---|
| | VERSION = RCSID.split()[2] |
---|
| | |
---|
| | # Copyright Information |
---|
| | |
---|
| |
---|
| | RANGESEP = ":" # Separator for instance ranges |
---|
| | SINGLEINST = "SINGLEINST" # Indicates a single, not range, replacement instance |
---|
| | |
---|
| | |
---|
| | |
---|
| | ##### |
---|
| | # Month Conversion Tables |
---|
| | ##### |
---|
| | |
---|
| | MONTHS = {"Jan":"01", "Feb":"02", "Mar":"03", "Apr":"04", "May":"05", "Jun":"06", |
---|
| | "Jul":"07", "Aug":"08", "Sep":"09", "Oct":"10", "Nov":"11", "Dec":"12"} |
---|
| | MONTHS = {1:"Jan", 2:"Feb", 3:"Mar", 4:"Apr", 5:"May", 6:"Jun", |
---|
| | 7:"Jul", 8:"Aug", 9:"Sep", 10:"Oct", 11:"Nov", 12:"Dec"} |
---|
| | |
---|
| | ##### |
---|
| | # Replacement Token Literals |
---|
| | ##### |
---|
| | |
---|
| | TOKCDATE = "CDATE" # Cdate replacement token |
---|
| | TOKCMDEXEC = "`" # Delimiter for command execution renaming tokens |
---|
| | TOKDELIM = "/" # Delimiter for all renaming tokens |
---|
| | TOKENV = "$" # Introducer for environment variable replacement tokens |
---|
| | |
---|
| | # File Attribute Renaming Tokens |
---|
| | |
---|
| | TOKFILGID = "GID" # File GID replacement token |
---|
| | TOKFILGRP = "GNAME" # File Group Name replacement token |
---|
| | TOKFILLEN = "LEN" # File Length replacement token |
---|
| | TOKFILNAM = "FNAME" # File Name replacement token |
---|
| | TOKFILUID = "UID" # File UID replacement token |
---|
| | TOKFILUNAM = "UNAME" # File User Name replacement token |
---|
| | |
---|
| | |
---|
| | # File Time Renaming Tokens |
---|
| | |
---|
| | TOKADAY = "ADAY" # mm replacement token |
---|
| | TOKAHOUR = "AHOUR" # hh replacement token |
---|
| | TOKAMIN = "AMIN" # mm replacement token |
---|
| | TOKAMON = "AMON" # MM replacement token |
---|
| | TOKAMONTH = "AMONTH" # Mmm replacement token |
---|
| | TOKASEC = "ASEC" # ss replacement token |
---|
| | TOKAYEAR = "AYEAR" # yyyy replacement token |
---|
| | |
---|
| | TOKCDAY = "CDAY" # mm replacement token |
---|
| | TOKCHOUR = "CHOUR" # hh replacement token |
---|
| | TOKCMIN = "CMIN" # mm replacement token |
---|
| | TOKCMON = "CMON" # MM replacement token |
---|
| | TOKCMONTH = "CMONTH" # Mmm replacement token |
---|
| | TOKCSEC = "CSEC" # ss replacement token |
---|
| | TOKCYEAR = "CYEAR" # yyyy replacement token |
---|
| | |
---|
| | TOKCDAY = "MDAY" # mm replacement token |
---|
| | TOKCHOUR = "MHOUR" # hh replacement token |
---|
| | TOKCMIN = "MMIN" # mm replacement token |
---|
| | TOKCMON = "MMON" # MM replacement token |
---|
| | TOKCMONTH = "MMONTH" # Mmm replacement token |
---|
| | TOKCSEC = "MSEC" # ss replacement token |
---|
| | TOKCYEAR = "MYEAR" # yyyy replacement token |
---|
| | |
---|
| | # System Related Renaming Tokens |
---|
| | |
---|
| | TOKCMDEXEC = "`" # Delimiter for command execution renaming tokens |
---|
| | TOKENV = "$" # Introducer for environment variable replacement tokens |
---|
| | |
---|
| | |
---|
| | ##### |
---|
| | # Internal program state literals |
---|
| | ##### |
---|
| | |
---|
| | DEBUG = "DEBUG" |
---|
| | CASESENSITIVE = "CASESENSITIVE" |
---|
| | ESCAPE = "ESCAPE" |
---|
| |
---|
| | QUIET = "QUIET" |
---|
| | REGEX = "REGEX" |
---|
| | RENSEP = "RENSEP" |
---|
| | TESTMODE = "TESTMODE" |
---|
| | |
---|
| | |
---|
| | ##### |
---|
| | # Renaming Literals |
---|
| | ##### |
---|
| | |
---|
| | # Rename target keys |
---|
| | |
---|
| | BASE = "BASENAME" |
---|
| |
---|
| | # Rename string keys |
---|
| | |
---|
| | NEW = "NEW" |
---|
| | OLD = "OLD" |
---|
| | |
---|
| | |
---|
| | |
---|
| | #----------------------------------------------------------# |
---|
| | # Prompts, & Application Strings # |
---|
| |
---|
| | ### |
---|
| | # File Attribute Renaming Tokens |
---|
| | ### |
---|
| | |
---|
| | if r[2] == TOKCDATE: |
---|
| | |
---|
| | t = time.ctime(self.RenNames[target][STATS][ST_CTIME]).split() |
---|
| | |
---|
| | if len(t[2]) == 1: |
---|
| | t[2] = "0" + t[2] |
---|
| | |
---|
| | r[2] = t[4] + MONTHS[t[1]] + t[2] |
---|
| | |
---|
| | |
---|
| | elif r[2] == TOKFILGID: |
---|
| | if r[2] == TOKFILGID: |
---|
| | r[2] = str(self.RenNames[target][STATS][ST_GID]) |
---|
| | |
---|
| | elif r[2] == TOKFILGRP: |
---|
| | r[2] = grp.getgrgid(self.RenNames[target][STATS][ST_GID])[0] |
---|
| |
---|
| | elif r[2] == TOKFILUNAM: |
---|
| | r[2] = pwd.getpwuid(self.RenNames[target][STATS][ST_UID])[0] |
---|
| | |
---|
| | |
---|
| | ### |
---|
| | # File Time Renaming Tokens |
---|
| | ### |
---|
| | |
---|
| | elif r[2] == TOKADAY: |
---|
| | r[2] = "%02d" % time.localtime(self.RenNames[target][STATS][ST_ATIME]).tm_mday |
---|
| | |
---|
| | elif r[2] == TOKAHOUR: |
---|
| | r[2] = "%02d" % time.localtime(self.RenNames[target][STATS][ST_ATIME]).tm_hour |
---|
| | |
---|
| | elif r[2] == TOKAMIN: |
---|
| | r[2] = "%02d" % time.localtime(self.RenNames[target][STATS][ST_ATIME]).tm_min |
---|
| | |
---|
| | elif r[2] == TOKAMON: |
---|
| | r[2] = "%02d" % time.localtime(self.RenNames[target][STATS][ST_ATIME]).tm_mon |
---|
| | |
---|
| | elif r[2] == TOKAMONTH: |
---|
| | r[2] = MONTHS[time.localtime(self.RenNames[target][STATS][ST_ATIME]).tm_mon] |
---|
| | |
---|
| | elif r[2] == TOKASEC: |
---|
| | r[2] = "%02d" % time.localtime(self.RenNames[target][STATS][ST_ATIME]).tm_sec |
---|
| | |
---|
| | elif r[2] == TOKAYEAR: |
---|
| | r[2] = "%02d" % time.localtime(self.RenNames[target][STATS][ST_ATIME]).tm_year |
---|
| | |
---|
| | elif r[2] == TOKCDAY: |
---|
| | r[2] = "%02d" % time.localtime(self.RenNames[target][STATS][ST_CTIME]).tm_mday |
---|
| | |
---|
| | elif r[2] == TOKCHOUR: |
---|
| | r[2] = "%02d" % time.localtime(self.RenNames[target][STATS][ST_CTIME]).tm_hour |
---|
| | |
---|
| | elif r[2] == TOKCMIN: |
---|
| | r[2] = "%02d" % time.localtime(self.RenNames[target][STATS][ST_CTIME]).tm_min |
---|
| | |
---|
| | elif r[2] == TOKCMON: |
---|
| | r[2] = "%02d" % time.localtime(self.RenNames[target][STATS][ST_CTIME]).tm_mon |
---|
| | |
---|
| | elif r[2] == TOKCMONTH: |
---|
| | r[2] = MONTHS[time.localtime(self.RenNames[target][STATS][ST_CTIME]).tm_mon] |
---|
| | |
---|
| | elif r[2] == TOKCSEC: |
---|
| | r[2] = "%02d" % time.localtime(self.RenNames[target][STATS][ST_CTIME]).tm_sec |
---|
| | |
---|
| | elif r[2] == TOKCYEAR: |
---|
| | r[2] = "%02d" % time.localtime(self.RenNames[target][STATS][ST_CTIME]).tm_year |
---|
| | |
---|
| | elif r[2] == TOKMDAY: |
---|
| | r[2] = "%02d" % time.localtime(self.RenNames[target][STATS][ST_MTIME]).tm_mday |
---|
| | |
---|
| | elif r[2] == TOKMHOUR: |
---|
| | r[2] = "%02d" % time.localtime(self.RenNames[target][STATS][ST_MTIME]).tm_hour |
---|
| | |
---|
| | elif r[2] == TOKMMIN: |
---|
| | r[2] = "%02d" % time.localtime(self.RenNames[target][STATS][ST_MTIME]).tm_min |
---|
| | |
---|
| | elif r[2] == TOKMMON: |
---|
| | r[2] = "%02d" % time.localtime(self.RenNames[target][STATS][ST_MTIME]).tm_mon |
---|
| | |
---|
| | elif r[2] == TOKMMONTH: |
---|
| | r[2] = MONTHS[time.localtime(self.RenNames[target][STATS][ST_MTIME]).tm_mon] |
---|
| | |
---|
| | elif r[2] == TOKMSEC: |
---|
| | r[2] = "%02d" % time.localtime(self.RenNames[target][STATS][ST_MTIME]).tm_sec |
---|
| | |
---|
| | elif r[2] == TOKMYEAR: |
---|
| | r[2] = "%02d" % time.localtime(self.RenNames[target][STATS][ST_MTIME]).tm_year |
---|
| | |
---|
| | ### |
---|
| | # System Renaming Tokens |
---|
| | ### |
---|
| | |
---|
| |
---|
| | |