import dateparser import demistomock as demisto # noqa: F401 from CommonServerPython import * # noqa: F401 def is_between_hours(value, begin_time, end_time): # https://stackoverflow.com/questions/71256416/pytzusagewarning-doesnt-seem-to-go-away input_time = dateparser.parse(value, settings={"TIMEZONE": "UTC"}).time() # type: ignore start_time = dateparser.parse(begin_time, settings={"TIMEZONE": "UTC"}).time() # type: ignore end_time = dateparser.parse(end_time, settings={"TIMEZONE": "UTC"}).time() # type: ignore if start_time >= end_time: # if the time range crosses midnight. return start_time <= input_time or input_time <= end_time return start_time <= input_time <= end_time if __name__ in ("__main__", "__builtin__", "builtins"): args = demisto.args() value, begin_time, end_time = args["value"], args["begin_time"], args["end_time"] result = is_between_hours(value, begin_time, end_time) output = {"value": value, "begin_time": begin_time, "end_time": end_time, "result": result} human_readable = ( f'# BetweenHours\nThe time *{value}* {"*IS*" if result else "*IS NOT*"} between *{begin_time}* and *{end_time}*' ) return_results(CommandResults(outputs_prefix="BetweenHours", readable_output=human_readable, outputs=result))