def exec_operation(): arg_type = ArgType() args_res = arg_type.analyze_type conf = Config() if arg_type.is_monitor: perform = Performance(arg_type.process_name, arg_type.message) if LifecycleBase._export_to is None: LifecycleBase._export_to = conf.export_path if Performance._export_to is None: Performance._export_to = conf.export_path operations = { ArgType.SIGN_IN | ArgType.FIRST_SIGN_IN :\ lambda var, msg: lifecycle_cases.NonSSOLifecycle().first_sign_in(var, msg), ArgType.SIGN_IN | ArgType.SECOND_SIGN_IN:\ lambda var, msg: lifecycle_cases.NonSSOLifecycle().second_sign_in(var, msg), ArgType.SIGN_IN | ArgType.FIRST_SIGN_IN | ArgType.SECOND_SIGN_IN:\ lambda var, msg: lifecycle_cases.NonSSOLifecycle().first_second_sign_in_out(var, msg), ArgType.SSO | ArgType.SIGN_IN | ArgType.FIRST_SIGN_IN:\ lambda var, msg: lifecycle_cases.SSOLifecycle().first_sign_in(var, msg), ArgType.SSO | ArgType.SIGN_IN | ArgType.SECOND_SIGN_IN:\ lambda var, msg: lifecycle_cases.SSOLifecycle().second_sign_in(var, msg), ArgType.SSO | ArgType.SIGN_IN | ArgType.FIRST_SIGN_IN | ArgType.SECOND_SIGN_IN:\ lambda var, msg: lifecycle_cases.SSOLifecycle().first_second_sign_in_out(var, msg), ArgType.MONITOR:\ lambda: perform.begin_monitor(time_span=arg_type.timespan), } method = operations.get(args_res) if method is not None: if arg_type.is_monitor: method() else: log_list = LogParser(conf.log_file_path, conf.log_file_tag) method(log_list, arg_type.message) if arg_type.clean: log_list.clean_log() logging.info("Log cleaned")