Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- from datetime import datetime, timedelta, time
- import calendar
- import os
- import configargparse
- import re
- import time
- filename_pattern = re.compile("[^\W_]+")
- now = datetime.now()
- weekday = calendar.day_name[now.weekday()]
- date_pattern = '%Y%m%d%H%M'
- def parse_filename_date(val):
- return datetime.strptime(val, date_pattern)
- def set_today_date(now_timestamp, date_timestamp):
- return datetime.fromtimestamp(now_timestamp + now_timestamp - date_timestamp).strftime(date_pattern)
- def get_timestamp_from_datetime(date):
- return time.mktime(date.timetuple())
- def parse_filename_date(val):
- return datetime.strptime(val, date_pattern)
- def set_today_date(date):
- return date.replace(year = now.year, month = now.month, day = now.day).strftime(date_pattern)
- def parse_args():
- def parse_date(val):
- return datetime.strptime(val, '%Y-%m-%d')
- p = configargparse.ArgParser()
- p.add('-hour', '--hourly', type=bool, default=False,
- help='enables hourly mode for generating 24 x 1hour intervals for each day')
- p.add('-s', '--start-date', type=parse_date, default=(datetime.combine(datetime.now().date() - timedelta(1), time.min)),
- help='start date for generation (YYYY-MM-DD)')
- p.add('-z', '--zip-output', type=bool, default=False, help='zip output files')
- p.add('-o', '--output-dir', default='/home/sftp/hua', help='output directory')
- p.add('-d', '--templates-dir', default='/home/sftp/hua/templates', help='templates directory')
- p.add('-w', '--whitelist-counters', default='', help='force counter numbers to be included')
- p.add('-f', '--output-fraction', type=float, default=1.0, help='Fraction of counters emitted to output')
- p.add('-r', '--relations', type=bool, default=False, help='Generate only relation data')
- return p.parse_args()
- def main():
- options = parse_args()
- now_timestamp = get_timestamp_from_datetime(now)
- for filename in os.listdir(options.templates_dir+'/'+weekday):
- if filename.endswith(".csv"):
- parsed_filename = filename_pattern.findall(filename)
- if len(parsed_filename) != 6:
- continue
- start_date = parse_filename_date(parsed_filename[3])
- print(start_date)
- end_date = parse_filename_date(parsed_filename[4])
- parsed_filename[3] = set_today_date(start_date)
- parsed_filename[4] = set_today_date(end_date)
- print parsed_filename
- if __name__ == "__main__":
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement