from datetime import datetime
from decorators import invocation_logged
import time
-from typing import Dict, List, Set
+from typing import Dict, List, Optional, Set
class renderer(ABC):
self.name_to_timeout_dict = name_to_timeout_dict
self.last_runs = {}
for key in name_to_timeout_dict:
- self.last_runs[key] = 0
+ self.last_runs[key] = 0.0
- def should_render(self, keys_to_skip: Set[str]) -> str:
+ def should_render(self, keys_to_skip: Set[str]) -> Optional[str]:
now = time.time()
for key in self.name_to_timeout_dict:
if (
@invocation_logged
def render(self) -> None:
- tries_per_key = {}
- keys_to_skip = set()
+ tries_per_key: Dict[str, int] = {}
+ keys_to_skip: Set[str] = set()
while True:
key = self.should_render(keys_to_skip)
- if key == None:
+ if key is None:
break
if key in tries_per_key: