c.execute("SELECT kpi_id FROM kpi WHERE device_id is ? AND kpi_sample_type is ? AND endpoint_id is ? AND service_id is ?",(device_id,kpi_sample_type,endpoint_id,service_id))
data=c.fetchone()
ifdataisNone:
c.execute("INSERT INTO kpi (kpi_description,kpi_sample_type,device_id,endpoint_id,service_id) VALUES (?,?,?,?,?)",(kpi_description,kpi_sample_type,device_id,endpoint_id,service_id))
self.client.commit()
kpi_id=c.lastrowid
LOGGER.debug(f"KPI {kpi_id} succesfully inserted in the ManagementDB")
returnkpi_id
else:
kpi_id=data[0]
LOGGER.debug(f"KPI {kpi_id} already exists")
returnkpi_id
exceptsqlite3.Errorase:
LOGGER.debug("KPI cannot be inserted in the ManagementDB: {e}")
c.execute("SELECT subs_id FROM subscription WHERE kpi_id is ? AND subscriber is ? AND sampling_duration_s is ? AND sampling_interval_s is ? AND start_timestamp is ? AND end_timestamp is ?",(kpi_id,subscriber,sampling_duration_s,sampling_interval_s,start_timestamp,end_timestamp))
data=c.fetchone()
ifdataisNone:
c.execute("INSERT INTO subscription (kpi_id,subscriber,sampling_duration_s,sampling_interval_s,start_timestamp, end_timestamp) VALUES (?,?,?,?,?,?)",(kpi_id,subscriber,sampling_duration_s,sampling_interval_s,start_timestamp,end_timestamp))
self.client.commit()
subs_id=c.lastrowid
LOGGER.debug(f"Subscription {subs_id} succesfully inserted in the ManagementDB")
c.execute("SELECT alarm_id FROM alarm WHERE alarm_description is ? AND alarm_name is ? AND kpi_id is ? AND kpi_min_value is ? AND kpi_max_value is ? AND in_range is ? AND include_min_value is ? AND include_max_value is ?",(alarm_description,alarm_name,kpi_id,kpi_min_value,kpi_max_value,in_range,include_min_value,include_max_value))