runCreateSQL.py 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. import argparse
  2. from Flowdat.Olt import Olt
  3. from ModelOLT.ModelOltBase import ModelOltBase
  4. from ModelOLT.ZTEv2 import ZTEv2
  5. from ModelOLT.Huawei import Huawei
  6. parser = argparse.ArgumentParser(description='Arguments')
  7. parser.add_argument('-cf', '--config_file', type=str, help='Config file', required=True)
  8. parser.add_argument('-on', '--olt_name', type=str, help='OLT name', required=True)
  9. parser.add_argument('-oma', '--olt_model_analysis', type=str, help='OLT model analysis. ModelOltBase - ZTEv2',
  10. required=False, default="ModelOltBase")
  11. parser.add_argument('-db', '--database_name', type=str, help='Database name', required=False, default="fd3_ftth")
  12. parser.add_argument('-dbc', '--database_name_client', type=str, help='Database name for client', required=False,
  13. default="fd3_base")
  14. parser.add_argument('-oid', '--olt_id', type=str, help='OLT id', required=False, default=1)
  15. parser.add_argument('-tid', '--tenancy_id', type=int, help='Tenancy id', required=False, default=2)
  16. parser.add_argument('-omid', '--olt_model_id', type=int, help='OLT model id', required=False, default=1)
  17. parser.add_argument('-vid', '--init_vlan_id', type=int, help='Vlan id', required=False, default=1)
  18. parser.add_argument('-tcontid', '--init_tcont', type=int, help='Tcont id', required=False, default=1)
  19. parser.add_argument('-tpid', '--init_traffic_profile', type=int, help='Traffic profile id', required=False, default=1)
  20. parser.add_argument('-nid', '--init_nap', type=int, help='Nap id', required=False, default=1)
  21. parser.add_argument('-cid', '--init_client', type=int, help='Client id', required=False, default=1)
  22. parser.add_argument('-pid', '--init_profile', type=int, help='Profile id', required=False, default=1)
  23. parser.add_argument('-onumid', '--init_onu_model', type=int, help='ONU model id', required=False, default=1000)
  24. parser.add_argument('-onuid', '--init_onus', type=int, help='ONU id', required=False, default=1)
  25. parser.add_argument('-spid', '--init_service_ports', type=int, help='Service ports id', required=False, default=1)
  26. parser.add_argument('-e', '--errors', type=int, help='Show errors. Default 1 (TRUE)', required=False, default=1)
  27. parser.add_argument('-d', '--delete', type=int, help='Show delete from mysql. Default 1 (TRUE)', required=False,
  28. default=1)
  29. parser.add_argument('-du', '--duplicated', type=int, help='Show duplicated onu. Default 1 (TRUE)', required=False,
  30. default=1)
  31. parser.add_argument('-ld', '--load_disabled', type=int, help='Load disabled onus. Default 0 (FALSE)', required=False,
  32. default=0)
  33. args = parser.parse_args()
  34. # Se crea el modelo OLT que lee la config
  35. model_olt = None
  36. if args.olt_model_analysis == ModelOltBase.__name__:
  37. model_olt = ModelOltBase(args.config_file)
  38. elif args.olt_model_analysis == ZTEv2.__name__:
  39. model_olt = ZTEv2(args.config_file)
  40. elif args.olt_model_analysis == Huawei.__name__:
  41. model_olt = Huawei(args.config_file)
  42. # Se crea la OLT
  43. olt = Olt()
  44. olt.idDataBase = args.olt_id
  45. olt.name = args.olt_name
  46. model_olt.process_file(olt)
  47. duplicated = model_olt.get_onus_duplicated(olt)
  48. insert_olt = olt.create_sql_olt(args.database_name, olt, args.tenancy_id, args.olt_model_id)
  49. insert_objs = olt.create_sql_object(args.load_disabled, args.database_name, args.database_name_client, args.tenancy_id,
  50. args.init_vlan_id, args.init_tcont, args.init_traffic_profile, args.init_profile,
  51. args.init_nap, args.init_client, args.init_onu_model, args.init_onus, args.init_service_ports)
  52. if args.delete == 1:
  53. olt.delete_sql_olt(args.database_name, olt, args.tenancy_id)
  54. print olt.print_sql_delete()
  55. print insert_olt
  56. print insert_objs
  57. if args.errors == 1:
  58. errors = olt.obtains_errors()
  59. if args.errors == 1 and errors:
  60. print "-- Errors"
  61. print errors
  62. if args.duplicated == 1 and duplicated:
  63. print "-- Duplicated"
  64. print duplicated