def load_campaign(self, fname): self.auto_play = None campaign = JikibanCampaign() try: campaign.load_campaign(fname) except IOError as e: self._show_error(str(e), "Cannot load campaign") return if len(campaign) < 1: self._show_error("The campaign does not have any levels in it", "Empty campaign") return self.campaign = campaign self.campaign_lvl_no = 0 self.load_level(campaign[0])
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. """ import argparse import sys from chrono.model.campaign import JikibanCampaign from chrono.model.level import Level if __name__ == "__main__": parser = argparse.ArgumentParser(description="Check ChronoShift campaigns") parser.add_argument('campaigns', type=str, nargs='+', help="The campaigns files to check") args = parser.parse_args() for campaign in args.campaigns: jc = JikibanCampaign() jc.load_campaign(campaign) for lvlfile in jc: lvl = Level() lvl.load_level(lvlfile) try: lvl.check_lvl(require_solution=1) except TimeParadoxError, e: print " ".join(e.args) sys.exit(1)