diff --git a/mc_backend/mcserver/app/api/corpusListAPI.py b/mc_backend/mcserver/app/api/corpusListAPI.py index c765bff78a8a47442ccdb5e89721ccb63a24942d..7f9845c6117f512d23e5d3f353005dde69775e9f 100644 --- a/mc_backend/mcserver/app/api/corpusListAPI.py +++ b/mc_backend/mcserver/app/api/corpusListAPI.py @@ -21,5 +21,6 @@ def get(last_update_time: int) -> Union[Response, ConnexionResponse]: return NetworkService.make_json_response(None) if ui_cts.last_modified_time >= last_update_time / 1000: corpora: List[Corpus] = db.session.query(Corpus).all() + db.session.commit() return NetworkService.make_json_response([x.to_dict() for x in corpora]) return NetworkService.make_json_response(None) diff --git a/mc_backend/mcserver/app/api/exerciseAPI.py b/mc_backend/mcserver/app/api/exerciseAPI.py index 67c54ca70dbac9977c49ef996f95a9d017d804de..5675c184a95adf082aee37f0e784b23bfcd5f76d 100644 --- a/mc_backend/mcserver/app/api/exerciseAPI.py +++ b/mc_backend/mcserver/app/api/exerciseAPI.py @@ -27,6 +27,7 @@ def adjust_solutions(exercise_data: ExerciseData, exercise_type: str, solutions: def get(eid: str) -> Union[Response, ConnexionResponse]: exercise: TExercise = db.session.query(Exercise).filter_by(eid=eid).first() + db.session.commit() if exercise is None: return connexion.problem(404, Config.ERROR_TITLE_NOT_FOUND, Config.ERROR_MESSAGE_EXERCISE_NOT_FOUND) ar: AnnisResponse = CorpusService.get_corpus(cts_urn=exercise.urn, is_csm=False) diff --git a/mc_backend/mcserver/app/api/exerciseListAPI.py b/mc_backend/mcserver/app/api/exerciseListAPI.py index 0270c6533c7fd9684b06ec11ce34c2fc3caee411..36a91b40b401af2064f1da9a02667b4352aa5ea1 100644 --- a/mc_backend/mcserver/app/api/exerciseListAPI.py +++ b/mc_backend/mcserver/app/api/exerciseListAPI.py @@ -34,6 +34,7 @@ class ExerciseListAPI(Resource): last_update: int = args["last_update_time"] ui_exercises: UpdateInfo = db.session.query(UpdateInfo).filter_by( resource_type=ResourceType.exercise_list.name).first() + db.session.commit() if ui_exercises.last_modified_time < last_update / 1000: return NetworkService.make_json_response([]) try: @@ -47,6 +48,7 @@ class ExerciseListAPI(Resource): except ValueError: lang = Language.English exercises: List[Exercise] = db.session.query(Exercise).filter_by(language=lang.value) + db.session.commit() ret_val: List[dict] = [NetworkService.serialize_exercise(x, compress=True) for x in exercises] matching_degrees: List[float] = [] if len(vocabulary_set): diff --git a/mc_backend/mcserver/app/api/fileAPI.py b/mc_backend/mcserver/app/api/fileAPI.py index ae2c604de2eef37f48db2a2c70e4b62bbb0546f8..3df739907326842468040511ea9e495dd3743c58 100644 --- a/mc_backend/mcserver/app/api/fileAPI.py +++ b/mc_backend/mcserver/app/api/fileAPI.py @@ -44,6 +44,7 @@ class FileAPI(Resource): args = self.reqparse.parse_args() eid: str = args["id"] exercise: Exercise = db.session.query(Exercise).filter_by(eid=eid).first() + db.session.commit() file_type: FileType = FileType[args["type"]] file_name: str = eid + "." + file_type.value mime_type: str = MimeType[file_type.value].value diff --git a/mc_backend/mcserver/app/api/h5pAPI.py b/mc_backend/mcserver/app/api/h5pAPI.py index cca14b68483b6a536cf8237c0e33df857715b571..ac5ea9921b1717f5aad13123fc9263bbc9efc555 100644 --- a/mc_backend/mcserver/app/api/h5pAPI.py +++ b/mc_backend/mcserver/app/api/h5pAPI.py @@ -73,6 +73,7 @@ class H5pAPI(Resource): except ValueError: lang = Language.English exercise: Exercise = db.session.query(Exercise).filter_by(eid=eid).first() + db.session.commit() if exercise is None: abort(404) text_field_content: str = "" diff --git a/mc_backend/mcserver/app/services/corpusService.py b/mc_backend/mcserver/app/services/corpusService.py index a7b3a669e51c1a08677b28f4dc734c92bc263b30..4bd1833b67fd972a77b8987e625495fa3bae81a7 100644 --- a/mc_backend/mcserver/app/services/corpusService.py +++ b/mc_backend/mcserver/app/services/corpusService.py @@ -338,6 +338,7 @@ class CorpusService: def update_corpora(): """Checks the remote repositories for new corpora to be included in our database.""" CorpusService.existing_corpora = db.session.query(Corpus).all() + db.session.commit() resolver: HttpCtsRetriever = HttpCtsRetriever(Config.CTS_API_BASE_URL) # check the appropriate literature for the desired author resp: str = resolver.getCapabilities(urn="urn:cts:latinLit") # "urn:cts:greekLit" for Greek @@ -373,6 +374,7 @@ class CorpusService: db.session.delete(corpus_to_delete) db.session.commit() CorpusService.existing_corpora = db.session.query(Corpus).all() + db.session.commit() @staticmethod def update_corpus(title_value: str, urn: str, author: str, diff --git a/mc_backend/mcserver/app/services/databaseService.py b/mc_backend/mcserver/app/services/databaseService.py index 11867a81857dbd07d5d5ad66f3ef638f09bf5ba5..2665027ffc2ca883fc2feb33e1c5d5029dd236a5 100644 --- a/mc_backend/mcserver/app/services/databaseService.py +++ b/mc_backend/mcserver/app/services/databaseService.py @@ -43,6 +43,7 @@ class DatabaseService: """Initializes the corpus list if it is not already there and up to date.""" if db.engine.dialect.has_table(db.engine, "Corpus"): CorpusService.existing_corpora = db.session.query(Corpus).all() + db.session.commit() urn_dict: Dict[str, int] = {v.source_urn: i for i, v in enumerate(CorpusService.existing_corpora)} for cc in CustomCorpusService.custom_corpora: if cc.corpus.source_urn in urn_dict: @@ -59,6 +60,7 @@ class DatabaseService: group_name_value=cc.corpus.author, citation_levels=citation_levels) CorpusService.existing_corpora = db.session.query(Corpus).all() + db.session.commit() @staticmethod def init_db_update_info() -> None: