Coverage for app/utils/datafile_handler.py : 70%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1from app import app
2from flask_login import current_user
3from flask import flash
4import requests
5import json
8def uploadDataFile(file, file_id=None):
9 #
10 # uploads DataFile to file-service
11 #
13 # call DataFile Service
14 if file_id:
15 # update
16 url = '/'.join((
17 'http:/',
18 app.config.get('BAANGT_DATAFILE_HOST'),
19 app.config.get('BAANGT_DATAFILE_UPDATE'),
20 file_id,
21 ))
22 else:
23 # create
24 url = '/'.join((
25 'http:/',
26 app.config.get('BAANGT_DATAFILE_HOST'),
27 app.config.get('BAANGT_DATAFILE_SAVE'),
28 ))
29 app.logger.info(f'Call {url} to save file {file.filename} by {current_user}.')
31 try:
32 r = requests.post(url, files={'dataFile': file})
34 if r.status_code == 200:
35 response = json.loads(r.text)
36 app.logger.info(f'Uploaded DataFile {response.get("uuid")} by {current_user}')
37 return response.get('uuid')
38 else:
39 app.logger.warning(f'Faild upload DataFile {file.filename} by {current_user}: {r.status_code} {r.text}')
40 flash(f'WARNING: Faild upload DataFile {file.filename}: {r.status_code} {r.text}', 'warning')
41 return None
42 except Exception as e:
43 app.logger.warning(f'Faild upload DataFile {file.filename} by {current_user}: {e}')
44 flash(f'WARNING: Faild upload DataFile {file.filename}: {e}', 'warning')
45 return None