Code Duplication    Length = 46-50 lines in 2 locations

myems-api/core/energystoragecontainer.py 1 location

@@ 263-308 (lines=46) @@
260
261
        resp.text = json.dumps(meta_result)
262
263
    @staticmethod
264
    @user_logger
265
    def on_delete(req, resp, id_):
266
        admin_control(req)
267
        if not id_.isdigit() or int(id_) <= 0:
268
            raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
269
                                   description='API.INVALID_ENERGY_STORAGE_CONTAINER_ID')
270
271
        cnx = mysql.connector.connect(**config.myems_system_db)
272
        cursor = cnx.cursor()
273
274
        cursor.execute(" SELECT name "
275
                       " FROM tbl_energy_storage_containers "
276
                       " WHERE id = %s ", (id_,))
277
        if cursor.fetchone() is None:
278
            cursor.close()
279
            cnx.close()
280
            raise falcon.HTTPError(status=falcon.HTTP_404, title='API.NOT_FOUND',
281
                                   description='API.ENERGY_STORAGE_CONTAINER_NOT_FOUND')
282
283
        cursor.execute(" DELETE FROM tbl_energy_storage_containers_sensors "
284
                       " WHERE energy_storage_container_id = %s ", (id_, ))
285
286
        cursor.execute(" DELETE FROM tbl_energy_storage_containers_batteries "
287
                       " WHERE energy_storage_container_id = %s ", (id_, ))
288
289
        cursor.execute(" DELETE FROM tbl_energy_storage_containers_grids "
290
                       " WHERE energy_storage_container_id = %s ", (id_, ))
291
292
        cursor.execute(" DELETE FROM tbl_energy_storage_containers_loads "
293
                       " WHERE energy_storage_container_id = %s ", (id_, ))
294
295
        cursor.execute(" DELETE FROM tbl_energy_storage_containers_power_conversion_systems "
296
                       " WHERE energy_storage_container_id = %s ", (id_, ))
297
298
        cursor.execute(" DELETE FROM tbl_energy_storage_containers_users "
299
                       " WHERE energy_storage_container_id = %s ", (id_, ))
300
301
        cursor.execute(" DELETE FROM tbl_energy_storage_containers "
302
                       " WHERE id = %s ", (id_,))
303
        cnx.commit()
304
305
        cursor.close()
306
        cnx.close()
307
308
        resp.status = falcon.HTTP_204
309
310
    @staticmethod
311
    @user_logger

myems-api/core/combinedequipment.py 1 location

@@ 240-289 (lines=50) @@
237
238
        resp.text = json.dumps(meta_result)
239
240
    @staticmethod
241
    @user_logger
242
    def on_delete(req, resp, id_):
243
        admin_control(req)
244
        if not id_.isdigit() or int(id_) <= 0:
245
            raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
246
                                   description='API.INVALID_COMBINED_EQUIPMENT_ID')
247
248
        cnx = mysql.connector.connect(**config.myems_system_db)
249
        cursor = cnx.cursor()
250
251
        # check relation with space
252
        cursor.execute(" SELECT space_id "
253
                       " FROM tbl_spaces_combined_equipments "
254
                       " WHERE combined_equipment_id = %s ",
255
                       (id_,))
256
        rows_combined_equipments = cursor.fetchall()
257
        if rows_combined_equipments is not None and len(rows_combined_equipments) > 0:
258
            cursor.close()
259
            cnx.close()
260
            raise falcon.HTTPError(status=falcon.HTTP_400,
261
                                   title='API.BAD_REQUEST',
262
                                   description='API.THERE_IS_RELATION_WITH_SPACES')
263
264
        # delete relation with commands
265
        cursor.execute(" DELETE FROM tbl_combined_equipments_commands WHERE combined_equipment_id = %s ", (id_,))
266
267
        # delete relation with equipments
268
        cursor.execute(" DELETE FROM tbl_combined_equipments_equipments WHERE combined_equipment_id = %s ", (id_,))
269
270
        # delete relation with meters
271
        cursor.execute(" DELETE FROM tbl_combined_equipments_meters WHERE combined_equipment_id = %s ", (id_,))
272
273
        # delete relation with offline meters
274
        cursor.execute(" DELETE FROM tbl_combined_equipments_offline_meters WHERE combined_equipment_id = %s ", (id_,))
275
276
        # delete all associated parameters
277
        cursor.execute(" DELETE FROM tbl_combined_equipments_parameters WHERE combined_equipment_id = %s ", (id_,))
278
279
        # delete relation with virtual meter
280
        cursor.execute(" DELETE FROM tbl_combined_equipments_virtual_meters WHERE combined_equipment_id = %s ", (id_,))
281
        cnx.commit()
282
283
        cursor.execute(" DELETE FROM tbl_combined_equipments WHERE id = %s ", (id_,))
284
        cnx.commit()
285
286
        cursor.close()
287
        cnx.close()
288
289
        resp.status = falcon.HTTP_204
290
291
    @staticmethod
292
    @user_logger