async def _load_adversaries(self, plugin): for filename in glob.iglob('%s/adversaries/**/*.yml' % plugin.data_dir, recursive=True): for adv in self.strip_yml(filename): if adv.get('phases'): ordering = await self._load_phase_adversary_variant(adv) else: ordering = adv.get('atomic_ordering', list()) atomic_ordering = await self._link_abilities(ordering, adv) adversary = Adversary(adversary_id=adv['id'], name=adv['name'], description=adv['description'], atomic_ordering=atomic_ordering) adversary.access = plugin.access await self.store(adversary)
async def _load_adversaries(self, plugin): for filename in glob.iglob('%s/adversaries/**/*.yml' % plugin.data_dir, recursive=True): for adv in self.strip_yml(filename): phases = adv.get('phases', dict()) for p in adv.get('packs', []): adv_pack = await self._add_adversary_packs(p) if adv_pack: await self._merge_phases(phases, adv_pack) sorted_phases = [phases[x] for x in sorted(phases.keys())] phases = await self._add_phases(sorted_phases, adv) adversary = Adversary(adversary_id=adv['id'], name=adv['name'], description=adv['description'], phases=phases) adversary.access = plugin.access await self.store(adversary)