Beispiel #1
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)