Skip to content

Commit baff75a

Browse files
committed
Refactor class constructors to include type hints
1 parent 743d53c commit baff75a

13 files changed

+387
-33
lines changed

adf_core_python/core/component/module/complex/human_detector.py

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,31 @@
11
from __future__ import annotations
22

33
from abc import abstractmethod
4+
from typing import TYPE_CHECKING
45

56
from rcrs_core.entities.human import Human
67

7-
from adf_core_python.core.agent.precompute.precompute_data import PrecomputeData
8-
from adf_core_python.core.component.module.complex.target_detector import TargetDetector
8+
if TYPE_CHECKING:
9+
from adf_core_python.core.agent.develop.develop_data import DevelopData
10+
from adf_core_python.core.agent.info.agent_info import AgentInfo
11+
from adf_core_python.core.agent.info.scenario_info import ScenarioInfo
12+
from adf_core_python.core.agent.info.world_info import WorldInfo
13+
from adf_core_python.core.agent.module.module_manager import ModuleManager
14+
from adf_core_python.core.agent.precompute.precompute_data import PrecomputeData
15+
from adf_core_python.core.component.module.complex.target_detector import (
16+
TargetDetector,
17+
)
918

1019

1120
class HumanDetector(TargetDetector[Human]):
1221
def __init__(
1322
self,
14-
agent_info,
15-
world_info,
16-
scenario_info,
17-
module_manager,
18-
develop_data,
19-
):
23+
agent_info: AgentInfo,
24+
world_info: WorldInfo,
25+
scenario_info: ScenarioInfo,
26+
module_manager: ModuleManager,
27+
develop_data: DevelopData,
28+
) -> None:
2029
super().__init__(
2130
agent_info, world_info, scenario_info, module_manager, develop_data
2231
)

adf_core_python/core/component/module/complex/search.py

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,31 @@
11
from __future__ import annotations
22

33
from abc import abstractmethod
4+
from typing import TYPE_CHECKING
45

56
from rcrs_core.entities.area import Area
67

7-
from adf_core_python.core.agent.precompute.precompute_data import PrecomputeData
8-
from adf_core_python.core.component.module.complex.target_detector import TargetDetector
8+
if TYPE_CHECKING:
9+
from adf_core_python.core.agent.develop.develop_data import DevelopData
10+
from adf_core_python.core.agent.info.agent_info import AgentInfo
11+
from adf_core_python.core.agent.info.scenario_info import ScenarioInfo
12+
from adf_core_python.core.agent.info.world_info import WorldInfo
13+
from adf_core_python.core.agent.module.module_manager import ModuleManager
14+
from adf_core_python.core.agent.precompute.precompute_data import PrecomputeData
15+
from adf_core_python.core.component.module.complex.target_detector import (
16+
TargetDetector,
17+
)
918

1019

1120
class Search(TargetDetector[Area]):
1221
def __init__(
1322
self,
14-
agent_info,
15-
world_info,
16-
scenario_info,
17-
module_manager,
18-
develop_data,
19-
):
23+
agent_info: AgentInfo,
24+
world_info: WorldInfo,
25+
scenario_info: ScenarioInfo,
26+
module_manager: ModuleManager,
27+
develop_data: DevelopData,
28+
) -> None:
2029
super().__init__(
2130
agent_info, world_info, scenario_info, module_manager, develop_data
2231
)

adf_core_python/core/config/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ def __init__(self, config_file: Optional[str] = None) -> None:
1010
self.config = self.read_from_yaml(config_file)
1111
self.config = self.flatten(self.config)
1212

13-
def set_value(self, key: str, value: Any):
13+
def set_value(self, key: str, value: Any) -> None:
1414
self.config[key] = value
1515

1616
def get_value(self, key: str, default: Any = None) -> Any:

adf_core_python/core/launcher/agent_launcher.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ def __init__(self, config: Config):
3535
self.connectors: list[Connector] = []
3636
self.thread_list: list[threading.Thread] = []
3737

