Add missing socketio messages

This commit is contained in:
Patrick Jentsch 2021-02-01 13:39:38 +01:00
parent 996ed1c790
commit ab9e5347be
2 changed files with 19 additions and 3 deletions

View File

@ -106,6 +106,10 @@ def corpus_analysis_get_meta_data(corpus_id):
# write some metadata to the db # write some metadata to the db
db_corpus.current_nr_of_tokens = metadata['corpus_size_tokens'] db_corpus.current_nr_of_tokens = metadata['corpus_size_tokens']
db.session.commit() db.session.commit()
event = 'user_{}_patch'.format(db_corpus.user_id)
jsonpatch = [{'op': 'replace', 'path': '/corpora/{}/current_nr_of_tokens'.format(db_corpus.id), 'value': db_corpus.current_nr_of_tokens}] # noqa
room = 'user_{}'.format(db_corpus.user_id)
socketio.emit(event, jsonpatch, room=room)
# emit data # emit data
payload = metadata payload = metadata
@ -300,3 +304,7 @@ def corpus_analysis_session_handler(app, corpus_id, user_id, session_id):
corpus_analysis_sessions.pop(corpus_id, None) corpus_analysis_sessions.pop(corpus_id, None)
corpus.status = 'stop analysis' corpus.status = 'stop analysis'
db.session.commit() db.session.commit()
event = 'user_{}_patch'.format(corpus.user_id)
jsonpatch = [{'op': 'replace', 'path': '/corpora/{}/status'.format(corpus.id), 'value': corpus.status}] # noqa
room = 'user_{}'.format(corpus.user_id)
socketio.emit(event, jsonpatch, room=room)

View File

@ -153,6 +153,10 @@ def analyse_corpus(corpus_id):
if corpus.status == 'prepared': if corpus.status == 'prepared':
corpus.status = 'start analysis' corpus.status = 'start analysis'
db.session.commit() db.session.commit()
event = 'user_{}_patch'.format(corpus.user_id)
jsonpatch = [{'op': 'replace', 'path': '/corpora/{}/status'.format(corpus.id), 'value': corpus.status}] # noqa
room = 'user_{}'.format(corpus.user_id)
socketio.emit(event, jsonpatch, room=room)
display_options_form = DisplayOptionsForm( display_options_form = DisplayOptionsForm(
prefix='display-options-form', prefix='display-options-form',
result_context=request.args.get('context', 20), result_context=request.args.get('context', 20),
@ -329,13 +333,13 @@ def add_query_result():
filename=form.file.data.filename, filename=form.file.data.filename,
title=form.title.data) title=form.title.data)
db.session.add(query_result) db.session.add(query_result)
db.session.commit() db.session.flush()
db.session.refresh(query_result)
try: try:
os.makedirs(query_result.path) os.makedirs(query_result.path)
except OSError: except OSError:
logging.error('Make dir {} led to an OSError!'.format(query_result.path)) # noqa logging.error('Make dir {} led to an OSError!'.format(query_result.path)) # noqa
db.session.delete(query_result) db.session.rollback()
db.session.commit()
flash('Internal Server Error', 'error') flash('Internal Server Error', 'error')
return make_response( return make_response(
{'redirect_url': url_for('.add_query_result')}, 500) {'redirect_url': url_for('.add_query_result')}, 500)
@ -361,6 +365,10 @@ def add_query_result():
query_result_file_content.pop('cpos_lookup') query_result_file_content.pop('cpos_lookup')
query_result.query_metadata = query_result_file_content query_result.query_metadata = query_result_file_content
db.session.commit() db.session.commit()
event = 'user_{}_patch'.format(query_result.user_id)
jsonpatch = [{'op': 'add', 'path': '/query_results/{}'.format(query_result.id), 'value': query_result.to_dict()}] # noqa
room = 'user_{}'.format(query_result.user_id)
socketio.emit(event, jsonpatch, room=room)
flash('Query result added!', 'result') flash('Query result added!', 'result')
return make_response({'redirect_url': url_for('.query_result', query_result_id=query_result.id)}, 201) # noqa return make_response({'redirect_url': url_for('.query_result', query_result_id=query_result.id)}, 201) # noqa
return render_template('corpora/query_results/add_query_result.html.j2', return render_template('corpora/query_results/add_query_result.html.j2',