Advertisement
Guest User

Untitled

a guest
Oct 18th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.49 KB | None | 0 0
  1. #!/usr/bin/env python
  2. from datetime import datetime, timedelta, time
  3. import calendar
  4. import os
  5. import configargparse
  6. import re
  7. import time
  8. filename_pattern = re.compile("[^\W_]+")
  9. now = datetime.now()
  10. weekday = calendar.day_name[now.weekday()]
  11. date_pattern = '%Y%m%d%H%M'
  12. def parse_filename_date(val):
  13. return datetime.strptime(val, date_pattern)
  14. def set_today_date(now_timestamp, date_timestamp):
  15. return datetime.fromtimestamp(now_timestamp + now_timestamp - date_timestamp).strftime(date_pattern)
  16. def get_timestamp_from_datetime(date):
  17. return time.mktime(date.timetuple())
  18. def parse_filename_date(val):
  19. return datetime.strptime(val, date_pattern)
  20. def set_today_date(date):
  21. return date.replace(year = now.year, month = now.month, day = now.day).strftime(date_pattern)
  22. def parse_args():
  23. def parse_date(val):
  24. return datetime.strptime(val, '%Y-%m-%d')
  25. p = configargparse.ArgParser()
  26. p.add('-hour', '--hourly', type=bool, default=False,
  27. help='enables hourly mode for generating 24 x 1hour intervals for each day')
  28. p.add('-s', '--start-date', type=parse_date, default=(datetime.combine(datetime.now().date() - timedelta(1), time.min)),
  29. help='start date for generation (YYYY-MM-DD)')
  30. p.add('-z', '--zip-output', type=bool, default=False, help='zip output files')
  31. p.add('-o', '--output-dir', default='/home/sftp/hua', help='output directory')
  32. p.add('-d', '--templates-dir', default='/home/sftp/hua/templates', help='templates directory')
  33. p.add('-w', '--whitelist-counters', default='', help='force counter numbers to be included')
  34. p.add('-f', '--output-fraction', type=float, default=1.0, help='Fraction of counters emitted to output')
  35. p.add('-r', '--relations', type=bool, default=False, help='Generate only relation data')
  36. return p.parse_args()
  37.  
  38. def main():
  39. options = parse_args()
  40. now_timestamp = get_timestamp_from_datetime(now)
  41. for filename in os.listdir(options.templates_dir+'/'+weekday):
  42. if filename.endswith(".csv"):
  43. parsed_filename = filename_pattern.findall(filename)
  44. if len(parsed_filename) != 6:
  45. continue
  46. start_date = parse_filename_date(parsed_filename[3])
  47. print(start_date)
  48. end_date = parse_filename_date(parsed_filename[4])
  49. parsed_filename[3] = set_today_date(start_date)
  50. parsed_filename[4] = set_today_date(end_date)
  51. print parsed_filename
  52.  
  53. if __name__ == "__main__":
  54. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement