Check if corpus is exportable before exporting it

This commit is contained in:
Patrick Jentsch
2021-01-13 15:43:23 +01:00
parent a52db602d9
commit 4bf456d8ef
3 changed files with 13 additions and 2 deletions

View File

@ -28,7 +28,15 @@ corpus_analysis_clients = {}
@socketio_login_required
def export_corpus(corpus_id):
# TODO: This should not be get_or_404 here - Socket.IO != HTTP request
corpus = Corpus.query.get_or_404(corpus_id)
corpus = Corpus.query.get(corpus_id)
if corpus is None:
response = {'code': 404, 'msg': 'Not found'}
socketio.emit('export_corpus', response, room=request.sid)
return
if corpus.status not in ['prepared', 'start analysis', 'stop analysis']:
response = {'code': 412, 'msg': 'Precondition Failed'}
socketio.emit('export_corpus', response, room=request.sid)
return
# delete old corpus archive if it exists/has been build before
if corpus.archive_file is not None and os.path.isfile(corpus.archive_file):
os.remove(corpus.archive_file)