#!/usr/bin/env python3
# -*- coding: utf-8 -*-
###########################################################################
# Eole NG
# Copyright Pole de Competence Eole  (Ministere Education - Academie Dijon)
# Licence CeCill  cf /root/LicenceEole.txt
# eole@ac-dijon.fr
#
# Generation de la qos externe en fonction des qosclasses du modele Era.
#
###########################################################################
"""Generation de la qos externe en fonction des qosclasses du modele Era.

%prog <modele Era>"""

from optparse import OptionParser
from era.noyau.qos_externe import *
from era.noyau import translation

def parse_cmd_line():
    """parsing de la ligne de commande"""
    parser = OptionParser(__doc__, version = '%prog v1.0')
    parser.add_option("-o", "--output",
                      dest = "output_filename", default = "/etc/qoseole.conf",
                      help = "write QOS rules to this file",
                      metavar = "QOS_FILE")

    options, args = parser.parse_args()
    # On doit avoir 1 et 1 seul argument en plus des options
    # <=> le nom du modèle era à utiliser
    if len(args) != 1:
        parser.error("Un seul et unique modele era est necessaire")

    return options, args[0]

def run():
    """script en mode ligne de commande"""
    try:
        options, model_file = parse_cmd_line()
        qos_file = options.output_filename
        qos_data = get_qos_classes(model_file, qos_file=qos_file)
        export_to_qos_file(qos_file, qos_data)
    except Exception as e:
        print(e)
        print("Erreur lors de la generation du fichier %s" % qosfile)
        sys.exit(1)

if __name__ == '__main__':
    run()

