import argparse from Flowdat.Olt import Olt from ModelOLT.ModelOltBase import ModelOltBase from ModelOLT.ZTEv2 import ZTEv2 from ModelOLT.Huawei import Huawei parser = argparse.ArgumentParser(description='Arguments') parser.add_argument('-cf', '--config_file', type=str, help='Config file', required=True) parser.add_argument('-on', '--olt_name', type=str, help='OLT name', required=True) parser.add_argument('-oma', '--olt_model_analysis', type=str, help='OLT model analysis. ModelOltBase - ZTEv2', required=False, default="ModelOltBase") parser.add_argument('-db', '--database_name', type=str, help='Database name', required=False, default="fd3_ftth") parser.add_argument('-dbc', '--database_name_client', type=str, help='Database name for client', required=False, default="fd3_base") parser.add_argument('-oid', '--olt_id', type=str, help='OLT id', required=False, default=1) parser.add_argument('-tid', '--tenancy_id', type=int, help='Tenancy id', required=False, default=2) parser.add_argument('-omid', '--olt_model_id', type=int, help='OLT model id', required=False, default=1) parser.add_argument('-vid', '--init_vlan_id', type=int, help='Vlan id', required=False, default=1) parser.add_argument('-tcontid', '--init_tcont', type=int, help='Tcont id', required=False, default=1) parser.add_argument('-tpid', '--init_traffic_profile', type=int, help='Traffic profile id', required=False, default=1) parser.add_argument('-nid', '--init_nap', type=int, help='Nap id', required=False, default=1) parser.add_argument('-cid', '--init_client', type=int, help='Client id', required=False, default=1) parser.add_argument('-pid', '--init_profile', type=int, help='Profile id', required=False, default=1) parser.add_argument('-onumid', '--init_onu_model', type=int, help='ONU model id', required=False, default=1000) parser.add_argument('-onuid', '--init_onus', type=int, help='ONU id', required=False, default=1) parser.add_argument('-spid', '--init_service_ports', type=int, help='Service ports id', required=False, default=1) parser.add_argument('-e', '--errors', type=int, help='Show errors. Default 1 (TRUE)', required=False, default=1) parser.add_argument('-d', '--delete', type=int, help='Show delete from mysql. Default 1 (TRUE)', required=False, default=1) parser.add_argument('-du', '--duplicated', type=int, help='Show duplicated onu. Default 1 (TRUE)', required=False, default=1) parser.add_argument('-ld', '--load_disabled', type=int, help='Load disabled onus. Default 0 (FALSE)', required=False, default=0) args = parser.parse_args() # Se crea el modelo OLT que lee la config model_olt = None if args.olt_model_analysis == ModelOltBase.__name__: model_olt = ModelOltBase(args.config_file) elif args.olt_model_analysis == ZTEv2.__name__: model_olt = ZTEv2(args.config_file) elif args.olt_model_analysis == Huawei.__name__: model_olt = Huawei(args.config_file) # Se crea la OLT olt = Olt() olt.idDataBase = args.olt_id olt.name = args.olt_name model_olt.process_file(olt) duplicated = model_olt.get_onus_duplicated(olt) insert_olt = olt.create_sql_olt(args.database_name, olt, args.tenancy_id, args.olt_model_id) insert_objs = olt.create_sql_object(args.load_disabled, args.database_name, args.database_name_client, args.tenancy_id, args.init_vlan_id, args.init_tcont, args.init_traffic_profile, args.init_profile, args.init_nap, args.init_client, args.init_onu_model, args.init_onus, args.init_service_ports) if args.delete == 1: olt.delete_sql_olt(args.database_name, olt, args.tenancy_id) print olt.print_sql_delete() print insert_olt print insert_objs if args.errors == 1: errors = olt.obtains_errors() if args.errors == 1 and errors: print "-- Errors" print errors if args.duplicated == 1 and duplicated: print "-- Duplicated" print duplicated