| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- from app.main.model.meters import Meter
- def get_meters(serialNumber=None):
- query = {} if not serialNumber else {'serialNumber': serialNumber}
- meters = Meter.objects(**query).all()
- if not meters:
- return {'no-data': ''}
- return {'success': [meter.to_json() for meter in meters]}
- def create_or_update_meters(serialNumber, name, brand, model, phases, active,
- address, gpsLat, gpsLong, installedDate,
- meter_id=None):
- try:
- query = {'id': 'meter_id'} if meter_id else {
- 'serialNumber': serialNumber}
- result = Meter.objects(**query).modify(
- upsert=True,
- set__serialNumber=serialNumber,
- set__name=name,
- set__model=model,
- set__phases=phases,
- set__active=active,
- set__address=address,
- set__gpsLat=gpsLat,
- set__gpsLong=gpsLong,
- set__installedDate=installedDate
- )
- except Exception as e:
- return {'error': 'Error during the operation: {}'.format(e)}
- print(result)
- if result is None:
- return {'created': 'Created the meter {!r}.'.format(serialNumber)}
- return {'updated': 'Updated the meter {!r}.'.format(serialNumber)}
- def delete_meter(meter_id):
- meter = Meter.objects(id=meter_id).first()
- if not meter:
- return {'error': 'Invalid meter id.'}
- meter.delete()
- return {'deleted': 'Meter deleted.'}
|