def sendQhawaxStatusOff(): """ Endpoint to set qHAWAX OFF because script detect no new data within five minutes """ jsonsend = {} try: req_json = request.get_json() exception_helper.getStatusOffTargetofJson(req_json) name = str(req_json['qhawax_name']).strip() qhawax_time_off = req_json['qhawax_lost_timestamp'] description = req_json['description'] person_in_charge = req_json['person_in_charge'] post_business_helper.saveStatusOffQhawaxTable(name) if (same_helper.getQhawaxMode(name) == 'Cliente'): post_business_helper.saveStatusOffQhawaxInstallationTable( name, qhawax_time_off) post_business_helper.writeBinnacle(name, description, person_in_charge) jsonsend['main_inca'] = -1 jsonsend['name'] = name socketio.emit('update_inca', jsonsend) return make_response({'Success': 'qHAWAX off'}, 200) except (ValueError, TypeError) as e: json_message = jsonify({'error': '\'%s\'' % (e)}) return make_response(json_message, 400)
def qhawaxEndCalibration(): """ qHAWAX update end calibration mode, set main inca original, depends of mode (customer or stand by) """ req_json = request.get_json() try: qhawax_name = str(req_json['qhawax_name']).strip() person_in_charge = str(req_json['person_in_charge']) flag_costumer = get_business_helper.isItFieldQhawax(qhawax_name) if (flag_costumer == True): post_business_helper.turnOnAfterCalibration(qhawax_name) mode = "Cliente" description = "Se cambió a modo cliente" main_inca = 0 else: mode = "Stand By" description = "Se cambió a modo stand by" main_inca = -1 post_business_helper.changeMode(qhawax_name, mode) post_business_helper.updateMainIncaQhawaxTable(main_inca, qhawax_name) post_business_helper.updateMainIncaQhawaxInstallationTable( main_inca, qhawax_name) post_business_helper.writeBinnacle(qhawax_name, description, person_in_charge) return make_response( {'Success': 'qHAWAX have changed to original mode'}, 200) except TypeError as e: json_message = jsonify({'error': '\'%s\'' % (e)}) return make_response(json_message, 400)
def sendQhawaxStatusOnBaseOnLossSignal(): """ Set qHAWAX ON Base On Loss Signal - It should set last main inca value, set last last_time_off record and last last_time_on """ req_json = request.get_json() try: qH_name, timestamp = exception_helper.getQhawaxSignalJson(req_json) qhawax_state = same_helper.getQhawaxStatus(qH_name) description = 'qHAWAX turned on after a loss of signal' json_email = { 'description': description, 'person_in_charge': 'Firmware' } if (qhawax_state is not None): mode = same_helper.getQhawaxMode(qH_name) on_loop = int(same_helper.getQhawaxOnLoop(qH_name)) + 1 if (qhawax_state == 'OFF'): post_business_helper.saveStatusQhawaxTable(qH_name, "ON", 0) post_business_helper.setLastMeasurementOfQhawax(qH_name) post_business_helper.writeBinnacle( qH_name, json_email['description'], json_email['person_in_charge']) post_business_helper.resetOnLoop(qH_name, 0) return make_response({'Success': description}, 200) else: post_business_helper.reset_on_loop(qH_name, 0) if ( on_loop == 20) else post_business_helper.reset_on_loop( qH_name, on_loop) if (on_loop == 1): post_business_helper.recordFirstTimeLoop( qH_name, timestamp) return make_response({'Success': 'qHAWAX is already ON'}, 200) return make_response({'Warning': 'qHAWAX name has not been found'}, 400) except TypeError as e: json_message = jsonify({'error': '\'%s\'' % (e)}) return make_response(json_message, 400)
def test_create_qhawax_and_default_sensors_valid(self): end_date_string = "2020-10-30 00:00:00.255258" date_format = '%Y-%m-%d %H:%M:%S.%f' person_in_charge = 'l.montalvo' last_qhawax_id = int(get_business_helper.queryGetLastQhawax()[0]) + 1 qhawax_name = 'qH0' + str(last_qhawax_id) post_business_helper.createQhawax(qhawax_name, 'STATIC') last_gas_sensor_id = int( get_business_helper.queryGetLastGasSensor()[0]) + 1 post_business_helper.insertDefaultOffsets(qhawax_name) installation_json = { 'lat': '-12.0000499', 'lon': '-77.9000000', 'comercial_name': 'Unit Test ' + str(randint(0, 20)) + ' Coveralls', 'company_id': 1, 'eca_noise_id': 1, 'qhawax_id': int(last_qhawax_id), 'connection_type': 'Panel Solar', 'season': 'Primavera', 'is_public': 'no', 'person_in_charge': person_in_charge } post_business_helper.storeNewQhawaxInstallation(installation_json) description = 'qHAWAX record in field' post_business_helper.writeBinnacle(qhawax_name, description, person_in_charge) post_business_helper.saveEndWorkFieldDate(last_qhawax_id, end_date_string, date_format) description = 'qHAWAX save end work in field' post_business_helper.writeBinnacle(qhawax_name, description, person_in_charge)
def sendQhawaxStatusOn(): """qHAWAX / Web Comercial - Set qHAWAX ON due to module reset (sensors reset)""" jsonsend = {} req_json = request.get_json() description = "qHAWAX turned on after a general reset" try: qhawax_name = str(req_json["qhawax_name"]).strip() comercial_name = same_helper.getComercialName(qhawax_name) post_business_helper.saveStatusQhawaxTable(qhawax_name, "ON", 0) post_business_helper.saveTurnOnLastTime(qhawax_name) post_business_helper.writeBinnacle(qhawax_name, description, "API") type = same_helper.queryQhawaxType(qhawax_name) if type == "MOBILE_EXT": ( trip_start, trip_id, ) = get_data_helper.getqHAWAXMobileLatestTripStart(qhawax_name) if trip_id != None and trip_start != None: date_start = ( trip_start - datetime.timedelta(hours=5) ).date() # local now_date = ( datetime.datetime.now(dateutil.tz.tzutc()) - datetime.timedelta(hours=5) ).date() if date_start == now_date: same_helper.setTripEndNull( trip_id ) # trip is continued if there is any that started in the same day return make_response({"Success": "qHAWAX ON physically"}, 200) except TypeError as e: json_message = jsonify({"error": "'%s'" % (e)}) return make_response(json_message, 400)
def qhawaxEndCalibration(): """qHAWAX update end calibration mode, set main inca original, depends of mode (customer or stand by)""" req_json = request.get_json() try: qH_name, in_charge = exception_helper.getEndCalibrationFields(req_json) ( mode, description, main_inca, ) = get_business_helper.getLastValuesOfQhawax(qH_name) post_business_helper.updateMainIncaQhawaxTable(main_inca, qH_name) post_business_helper.updateMainIncaQhawaxInstallationTable( main_inca, qH_name ) # post_business_helper.updateTimeOnPreviousTurnOn(qH_name,1) # update last_registration relatively to the physically_turn_on post_business_helper.changeMode(qH_name, mode) post_business_helper.writeBinnacle(qH_name, description, in_charge) return make_response( {"Success": "qHAWAX has been changed to original mode - open"}, 200 ) except (TypeError, ValueError) as e: json_message = jsonify({"error": "'%s'" % (e)}) return make_response(json_message, 400) except (Exception) as e: json_message = jsonify({"database error": "'%s'" % (e)}) return make_response(json_message, 400)
def qhawaxChangeToCalibration(): """ qHAWAX update to Calibration mode, set main inca -2 value """ req_json = request.get_json() try: qhawax_name = str(req_json['qhawax_name']).strip() person_in_charge = req_json['person_in_charge'] description = req_json['description'] qhawax_time_off = now.replace(tzinfo=None) post_business_helper.saveStatusOffQhawaxTable(qhawax_name) post_business_helper.updateMainIncaQhawaxTable(-2, qhawax_name) if (same_helper.getQhawaxMode(qhawax_name) == 'Cliente'): post_business_helper.saveStatusOffQhawaxInstallationTable( name, qhawax_time_off) post_business_helper.updateMainIncaQhawaxInstallationTable( -2, qhawax_name) post_business_helper.changeMode(qhawax_name, "Calibracion") post_business_helper.writeBinnacle(qhawax_name, description, person_in_charge) return make_response( {'Success': 'qHAWAX have changed to calibration mode'}, 200) except TypeError as e: json_message = jsonify({'error': '\'%s\'' % (e)}) return make_response(json_message, 400)
def sendQhawaxStatusOnBaseOnLossSignal(): """Set qHAWAX ON Base On Loss Signal - It should set last main inca value, set last last_time_off record and last last_time_on""" req_json = request.get_json() try: qH_name, timestamp = exception_helper.getQhawaxSignalJson(req_json) qhawax_state = same_helper.getQhawaxStatus(qH_name) description = "qHAWAX turned on after a loss of signal" json_email = { "description": description, "person_in_charge": "Firmware", } qhawax_type = same_helper.queryQhawaxType(qH_name) if qhawax_state is not None: mode = same_helper.getQhawaxMode(qH_name) on_loop = int(same_helper.getQhawaxOnLoop(qH_name)) + 1 if qhawax_state == "OFF": post_business_helper.saveStatusQhawaxTable( qH_name, "ON", 0 ) # tabla qHAWAX post_business_helper.setLastMeasurementOfQhawax(qH_name) post_business_helper.writeBinnacle( qH_name, json_email["description"], json_email["person_in_charge"], ) post_business_helper.resetOnLoop(qH_name, 0) if qhawax_type == "MOBILE_EXT": # only if mobile, we have to check if there is a previous trip that we must continue ( trip_start, trip_id, ) = get_data_helper.getqHAWAXMobileLatestTripStart(qH_name) if trip_id != None and trip_start != None: # trip_start = datetime.datetime.strptime('2021-07-12 12:00:00', '%Y-%m-%d %H:%M:%S') # test date_start = ( trip_start - datetime.timedelta(hours=5) ).date() # local now_date = ( datetime.datetime.now(dateutil.tz.tzutc()) - datetime.timedelta(hours=5) ).date() if date_start == now_date: same_helper.setTripEndNull(trip_id) return make_response({"Success": description}, 200) else: post_business_helper.resetOnLoop(qH_name, 0) if ( on_loop == 20 ) else post_business_helper.resetOnLoop(qH_name, on_loop) if on_loop == 1: post_business_helper.recordFirstTimeLoop( qH_name, timestamp ) return make_response({"Success": "qHAWAX is already ON"}, 200) return make_response( {"Warning": "qHAWAX name has not been found"}, 400 ) except TypeError as e: json_message = jsonify({"error": "'%s'" % (e)}) return make_response(json_message, 400)
def updateQhawaxInstallation(): """Updates qHAWAX in Field""" data_json = request.get_json() description = "Some fields of qHAWAX installation were updated" try: qH_name, in_charge = exception_helper.getInstallationFields(data_json) post_business_helper.updateQhawaxInstallation(data_json) post_business_helper.writeBinnacle(qH_name, description, in_charge) return make_response( {"Sucess": "qHAWAX field information have been updated"}, 200) except TypeError as e: json_message = jsonify({"error": "'%s'" % (e)}) return make_response(json_message, 400)
def sendQhawaxStatusOn(): """ qHAWAX / Web Comercial - Set qHAWAX ON due to module reset (sensors reset) """ jsonsend = {} req_json = request.get_json() description = "qHAWAX turned on after a general reset" try: qhawax_name = str(req_json['qhawax_name']).strip() post_business_helper.saveStatusQhawaxTable(qhawax_name, 'ON', 0) post_business_helper.saveTurnOnLastTime(qhawax_name) post_business_helper.writeBinnacle(qhawax_name, description, None) jsonsend['main_inca'] = 0 jsonsend['name'] = qhawax_name return make_response({'Success': 'qHAWAX ON physically'}, 200) except TypeError as e: json_message = jsonify({'error': '\'%s\'' % (e)}) return make_response(json_message, 400)
def saveOffsets(): try: req_json = request.get_json() exception_helper.getOffsetTargetofJson(req_json) qhawax_name = str(req_json['product_id']).strip() offsets = req_json['offsets'] description = req_json['description'] person_in_charge = req_json['person_in_charge'] post_business_helper.updateJsonGasSensor(qhawax_name, offsets) post_business_helper.writeBinnacle(qhawax_name, description, person_in_charge) except (TypeError, ValueError) as e: json_message = jsonify({'error': ' \'%s\'' % (e)}) return make_response(json_message, 400) else: return make_response({'Success': 'Offsets have been updated'}, 200)
def createQhawax(): """ Endpoint to create a qHAWAX """ req_json = request.get_json() try: qH_name, qH_type, in_charge, description = exception_helper.getQhawaxTargetofJson( req_json) post_business_helper.createQhawax(qH_name, qH_type) post_business_helper.writeBinnacle(qH_name, description, in_charge) return make_response({'Success': 'qHAWAX & Sensors have been created'}, 200) except (TypeError, ValueError) as e: json_message = jsonify({'error': '\'%s\'' % (e)}) return make_response(json_message, 400) except (Exception) as e: json_message = jsonify({'database error': '\'%s\'' % (e)}) return make_response(json_message, 400)
def test_create_qhawax_and_default_sensors_valid(self): installation_date = "2020-12-29 00:44:00.0-05:00" end_date_string = "2020-12-29 01:00:00.255258" person_in_charge = "l.montalvo" qhawax_name = "qH102" post_business_helper.createQhawax(qhawax_name, "STATIC") installation_json = { "lat": "-7.0000499", "lon": "-70.9000000", "comercial_name": "Unit Test " + str(randint(0, 30)) + " Coveralls", "company_id": 1, "eca_noise_id": 1, "qhawax_name": qhawax_name, "connection_type": "Panel Solar", "season": "Primavera", "is_public": "no", "person_in_charge": person_in_charge, "instalation_date": installation_date, "link_report": "Test", "observations": "Test Obs", "district": "La Victoria", } post_business_helper.storeNewQhawaxInstallation(installation_json) description = "qHAWAX record in field" post_business_helper.writeBinnacle( qhawax_name, description, person_in_charge ) installation_json_update = { "lat": "-12.0000499", "lon": "-77.9000000", "comercial_name": "Unit Test Coveralls " + str(randint(0, 30)), "company_id": 1, "eca_noise_id": 1, "qhawax_name": qhawax_name, "connection_type": "Panel Solar", "season": "Primavera", "is_public": "no", "person_in_charge": "l.montalvo", } post_business_helper.updateQhawaxInstallation(installation_json_update) post_business_helper.saveEndWorkFieldDate(qhawax_name, end_date_string) description = "qHAWAX save end work in field" post_business_helper.writeBinnacle( qhawax_name, description, person_in_charge )
def handleProcessedDataByMobileQhawax(): data_json = request.get_json() try: product_id = data_json["ID"] if data_json is not None: if "zone" in data_json: data_json.pop("zone") post_data_helper.storeProcessedDataInDB(data_json) data_json["ID"] = product_id state = get_business_helper.queryQhawaxStatus(product_id) mode = same_helper.getQhawaxMode(product_id) if state == "OFF": # if API turned it off post_business_helper.saveTurnOnLastTimeProcessedMobile( product_id) post_business_helper.saveStatusQhawaxTable( product_id, "ON", 1) # state = ON - qhawax post_business_helper.writeBinnacle(product_id, "Reconnection", "API") if mode == "Customer": ( minutes_difference, last_time_turn_on, ) = get_business_helper.getHoursDifference(product_id) if minutes_difference != None: if minutes_difference < 30: if last_time_turn_on + datetime.timedelta( minutes=1) < datetime.datetime.now( dateutil.tz.tzutc()): post_data_helper.validAndBeautyJsonValidProcessedMobile( data_json, product_id) elif minutes_difference >= 30: if last_time_turn_on + datetime.timedelta( hours=2) < datetime.datetime.now( dateutil.tz.tzutc()): post_data_helper.validAndBeautyJsonValidProcessedMobile( data_json, product_id) return make_response("OK", 200) return make_response("ID not found", 400) except TypeError as e: json_message = jsonify({"error": "'%s'" % (e)}) return make_response(json_message, 400)
def sendQhawaxStatusOff(): """ Server Open Source lo apagara / Web Comercial lo pagara y enviara correo- Endpoint to set qHAWAX OFF because script detect no new data within five minutes """ jsonsend = {} req_json = request.get_json() description = "qHAWAX off" try: qH_name = exception_helper.getStatusOffTargetofJson(req_json) post_business_helper.saveStatusQhawaxTable(qH_name, 'OFF', -1) lessfive = get_data_helper.getQhawaxLatestTimestampProcessedMeasurement( qhawax_name) post_business_helper.saveStatusOffQhawaxInstallationTable( qH_name, lessfive) post_business_helper.writeBinnacle(qH_name, description, None) jsonsend['main_inca'] = -1 jsonsend['name'] = qH_name socketio.emit('update_inca', jsonsend) return make_response({'Success': 'qHAWAX OFF'}, 200) except (ValueError, TypeError) as e: json_message = jsonify({'error': '\'%s\'' % (e)}) return make_response(json_message, 400)
def qhawaxEndCalibration(): """ qHAWAX update end calibration mode, set main inca original, depends of mode (customer or stand by)""" req_json = request.get_json() try: qH_name, in_charge = exception_helper.getEndCalibrationFields(req_json) mode, description, main_inca = get_business_helper.getLastValuesOfQhawax( qH_name) post_business_helper.updateMainIncaQhawaxTable(main_inca, qH_name) post_business_helper.updateMainIncaQhawaxInstallationTable( main_inca, qH_name) post_business_helper.changeMode(qH_name, mode) post_business_helper.writeBinnacle(qH_name, description, in_charge) return make_response( {'Success': 'qHAWAX has been changed to original mode - open'}, 200) except (TypeError, ValueError) as e: json_message = jsonify({'error': '\'%s\'' % (e)}) return make_response(json_message, 400) except (Exception) as e: json_message = jsonify({'database error': '\'%s\'' % (e)}) return make_response(json_message, 400)
def newQhawaxInstallation(): """ To create a qHAWAX in Field """ data_json = request.get_json() try: qhawax_id = data_json['qhawax_id'] qhawax_id = data_json['description'] person_in_charge = data_json['person_in_charge'] post_business_helper.storeNewQhawaxInstallation(data_json) post_business_helper.setOccupiedQhawax(qhawax_id) post_business_helper.setModeCustomer(qhawax_id) qhawax_name = same_helper.getQhawaxName(qhawax_id) post_business_helper.writeBinnacle(qhawax_name, description, person_in_charge) except Exception as e: json_message = jsonify({'error': '\'%s\'' % (e)}) return make_response(json_message, 400) else: return make_response({'Success': 'Save new qHAWAX in field'}, 200)
def test_create_qhawax_and_default_sensors_valid(self): installation_date = "2020-12-29 00:44:00.0-05:00" end_date_string = "2020-12-29 01:00:00.255258" person_in_charge = 'l.montalvo' qhawax_name = 'qH102' post_business_helper.createQhawax(qhawax_name,'STATIC') installation_json = {'lat':'-7.0000499','lon':'-70.9000000', 'comercial_name':'Unit Test '+str(randint(0, 30))+' Coveralls', 'company_id':1,'eca_noise_id':1,'qhawax_name':qhawax_name, 'connection_type':'Panel Solar','season':'Primavera','is_public':'no', 'person_in_charge':person_in_charge,"instalation_date":installation_date, 'link_report':'Test','observations':'Test Obs','district':"La Victoria"} post_business_helper.storeNewQhawaxInstallation(installation_json) description = 'qHAWAX record in field' post_business_helper.writeBinnacle(qhawax_name,description,person_in_charge) installation_json_update = {'lat':'-12.0000499','lon':'-77.9000000','comercial_name':'Unit Test Coveralls '+str(randint(0, 30)), 'company_id':1,'eca_noise_id':1,'qhawax_name':qhawax_name,'connection_type':'Panel Solar', 'season':'Primavera','is_public':'no','person_in_charge':'l.montalvo'} post_business_helper.updateQhawaxInstallation(installation_json_update) post_business_helper.saveEndWorkFieldDate(qhawax_name,end_date_string) description = 'qHAWAX save end work in field' post_business_helper.writeBinnacle(qhawax_name,description,person_in_charge)
def sendQhawaxStatusOn(): """ Set qHAWAX ON due to module reset (sensors reset) """ jsonsend = {} try: req_json = request.get_json() exception_helper.getStatusOnTargetofJson(req_json) qhawax_name = str(req_json['qhawax_name']).strip() description = req_json['description'] person_in_charge = req_json['person_in_charge'] post_business_helper.saveStatusOnTable(qhawax_name) if (same_helper.getQhawaxMode(qhawax_name) == 'Cliente'): post_business_helper.saveTurnOnLastTime(qhawax_name) post_business_helper.writeBinnacle(qhawax_name, description, person_in_charge) jsonsend['main_inca'] = 0 jsonsend['name'] = qhawax_name return make_response({'Success': 'qHAWAX ON physically'}, 200) except TypeError as e: json_message = jsonify({'error': '\'%s\'' % (e)}) return make_response(json_message, 400)
def qhawaxChangeToCalibration(): """ qHAWAX update to Calibration mode, set main inca -2 value """ req_json = request.get_json() qhawax_time_off = datetime.datetime.now(dateutil.tz.tzutc()) description = "qHAWAX has been changed to calibration mode" try: qH_name, in_charge = exception_helper.getChangeCalibrationFields( req_json) post_business_helper.updateMainIncaQhawaxTable(-2, qH_name) post_business_helper.saveStatusOffQhawaxInstallationTable( qH_name, qhawax_time_off) post_business_helper.updateMainIncaQhawaxInstallationTable(-2, qH_name) post_business_helper.changeMode(qH_name, "Calibration") post_business_helper.writeBinnacle(qH_name, description, in_charge) return make_response( {'Success': 'qHAWAX has been changed to calibration mode - open'}, 200) except (TypeError, ValueError) as e: json_message = jsonify({'error': '\'%s\'' % (e)}) return make_response(json_message, 400) except (Exception) as e: json_message = jsonify({'database error': '\'%s\'' % (e)}) return make_response(json_message, 400)
def qhawaxChangeToCalibration(): """qHAWAX update to Calibration mode, set main inca -2 value""" req_json = request.get_json() qhawax_time_off = datetime.datetime.now(dateutil.tz.tzutc()) description = "qHAWAX has been changed to calibration mode" try: qH_name, in_charge = exception_helper.getChangeCalibrationFields( req_json ) comercial_name = same_helper.getComercialName(qH_name) qhawax_type = same_helper.queryQhawaxType(qH_name) post_business_helper.updateMainIncaQhawaxTable(-2, qH_name) if ( qhawax_type != "MOBILE_EXT" ): # Mobile qhawaxs should not be affected by this condition. Nor any other qhawaxs though.. post_business_helper.saveStatusOffQhawaxInstallationTable( qH_name, qhawax_time_off ) post_business_helper.updateMainIncaQhawaxInstallationTable(-2, qH_name) post_business_helper.changeMode(qH_name, "Calibration") post_business_helper.writeBinnacle(qH_name, description, in_charge) # if (qhawax_type == 'MOBILE_EXT'): # post_data_helper.recordEndTrip(qH_name, str(comercial_name)) # jsonLatLon = get_data_helper.getMobileLatestLatLonValidProcessedMeasurement(qH_name) # if(jsonLatLon!=None): # post_data_helper.updateLastestLatLonMobile(qH_name,jsonLatLon) return make_response( {"Success": "qHAWAX has been changed to calibration mode - open"}, 200, ) except (TypeError, ValueError) as e: json_message = jsonify({"error": "'%s'" % (e)}) return make_response(json_message, 400) except (Exception) as e: json_message = jsonify({"database error": "'%s'" % (e)}) return make_response(json_message, 400)
def sendQhawaxStatusOff(): """Server Open Source lo apagara / Web Comercial lo pagara y enviara correo- Endpoint to set qHAWAX OFF because script detect no new data within five minutes""" jsonsend = {} req_json = request.get_json() description = "qHAWAX off" try: qH_name = exception_helper.getStatusOffTargetofJson(req_json) comercial_name = same_helper.getComercialName(qH_name) post_business_helper.saveStatusQhawaxTable(qH_name, "OFF", -1) lessfive = ( get_data_helper.getQhawaxLatestTimestampProcessedMeasurement( qH_name ) ) # obtuve la ultima medida enviada a la tabla procesed open post_business_helper.saveStatusOffQhawaxInstallationTable( qH_name, lessfive ) post_business_helper.writeBinnacle(qH_name, description, "API") jsonsend["main_inca"] = -1 jsonsend["name"] = qH_name socketio.emit("update_inca", jsonsend) type = same_helper.queryQhawaxType(qH_name) if type == "MOBILE_EXT": post_data_helper.recordEndTrip(qH_name, str(comercial_name)) jsonLatLon = ( get_data_helper.getMobileLatestLatLonValidProcessedMeasurement( qH_name ) ) if jsonLatLon != None: post_data_helper.updateLastestLatLonMobile(qH_name, jsonLatLon) return make_response({"Success": "qHAWAX OFF"}, 200) except (ValueError, TypeError) as e: json_message = jsonify({"error": "'%s'" % (e)}) return make_response(json_message, 400)
def saveEndWorkField(): """ Save last date of qHAWAX in field """ data_json = request.get_json() try: qhawax_id = data_json['qhawax_id'] end_date = data_json['end_date'] description = data_json['description'] person_in_charge = data_json['person_in_charge'] date_format = '%d-%m-%Y %H:%M:%S.%f' post_business_helper.saveEndWorkFieldDate(qhawax_id, end_date, date_format) post_business_helper.setAvailableQhawax(qhawax_id) qhawax_name = same_helper.getQhawaxName(qhawax_id) post_business_helper.changeMode(qhawax_name, "Stand By") post_business_helper.writeBinnacle(qhawax_name, description, person_in_charge) except TypeError as e: json_message = jsonify({'error': '\'%s\'' % (e)}) return make_response(json_message, 400) else: return make_response('Success: Save qHAWAX last day in field', 200)
def createQhawax(): """ To create a qHAWAX """ try: req_json = request.get_json() exception_helper.getQhawaxTargetofJson(req_json) qhawax_name = str(req_json['qhawax_name']).strip() qhawax_type = str(req_json['qhawax_type']).strip() person_in_charge = req_json['person_in_charge'] description = req_json['description'] post_business_helper.createQhawax(qhawax_name, qhawax_type) post_business_helper.insertDefaultOffsets(qhawax_name) post_business_helper.writeBinnacle(qhawax_name, description, person_in_charge) return make_response({'Success': 'qHAWAX & Sensors have been created'}, 200) except (TypeError, ValueError) as e: json_message = jsonify({'error': '\'%s\'' % (e)}) return make_response(json_message, 400) except (Exception) as e: json_message = jsonify({'database error': '\'%s\'' % (e)}) return make_response(json_message, 400)