38-
def initConnector(self):
38+
def initConnector(self) -> None:
3939
loader_name, loader_class_name = self.config.get_value(
4040
ConfigKey.KEY_LOADER_CLASS,
4141
"adf_core_python.implement.default_loader.DefaultLoader",
@@ -55,7 +55,7 @@ def initConnector(self):
5555
self.connectors.append(ConnectorPoliceForce())
5656
self.connectors.append(ConnectorPoliceOffice())
5757

58-
def launch(self):
58+
def launch(self) -> None:
5959
host: str = self.config.get_value(ConfigKey.KEY_KERNEL_HOST, "localhost")
6060
port: int = self.config.get_value(ConfigKey.KEY_KERNEL_PORT, 27931)
6161
self.logger.info(f"Start agent launcher (host: {host}, port: {port})")

adf_core_python/core/launcher/connect/connector_ambulance_team.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ def connect(
3333
if loader.get_tactics_ambulance_team() is None:
3434
self.logger.error("Cannot load ambulance team tactics")
3535

36-
tactics_ambulance_team: TacticsAmbulanceTeam = (
36+
tactics_ambulance_team: TacticsAmbulanceTeam = ( # noqa: F841
3737
loader.get_tactics_ambulance_team()
3838
)
3939

adf_core_python/implement/default_loader.py

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,24 @@
11
from typing import TYPE_CHECKING
22

33
from adf_core_python.core.component.abstract_loader import AbstractLoader
4+
from adf_core_python.implement.tactics.default_tactics_ambulance_center import (
5+
DefaultTacticsAmbulanceCenter,
6+
)
47
from adf_core_python.implement.tactics.default_tactics_ambulance_team import (
58
DefaultTacticsAmbulanceTeam,
69
)
10+
from adf_core_python.implement.tactics.default_tactics_fire_brigade import (
11+
DefaultTacticsFireBrigade,
12+
)
13+
from adf_core_python.implement.tactics.default_tactics_fire_station import (
14+
DefaultTacticsFireStation,
15+
)
16+
from adf_core_python.implement.tactics.default_tactics_police_force import (
17+
DefaultTacticsPoliceForce,
18+
)
19+
from adf_core_python.implement.tactics.default_tactics_police_office import (
20+
DefaultTacticsPoliceOffice,
21+
)
722

823
if TYPE_CHECKING:
924
from adf_core_python.core.component.tactics.tactics_ambulance_center import (
@@ -30,17 +45,17 @@ class DefaultLoader(AbstractLoader):
3045
def get_tactics_ambulance_team(self) -> TacticsAmbulanceTeam:
3146
return DefaultTacticsAmbulanceTeam()
3247

33-
# def get_tactics_fire_brigade(self) -> TacticsFireBrigade:
34-
# pass
48+
def get_tactics_fire_brigade(self) -> TacticsFireBrigade:
49+
return DefaultTacticsFireBrigade()
3550

36-
# def get_tactics_police_force(self) -> TacticsPoliceForce:
37-
# pass
51+
def get_tactics_police_force(self) -> TacticsPoliceForce:
52+
return DefaultTacticsPoliceForce()
3853

39-
# def get_tactics_ambulance_centre(self) -> TacticsAmbulanceCenter:
40-
# pass
54+
def get_tactics_ambulance_centre(self) -> TacticsAmbulanceCenter:
55+
return DefaultTacticsAmbulanceCenter()
4156

42-
# def get_tactics_fire_station(self) -> TacticsFireStation:
43-
# pass
57+
def get_tactics_fire_station(self) -> TacticsFireStation:
58+
return DefaultTacticsFireStation()
4459

45-
# def get_tactics_police_office(self) -> TacticsPoliceOffice:
46-
# pass
60+
def get_tactics_police_office(self) -> TacticsPoliceOffice:
61+
return DefaultTacticsPoliceOffice()
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
from adf_core_python.core.agent.communication.message_manager import MessageManager
2+
from adf_core_python.core.agent.develop.develop_data import DevelopData
3+
from adf_core_python.core.agent.info.agent_info import AgentInfo
4+
from adf_core_python.core.agent.info.scenario_info import ScenarioInfo
5+
from adf_core_python.core.agent.info.world_info import WorldInfo
6+
from adf_core_python.core.agent.module.module_manager import ModuleManager
7+
from adf_core_python.core.agent.precompute.precompute_data import PrecomputeData
8+
from adf_core_python.core.component.tactics.tactics_ambulance_center import (
9+
TacticsAmbulanceCenter,
10+
)
11+
12+
13+
class DefaultTacticsAmbulanceCenter(TacticsAmbulanceCenter):
14+
def initialize(
15+
self,
16+
agent_info: AgentInfo,
17+
world_info: WorldInfo,
18+
scenario_info: ScenarioInfo,
19+
module_manager: ModuleManager,
20+
precompute_data: PrecomputeData,
21+
message_manager: MessageManager,
22+
develop_data: DevelopData,
23+
) -> None:
24+
raise NotImplementedError
25+
26+
def resume(
27+
self,
28+
agent_info: AgentInfo,
29+
world_info: WorldInfo,
30+
scenario_info: ScenarioInfo,
31+
module_manager: ModuleManager,
32+
precompute_data: PrecomputeData,
33+
message_manager: MessageManager,
34+
develop_data: DevelopData,
35+
) -> None:
36+
raise NotImplementedError
37+
38+
def prepare(
39+
self,
40+
agent_info: AgentInfo,
41+
world_info: WorldInfo,
42+
scenario_info: ScenarioInfo,
43+
module_manager: ModuleManager,
44+
precompute_data: PrecomputeData,
45+
develop_data: DevelopData,
46+
) -> None:
47+
raise NotImplementedError
48+
49+
def think(
50+
self,
51+
agent_info: AgentInfo,
52+
world_info: WorldInfo,
53+
scenario_info: ScenarioInfo,
54+
module_manager: ModuleManager,
55+
precompute_data: PrecomputeData,
56+
message_manager: MessageManager,
57+
develop_data: DevelopData,
58+
) -> None:
59+
raise NotImplementedError

adf_core_python/implement/tactics/default_tactics_ambulance_team.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,8 @@ def think(
106106
) -> Action:
107107
self.module_update_info(message_manager)
108108

109-
agent: AmbulanceTeamEntity = cast(AmbulanceTeamEntity, agent_info.get_myself())
110-
entity_id = agent_info.get_entity_id()
109+
agent: AmbulanceTeamEntity = cast(AmbulanceTeamEntity, agent_info.get_myself()) # noqa: F841
110+
entity_id = agent_info.get_entity_id() # noqa: F841
111111

112112
target_entity_id = self._human_detector.calculate().get_target_entity_id()
113113
action = (
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
from adf_core_python.core.agent.action.action import Action
2+
from adf_core_python.core.agent.communication.message_manager import MessageManager
3+
from adf_core_python.core.agent.develop.develop_data import DevelopData
4+
from adf_core_python.core.agent.info.agent_info import AgentInfo
5+
from adf_core_python.core.agent.info.scenario_info import ScenarioInfo
6+
from adf_core_python.core.agent.info.world_info import WorldInfo
7+
from adf_core_python.core.agent.module.module_manager import ModuleManager
8+
from adf_core_python.core.agent.precompute.precompute_data import PrecomputeData
9+
from adf_core_python.core.component.tactics.tactics_fire_brigade import (
10+
TacticsFireBrigade,
11+
)
12+
13+
14+
class DefaultTacticsFireBrigade(TacticsFireBrigade):
15+
def initialize(
16+
self,
17+
agent_info: AgentInfo,
18+
world_info: WorldInfo,
19+
scenario_info: ScenarioInfo,
20+
module_manager: ModuleManager,
21+
precompute_data: PrecomputeData,
22+
message_manager: MessageManager,
23+
develop_data: DevelopData,
24+
) -> None:
25+
raise NotImplementedError
26+
27+
def precompute(
28+
self,
29+
agent_info: AgentInfo,
30+
world_info: WorldInfo,
31+
scenario_info: ScenarioInfo,
32+
module_manager: ModuleManager,
33+
precompute_data: PrecomputeData,
34+
message_manager: MessageManager,
35+
develop_data: DevelopData,
36+
) -> None:
37+
raise NotImplementedError
38+
39+
def resume(
40+
self,
41+
agent_info: AgentInfo,
42+
world_info: WorldInfo,
43+
scenario_info: ScenarioInfo,
44+
module_manager: ModuleManager,
45+
precompute_data: PrecomputeData,
46+
message_manager: MessageManager,
47+
develop_data: DevelopData,
48+
) -> None:
49+
raise NotImplementedError
50+
51+
def prepare(
52+
self,
53+
agent_info: AgentInfo,
54+
world_info: WorldInfo,
55+
scenario_info: ScenarioInfo,
56+
module_manager: ModuleManager,
57+
precompute_data: PrecomputeData,
58+
develop_data: DevelopData,
59+
) -> None:
60+
raise NotImplementedError
61+
62+
def think(
63+
self,
64+
agent_info: AgentInfo,
65+
world_info: WorldInfo,
66+
scenario_info: ScenarioInfo,
67+
module_manager: ModuleManager,
68+
precompute_data: PrecomputeData,
69+
message_manager: MessageManager,
70+
develop_data: DevelopData,
71+
) -> Action:
72+
raise NotImplementedError
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
from adf_core_python.core.agent.communication.message_manager import MessageManager
2+
from adf_core_python.core.agent.develop.develop_data import DevelopData
3+
from adf_core_python.core.agent.info.agent_info import AgentInfo
4+
from adf_core_python.core.agent.info.scenario_info import ScenarioInfo
5+
from adf_core_python.core.agent.info.world_info import WorldInfo
6+
from adf_core_python.core.agent.module.module_manager import ModuleManager
7+
from adf_core_python.core.agent.precompute.precompute_data import PrecomputeData
8+
from adf_core_python.core.component.tactics.tactics_fire_station import (
9+
TacticsFireStation,
10+
)
11+
12+
13+
class DefaultTacticsFireStation(TacticsFireStation):
14+
def initialize(
15+
self,
16+
agent_info: AgentInfo,
17+
world_info: WorldInfo,
18+
scenario_info: ScenarioInfo,
19+
module_manager: ModuleManager,
20+
precompute_data: PrecomputeData,
21+
message_manager: MessageManager,
22+
develop_data: DevelopData,
23+
) -> None:
24+
raise NotImplementedError
25+
26+
def resume(
27+
self,
28+
agent_info: AgentInfo,
29+
world_info: WorldInfo,
30+
scenario_info: ScenarioInfo,
31+
module_manager: ModuleManager,
32+
precompute_data: PrecomputeData,
33+
message_manager: MessageManager,
34+
develop_data: DevelopData,
35+
) -> None:
36+
raise NotImplementedError
37+
38+
def prepare(
39+
self,
40+
agent_info: AgentInfo,
41+
world_info: WorldInfo,
42+
scenario_info: ScenarioInfo,
43+
module_manager: ModuleManager,
44+
precompute_data: PrecomputeData,
45+
develop_data: DevelopData,
46+
) -> None:
47+
raise NotImplementedError
48+
49+
def think(
50+
self,
51+
agent_info: AgentInfo,
52+
world_info: WorldInfo,
53+
scenario_info: ScenarioInfo,
54+
module_manager: ModuleManager,
55+
precompute_data: PrecomputeData,
56+
message_manager: MessageManager,
57+
develop_data: DevelopData,
58+
) -> None:
59+
raise NotImplementedError

0 commit comments

Comments
 (0)