#!python3
import sys


def main(features, interactions):
    # TODO: to implement
    pass

def optimize(population):
    # TODO: to implement
    pass


def initialize_population():
    # TODO: to implement
    pass


def copy(solution):
    # TODO: to implement
    pass


def tweak(solution):
    # TODO: to implement
    pass


def select(population):
    # TODO: to implement
    pass


def crossover(solution_a, solution_b):
    # TODO: to implement
    pass


def assess_fitness(solution):
    # TODO: to implement
    pass

def readTXT(path):
    result = []
    with open(path) as f:
        lines = f.readlines()
    for line in lines:
        name = line.split(" ")[0][:-1]
        names = name.split("#")
        value = float(line.split(" ")[1].strip())
        configuration = [names, value]
        result.append(configuration)
    return result


if __name__ == "__main__":
    # input scheme: run_genetic_alg.py model_features.txt model_interactions.txt
    if len(sys.argv) != 3:
        print("Not a valid input! Please use:" + \
        "python3 run_genetic_alg.py model_features.txt model_interactions.txt")
        sys.exit(0)
    features = readTXT(sys.argv[1])
    interactions = readTXT(sys.argv[2])
    main(features, interactions)
