#!/usr/bin/env python
# Copyright (c) 2011-2012, Universite de Versailles St-Quentin-en-Yvelines
#
# This file is part of ASK.  ASK is free software: you can redistribute
# it and/or modify it under the terms of the GNU General Public
# License as published by the Free Software Foundation, version 2.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc., 51
# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

from common.util import fatal
from common.configuration import Configuration


def should_stop(points, input_file):
    l = len(open(input_file).readlines())
    if l >= points:
        fatal("Number of sampled points reached: stopping", 254)


if __name__ == "__main__":
    import argparse
    parser = argparse.ArgumentParser(
        description="Stops the driver after a given number of points")
    parser.add_argument('configuration')
    parser.add_argument('iteration', type=int)
    parser.add_argument('labelled_file')
    parser.add_argument('model_file')
    args = parser.parse_args()
    conf = Configuration(args.configuration)
    should_stop(conf("modules.control.params.n", int), args.labelled_file)
