diff --git a/tren.py b/tren.py index 8cf6f39..032b22e 100755 --- a/tren.py +++ b/tren.py @@ -8,7 +8,7 @@ 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 @@ -113,22 +113,21 @@ 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 @@ -136,8 +135,41 @@ 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" @@ -152,6 +184,11 @@ RENSEP = "RENSEP" TESTMODE = "TESTMODE" + +##### +# Renaming Literals +##### + # Rename target keys BASE = "BASENAME" @@ -176,7 +213,6 @@ OLD = "OLD" - #----------------------------------------------------------# # Prompts, & Application Strings # #----------------------------------------------------------# @@ -758,17 +794,7 @@ # 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: @@ -788,6 +814,73 @@ ### + # 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 ###