Redid existing Time Renaming Tokens and implemented all the remaining ones.
1 parent 3241c5d commit cebd0781cc44b26fcd43f181ff091e90c41908bb
@tundra tundra authored on 8 Mar 2010
Showing 1 changed file
View
177
tren.py
 
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
###