Пример #1
0
 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)
Пример #2
0
 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)