GenDates.py
Revision as of 12:43, 15 July 2008 by PeterHarding (talk | contribs) (New page: =Script= <pre> #!/usr/bin/env python # # Purpose: # # $Id:$ # #------------------------------------------------------------------------------- """ Skeleton Python script ... """ ...)
Script
#!/usr/bin/env python
#
# Purpose:
#
# $Id:$
#
#-------------------------------------------------------------------------------
"""
Skeleton Python script
...
"""
#-------------------------------------------------------------------------------
import os
import sys
import getopt
import logging
#-------------------------------------------------------------------------------
from datetime import datetime, timedelta
#-------------------------------------------------------------------------------
__version__ = "1.0.0"
__id__ = "@(#) gen_dates.py [%s] 2008-07-15"
verbose_flg = False
debug_level = 0
DoW = {
0 : 'Mon',
1 : 'Tue',
2 : 'Wed',
3 : 'Thu',
4 : 'Fri',
5 : 'Sat',
6 : 'Sun'
}
#===============================================================================
def is_weekday(d):
dow = d.weekday()
if dow < 5:
return True
else:
return False
#-------------------------------------------------------------------------------
def gen_dates():
d_start = datetime(day=1, month=1, year=2008)
d_end = datetime(day=5, month=5, year=2008)
d_now = datetime.now()
d = d_start
while d < d_end:
if is_weekday(d):
print '%s,%s' % (d.strftime("%d/%m/%Y"), DoW[d.weekday()])
d += timedelta(days=1)
#-------------------------------------------------------------------------------
def gen_date_range():
dates = []
for n in range(no_days):
d = date - datetime.timedelta(days=n)
print d.strftime("%y%m%d")
dates.append(d)
# print date.strftime("%y%m%d")
for d in dates:
generate(d)
#===============================================================================
def main(argv):
global verbose_flg
global debug_level
# try:
# terminal_type = os.environ["TERM"]
# except KeyError, e:
# print "Set TERM environment variable and rerun!"
# return 1
# wrk_path = os.getcwd()
# wrk_dir = os.path.basename(wrk_path)
# print "[gen_dates] Working directory is %s" % wrk_path
# data_dir = wrk_dir + '/DATA/'
# pid_path = data_dir + PIDFILE
# os.chdir(data_dir)
try:
opts, args = getopt.getopt(argv, "dD:hn:vV?",
["debug", "debug_level=", "help", "no_days=", "verbose", "version"])
except getopt.GetoptError:
usage()
sys.exit(2)
for opt, arg in opts:
if opt in ("-d", "--debug"):
debug_level += 1
debug_flg = True
elif opt in ('-D', "--debug_level"):
debug_level = int(a)
elif opt in ("-t", "--target_date"):
target_date = arg
date = datetime.datetime.strptime(target_date, "%Y%m%d")
print date
elif opt in ("-h", "-?", "--help"):
# print __doc__
usage()
return 1
elif opt in ("-n", "--no_days"):
no_days = int(arg)
elif opt in ("-v", "--verbose"):
verbose_flg = True
if (debug_level > 0): print "Debugging level set to %d" % debug_level
#init()
gen_dates()
return 0
#-------------------------------------------------------------------------------
if __name__ == '__main__' or __name__ == sys.argv[0]:
try:
sys.exit(main(sys.argv[1:]))
except KeyboardInterrupt, e:
print "[gen_dates] Interrupted!"
#-------------------------------------------------------------------------------
"""
Revision History:
Date Who Description
-------- --- ------------------------------------------------------------
20031014 plh Initial implementation
Problems to fix:
To Do:
Issues:
"""