From 62df761d9cdd7c385d7825469c443a39e8af4a3c Mon Sep 17 00:00:00 2001 From: Raffson Date: Fri, 29 Dec 2023 15:19:56 +0100 Subject: [PATCH] Rename faction.aircrafts -> faction.all_aircraft --- .../campaignloader/defaultsquadronassigner.py | 2 +- game/campaignloader/squadrondefgenerator.py | 2 +- game/factions/faction.py | 10 +++--- game/procurement.py | 2 +- game/squadrons/squadrondefloader.py | 2 +- qt_ui/windows/AirWingConfigurationDialog.py | 2 +- .../newgame/WizardPages/QFactionSelection.py | 2 +- tests/test_factions.py | 36 +++++++++---------- 8 files changed, 27 insertions(+), 31 deletions(-) diff --git a/game/campaignloader/defaultsquadronassigner.py b/game/campaignloader/defaultsquadronassigner.py index 711f2b19..adb21dd9 100644 --- a/game/campaignloader/defaultsquadronassigner.py +++ b/game/campaignloader/defaultsquadronassigner.py @@ -98,7 +98,7 @@ class DefaultSquadronAssigner: ) return None - if aircraft not in self.coalition.faction.aircrafts: + if aircraft not in self.coalition.faction.all_aircrafts: return None lo = self.coalition.faction.liveries_overrides diff --git a/game/campaignloader/squadrondefgenerator.py b/game/campaignloader/squadrondefgenerator.py index 74e19ed5..6871b03d 100644 --- a/game/campaignloader/squadrondefgenerator.py +++ b/game/campaignloader/squadrondefgenerator.py @@ -25,7 +25,7 @@ class SquadronDefGenerator: ) -> Optional[SquadronDef]: aircraft_choice: Optional[AircraftType] = None for aircraft in AircraftType.priority_list_for_task(task): - if aircraft not in self.faction.aircrafts: + if aircraft not in self.faction.all_aircrafts: continue if not control_point.can_operate(aircraft): continue diff --git a/game/factions/faction.py b/game/factions/faction.py index f8e61b36..6baf8bd0 100644 --- a/game/factions/faction.py +++ b/game/factions/faction.py @@ -180,7 +180,7 @@ class Faction: return sorted(air_defenses) @cached_property - def aircrafts(self) -> list[UnitType[Any]]: + def all_aircrafts(self) -> list[UnitType[Any]]: # Migrator can't cope with this, so we need to do it here... self.aircraft = set(self.aircraft) self.awacs = set(self.awacs) @@ -537,14 +537,14 @@ class Faction: self.remove_ship("Destroyer_carrier") def remove_aircraft(self, name: str) -> None: - for i in list(self.aircrafts): + for i in list(self.all_aircrafts): if i.dcs_unit_type.id == name: - self.aircrafts.remove(i) + self.all_aircrafts.remove(i) def remove_aircraft_by_name(self, name: str) -> None: - for i in list(self.aircrafts): + for i in list(self.all_aircrafts): if i.display_name == name: - self.aircrafts.remove(i) + self.all_aircrafts.remove(i) def remove_preset(self, name: str) -> None: for pg in self.preset_groups: diff --git a/game/procurement.py b/game/procurement.py index 9cfdc0f3..5820be18 100644 --- a/game/procurement.py +++ b/game/procurement.py @@ -61,7 +61,7 @@ class ProcurementAi: return 0 # faction has no planes or no squadrons - if len(self.faction.aircrafts) == 0 or len(self.air_wing.squadrons) == 0: + if len(self.faction.all_aircrafts) == 0 or len(self.air_wing.squadrons) == 0: return 1 parking_type = ParkingType( diff --git a/game/squadrons/squadrondefloader.py b/game/squadrons/squadrondefloader.py index ca9b1165..8f3dd84a 100644 --- a/game/squadrons/squadrondefloader.py +++ b/game/squadrons/squadrondefloader.py @@ -38,7 +38,7 @@ class SquadronDefLoader: f"{squadron_def.country.name}, need {country.name}: {path}" ) continue - if squadron_def.aircraft not in faction.aircrafts: + if squadron_def.aircraft not in faction.all_aircrafts: logging.debug( f"Not using squadron because {faction.name} cannot use " f"{squadron_def.aircraft}: {path}" diff --git a/qt_ui/windows/AirWingConfigurationDialog.py b/qt_ui/windows/AirWingConfigurationDialog.py index 1b5b932e..4225e0f1 100644 --- a/qt_ui/windows/AirWingConfigurationDialog.py +++ b/qt_ui/windows/AirWingConfigurationDialog.py @@ -700,7 +700,7 @@ class AirWingConfigurationTab(QWidget): # List of all Aircrafts possible to operate with the given bases possible_aircrafts = { aircraft - for aircraft in self.coalition.faction.aircrafts + for aircraft in self.coalition.faction.all_aircrafts if isinstance(aircraft, AircraftType) and any(base.can_operate(aircraft) for base in bases) } diff --git a/qt_ui/windows/newgame/WizardPages/QFactionSelection.py b/qt_ui/windows/newgame/WizardPages/QFactionSelection.py index 5e0b37c3..da8b4e93 100644 --- a/qt_ui/windows/newgame/WizardPages/QFactionSelection.py +++ b/qt_ui/windows/newgame/WizardPages/QFactionSelection.py @@ -238,7 +238,7 @@ class FactionSelection(QtWidgets.QWizardPage): @staticmethod def _filter_selected_units(qfu: QFactionUnits) -> Faction: fac = deepcopy(qfu.faction) - qfu.updateFactionUnits(fac.aircrafts) + qfu.updateFactionUnits(fac.all_aircrafts) qfu.updateFactionUnits(fac.awacs) qfu.updateFactionUnits(fac.tankers) qfu.updateFactionUnits(fac.frontline_units) diff --git a/tests/test_factions.py b/tests/test_factions.py index ea30c871..ec43dbe9 100644 --- a/tests/test_factions.py +++ b/tests/test_factions.py @@ -1,8 +1,8 @@ import json -from pathlib import Path import unittest -import pytest +from pathlib import Path +import pytest from dcs.helicopters import UH_1H, AH_64A from dcs.planes import ( F_15C, @@ -26,15 +26,11 @@ from dcs.planes import ( from dcs.ships import ( Stennis, LHA_Tarawa, - PERRY, - USS_Arleigh_Burke_IIa, - TICONDEROG, ) from dcs.vehicles import Armor, Unarmed, Infantry, Artillery from game.factions.faction import Faction - THIS_DIR = Path(__file__).parent RESOURCES_DIR = THIS_DIR / "resources" @@ -53,20 +49,20 @@ class TestFactionLoader(unittest.TestCase): self.assertEqual(faction.authors, "Khopa") self.assertEqual(faction.description, "This is a test description") - self.assertIn(F_15C, faction.aircrafts) - self.assertIn(F_15E, faction.aircrafts) - self.assertIn(F_14B, faction.aircrafts) - self.assertIn(FA_18C_hornet, faction.aircrafts) - self.assertIn(F_16C_50, faction.aircrafts) - self.assertIn(A_10A, faction.aircrafts) - self.assertIn(AV8BNA, faction.aircrafts) - self.assertIn(UH_1H, faction.aircrafts) - self.assertIn(AH_64A, faction.aircrafts) - self.assertIn(B_52H, faction.aircrafts) - self.assertIn(B_1B, faction.aircrafts) - self.assertIn(F_117A, faction.aircrafts) - self.assertIn(A_10C, faction.aircrafts) - self.assertIn(A_10C_2, faction.aircrafts) + self.assertIn(F_15C, faction.all_aircrafts) + self.assertIn(F_15E, faction.all_aircrafts) + self.assertIn(F_14B, faction.all_aircrafts) + self.assertIn(FA_18C_hornet, faction.all_aircrafts) + self.assertIn(F_16C_50, faction.all_aircrafts) + self.assertIn(A_10A, faction.all_aircrafts) + self.assertIn(AV8BNA, faction.all_aircrafts) + self.assertIn(UH_1H, faction.all_aircrafts) + self.assertIn(AH_64A, faction.all_aircrafts) + self.assertIn(B_52H, faction.all_aircrafts) + self.assertIn(B_1B, faction.all_aircrafts) + self.assertIn(F_117A, faction.all_aircrafts) + self.assertIn(A_10C, faction.all_aircrafts) + self.assertIn(A_10C_2, faction.all_aircrafts) self.assertEqual(len(faction.awacs), 1) self.assertIn(E_3A, faction.awacs)