def _check_hero_soul(char_id, souls, func_name=""): from core.hero import HeroSoul hs = HeroSoul(char_id) for _id, _amount in souls: if not hs.has_soul(_id, _amount): raise SanguoException(SOUL_NOT_ENOUGH, char_id, func_name, 'Soul {0} Not Enough/Exist.'.format(_id)) yield hs.remove_soul(souls)