From 04575b78cf1c9aaec3248306ee22e8e927723ff1 Mon Sep 17 00:00:00 2001
From: Patrick Jentsch
Date: Thu, 10 Aug 2023 15:48:49 +0200
Subject: [PATCH] Codestyle enhancements
---
app/corpora/cqi_over_sio/__init__.py | 31 ++++++++++++++++------------
app/corpora/cqi_over_sio/utils.py | 21 +++++++++----------
2 files changed, 28 insertions(+), 24 deletions(-)
diff --git a/app/corpora/cqi_over_sio/__init__.py b/app/corpora/cqi_over_sio/__init__.py
index 6c093a9e..9a0f478d 100644
--- a/app/corpora/cqi_over_sio/__init__.py
+++ b/app/corpora/cqi_over_sio/__init__.py
@@ -6,7 +6,7 @@ from flask_login import current_user
from flask_socketio import Namespace
from inspect import signature
from threading import Lock
-from typing import Callable, Dict, List
+from typing import Callable, Dict, List, Optional
from app import db, hashids, socketio
from app.decorators import socketio_login_required
from app.models import Corpus, CorpusStatus
@@ -92,8 +92,8 @@ class CQiNamespace(Namespace):
@socketio_login_required
def on_init(self, db_corpus_hashid: str):
- db_corpus_id = hashids.decode(db_corpus_hashid)
- db_corpus = Corpus.query.get(db_corpus_id)
+ db_corpus_id: int = hashids.decode(db_corpus_hashid)
+ db_corpus: Optional[Corpus] = Corpus.query.get(db_corpus_id)
if db_corpus is None:
return {'code': 404, 'msg': 'Not Found'}
if not (db_corpus.user == current_user
@@ -112,7 +112,7 @@ class CQiNamespace(Namespace):
db.session.commit()
db_corpus.num_analysis_sessions = Corpus.num_analysis_sessions + 1
db.session.commit()
- retry_counter = 20
+ retry_counter: int = 20
while db_corpus.status != CorpusStatus.RUNNING_ANALYSIS_SESSION:
if retry_counter == 0:
db_corpus.num_analysis_sessions = Corpus.num_analysis_sessions - 1
@@ -121,11 +121,15 @@ class CQiNamespace(Namespace):
socketio.sleep(3)
retry_counter -= 1
db.session.refresh(db_corpus)
- cqi_client = CQiClient(f'cqpserver_{db_corpus_id}', timeout=float('inf'))
- session['cqi_over_sio'] = {}
- session['cqi_over_sio']['cqi_client'] = cqi_client
- session['cqi_over_sio']['cqi_client_lock'] = Lock()
- session['cqi_over_sio']['db_corpus_id'] = db_corpus_id
+ cqi_client: CQiClient = CQiClient(
+ f'cqpserver_{db_corpus_id}',
+ timeout=float('inf')
+ )
+ session['cqi_over_sio'] = {
+ 'cqi_client': cqi_client,
+ 'cqi_client_lock': Lock(),
+ 'db_corpus_id': db_corpus_id
+ }
return {'code': 200, 'msg': 'OK'}
@socketio_login_required
@@ -193,7 +197,8 @@ class CQiNamespace(Namespace):
except (BrokenPipeError, CQiException):
pass
cqi_client_lock.release()
- db_corpus = Corpus.query.get(db_corpus_id)
- if db_corpus is not None:
- db_corpus.num_analysis_sessions = Corpus.num_analysis_sessions - 1
- db.session.commit()
+ db_corpus: Optional[Corpus] = Corpus.query.get(db_corpus_id)
+ if db_corpus is None:
+ return
+ db_corpus.num_analysis_sessions = Corpus.num_analysis_sessions - 1
+ db.session.commit()
diff --git a/app/corpora/cqi_over_sio/utils.py b/app/corpora/cqi_over_sio/utils.py
index 121c3233..e59c17b1 100644
--- a/app/corpora/cqi_over_sio/utils.py
+++ b/app/corpora/cqi_over_sio/utils.py
@@ -1,23 +1,22 @@
-from cqi.models.corpora import Corpus
-from cqi.models.subcorpora import Subcorpus
+from cqi.models.corpora import Corpus as CQiCorpus
+from cqi.models.subcorpora import Subcorpus as CQiSubcorpus
from typing import Dict, List
-from app.models import Corpus
-def lookups_by_cpos(corpus: Corpus, cpos_list: List[int]) -> Dict:
+def lookups_by_cpos(corpus: CQiCorpus, cpos_list: List[int]) -> Dict:
lookups = {}
lookups['cpos_lookup'] = {cpos: {} for cpos in cpos_list}
for attr in corpus.positional_attributes.list():
- cpos_attr_values = attr.values_by_cpos(cpos_list)
+ cpos_attr_values: List[str] = attr.values_by_cpos(cpos_list)
for i, cpos in enumerate(cpos_list):
lookups['cpos_lookup'][cpos][attr.attrs['name']] = \
cpos_attr_values[i]
for attr in corpus.structural_attributes.list():
# We only want to iterate over non subattributes, identifiable by
- # attr.attrs['has_values'] == False
- if attr.attrs['has_values']:
+ # attr.has_values == False
+ if attr.has_values:
continue
- cpos_attr_ids = attr.ids_by_cpos(cpos_list)
+ cpos_attr_ids: List[int] = attr.ids_by_cpos(cpos_list)
for i, cpos in enumerate(cpos_list):
if cpos_attr_ids[i] == -1:
continue
@@ -28,7 +27,7 @@ def lookups_by_cpos(corpus: Corpus, cpos_list: List[int]) -> Dict:
subattrs = corpus.structural_attributes.list(filters={'part_of': attr})
if not subattrs:
continue
- lookup_name = f'{attr.attrs["name"]}_lookup'
+ lookup_name: str = f'{attr.attrs["name"]}_lookup'
lookups[lookup_name] = {}
for attr_id in occured_attr_ids:
lookups[lookup_name][attr_id] = {}
@@ -40,7 +39,7 @@ def lookups_by_cpos(corpus: Corpus, cpos_list: List[int]) -> Dict:
def partial_export_subcorpus(
- subcorpus: Subcorpus,
+ subcorpus: CQiSubcorpus,
match_id_list: List[int],
context: int = 25
) -> Dict:
@@ -89,7 +88,7 @@ def partial_export_subcorpus(
def export_subcorpus(
- subcorpus: Subcorpus,
+ subcorpus: CQiSubcorpus,
context: int = 25,
cutoff: float = float('inf'),
offset: int = 0