ajout de la route update_schedulers

This commit is contained in:
Vincent BENOIT
2022-10-19 12:05:42 +02:00
parent 70f9c53cd9
commit 60dcd6a7b2
2 changed files with 15 additions and 1065 deletions

1030
db.json

File diff suppressed because one or more lines are too long

View File

@@ -66,9 +66,9 @@ def refresh_expiring_tokens(response):
@schedule.route('/scheduler', methods=['GET'])
@jwt_required()
def retreive_scheduler():
''' Récupération des paramètres de l'intercom
''' Récupération des horaires
'''
current_app.logger.info("Récupération des paramètres de l'intercom")
current_app.logger.info("Récupération des horaires")
current_user = get_jwt_identity()
# load data from JSON database
with open(current_app.config['DB_PATH'], 'r') as f:
@@ -79,57 +79,35 @@ def retreive_scheduler():
h = []
for hour in data['HORAIRES'][day]:
h.append(hour)
#for k,v in hour.items():
# current_app.logger.debug("k:{}, v:{}".format(k,v))
# h.append({'name': k, 'state':v})
content.append({'name': day, 'horaires':h})
current_app.logger.debug("{}".format(content))
#current_app.logger.debug("{}".format(content))
else:
abort(status.HTTP_406_NOT_ACCEPTABLE, description="horaire manquant en base de données")
return content, status.HTTP_200_OK
@schedule.route('/update_scheduler', methods=['POST'])
@schedule.route('/update_schedulers', methods=['POST'])
@jwt_required()
def update_scheduler():
''' Mise à jour des paramètres de l'intercom
''' Mise à jour des horaires
'''
current_app.logger.info("Mise à jour des paramètres de l'intercom")
current_app.logger.info("Mise à jour des horaires")
current_user = get_jwt_identity()
# recuperation des attributs JSON de la requete
data_req = request.get_json()
current_app.logger.debug("request: {}".format(data_req))
# load data from JSON database
with open(current_app.config['DB_PATH'], 'r') as f:
data = json.load(f)
data_db = json.load(f)
if 'pin_actif' in data_req:
data['PIN_ACTIF'] = data_req['pin_actif']
else:
abort(status.HTTP_406_NOT_ACCEPTABLE, description="paramètre manquant")
if 'code_pin' in data_req:
data['CODE_PIN'] = data_req['code_pin']
else:
abort(status.HTTP_406_NOT_ACCEPTABLE, description="paramètre manquant")
if 'num_autorized' in data_req:
data['NUM_AUTORISE'] = data_req['num_autorized']
else:
abort(status.HTTP_406_NOT_ACCEPTABLE, description="paramètre manquant")
if 'tone_duration' in data_req:
data['TONE_DURATION'] = int(data_req['tone_duration'])
else:
abort(status.HTTP_406_NOT_ACCEPTABLE, description="paramètre manquant")
if 'dtmf_code' in data_req:
data['DTMF_CODE'] = data_req['dtmf_code']
else:
abort(status.HTTP_406_NOT_ACCEPTABLE, description="paramètre manquant")
if 'dtmf_duration' in data_req:
data['DTMF_DURATION'] = int(data_req['dtmf_duration'])
else:
abort(status.HTTP_406_NOT_ACCEPTABLE, description="paramètre manquant")
for day in data_db['HORAIRES']:
for d in data_req:
if 'name' in d and d['name'] == day:
data_db['HORAIRES'][day] = d['horaires']
elif 'name' not in d:
abort(status.HTTP_406_NOT_ACCEPTABLE, description="erreur des données de la requete")
with open(current_app.config['DB_PATH'], 'w') as f:
json.dump(data, f)
json.dump(data_db, f)
content = {'message':'maj parameters successful!'}
return content, status.HTTP_200_OK