Date and Time Verification














































Date and Time Verification



import sys
import time
import glob, os
import argparse
import datetime

g_log_file_path = "/tmp/"
g_time_file_name = "/tmp/s3_dump_time"

def get_handy_manny_log_file_name():
   os.chdir(g_log_file_path)
   return glob.glob("HandyManny*")

def get_service_log_file_name():
   os.chdir(g_log_file_path)
   return glob.glob("srevice_log")

def validate_time(time_in_str):
   time_in_list = time_in_str.split(':')
   if len(time_in_list) != 3:
      return False
   try:
      if int(time_in_list[0]) not in range(0, 24):
         return False
      elif int(time_in_list[1]) not in range(0, 60):
         return False
      elif int(time_in_list[2]) not in range(0, 60):
         return False
   except:
         return False
   return True

def main():
   parser = argparse.ArgumentParser(description="Script to dump log file to S3 bucket")
   arguments = parser.add_argument_group('command line arguments')
   arguments.add_argument("--time", required=False, help="Enter the time in 24 hour format (Ex: 19:58:23)")
   args = parser.parse_args()
   if args.time is not None:
      if validate_time(args.time):
         print("Successfully stored the time")
         file_obj = open(g_time_file_name, 'w')
         file_obj.write(args.time)
         exit(0)
      else:
         print("Time format is not correct. Existing the script")
         exit(1)
   else:
      print("Skipping --time argument")
   
   if not os.path.isfile(g_time_file_name):
      print("File not exist. Existing the script. Help: First configure the time then only use this script")
      exit(2)

   log_time = open(g_time_file_name, 'r').readline()
   log_time = datetime.datetime.strptime(log_time, "%H:%M:%S")
   current_time = time.localtime()
   current_time = time.strftime("%H:%M:%S", current_time)
   current_time = datetime.datetime.strptime(current_time, "%H:%M:%S")
   time_diff_in_seconds = (current_time-log_time).total_seconds()
   if time_diff_in_seconds > -180 and time_diff_in_seconds < 180:
      print("Dump log file")
   else:
      print("Do not dump file")

if __name__ == '__main__':
    main()

Comments