| @@ -0,0 +1,40 @@ | |||||
| #!/usr/bin/env python3 | |||||
| # -*- coding: utf-8 -*- | |||||
| """ | |||||
| Created on Mon Mar 23 09:52:50 2020 | |||||
| @author: ljia | |||||
| """ | |||||
| import time | |||||
| class Timer(object): | |||||
| """A timer class that can be used by methods that support time limits. | |||||
| Note | |||||
| ---- | |||||
| This is the Python implementation of `the C++ code in GEDLIB <https://github.com/dbblumenthal/gedlib/blob/master/src/env/timer.hpp>`__. | |||||
| """ | |||||
| def __init__(self, time_limit_in_sec): | |||||
| """Constructs a timer for a given time limit. | |||||
| Parameters | |||||
| ---------- | |||||
| time_limit_in_sec : string | |||||
| The time limit in seconds. | |||||
| """ | |||||
| self.__time_limit_in_sec = time_limit_in_sec | |||||
| self.__start_time = time.time() | |||||
| def expired(self): | |||||
| """Checks if the time limit has expired. | |||||
| Return | |||||
| ------ | |||||
| Boolean true if the time limit has expired and false otherwise. | |||||
| """ | |||||
| if self.__time_limit_in_sec > 0: | |||||
| runtime = time.time() - self.__start_time | |||||
| return runtime >= self.__time_limit_in_sec | |||||
| return False | |||||