4 from typing import List, Optional
14 keywords: Optional[List[str]],
18 self.keywords = keywords
19 self.arper = arper.Arper()
20 if keywords is not None:
25 def get_name(self) -> str:
28 def get_mac(self) -> str:
31 def get_ip(self) -> Optional[str]:
32 return self.arper.get_ip_by_mac(self.mac)
34 def has_static_ip(self) -> bool:
36 m = re.search(r'static:([\d\.]+)', kw)
39 assert self.get_ip() == ip
43 # Add command -> URL logic here.
45 def get_keywords(self) -> Optional[List[str]]:
48 def has_keyword(self, keyword: str) -> bool:
54 def get_on_limit_seconds(self) -> Optional[int]:
56 m = re.search(r"timeout:(\d+)", kw)
58 return int(m.group(1)) * 60