def _move_reads(cls, readings, readings_grouped): cnt_ins = cnt_del = 0 for r_grp in readings_grouped: Db.insert_one('Readings_grouped', r_grp) for r in readings: if not (r_grp.equip_id == r.equip_id and r_grp.meter_id == r.meter_id): continue # skip if r was not included in r_grp Db.insert_one('Readings_archived', Db.ReadingsArchivedRecord( r.dtime, r.meter_id, r.image_id, r.temperature, r_grp.dtime)) cnt_ins += 1 rc = Db.exec(f'delete from Readings where dtime=? and meter_id=?', (r.dtime, r.meter_id)) if rc != 1: logger.error( f'something is wrong while deleting Readings({r.dtime},meter_id={r.meter_id} rc={rc}') cnt_del += rc if cnt_ins != len(readings) or cnt_del != len(readings): logger.warning(f'Wrong counters: len(readings)={len(readings)}, inserted={cnt_ins}, deleted={cnt_del}') else: logger.info(f'Counters - OK: {len(readings)} records moved from Readings to Readings_archive. ')