diff --git a/inginious/frontend/flask/mongo_sessions.py b/inginious/frontend/flask/mongo_sessions.py index b6cffdc89..937017976 100644 --- a/inginious/frontend/flask/mongo_sessions.py +++ b/inginious/frontend/flask/mongo_sessions.py @@ -98,7 +98,7 @@ def open_session(self, app, request): store_id = sid document = self.store.find_one({'_id': store_id}) - if document and document.get('expiration') <= datetime.now(timezone.utc): + if document and document['expiration'].replace(tzinfo=timezone.utc) <= datetime.now(timezone.utc): # Delete expired session self.store.delete_one({'_id': store_id}) document = None diff --git a/inginious/frontend/lti_grade_manager.py b/inginious/frontend/lti_grade_manager.py index 7ab2886a3..8f3eb39c5 100644 --- a/inginious/frontend/lti_grade_manager.py +++ b/inginious/frontend/lti_grade_manager.py @@ -73,7 +73,6 @@ def run(self): try: course = self._app.course_factory.get_course(courseid) task = course.get_task(taskid) - print(self._app.user_manager.get_task_cache(username, courseid, task.get_id())) grade = self._app.user_manager.get_task_cache(username, courseid, task.get_id())["grade"] except Exception: self._logger.error("An exception occurred while getting a course/LTI secret/grade in LTIGradeManager.", exc_info=True) diff --git a/inginious/frontend/pages/lti.py b/inginious/frontend/pages/lti.py index 066c4fed0..7b7019851 100644 --- a/inginious/frontend/pages/lti.py +++ b/inginious/frontend/pages/lti.py @@ -70,7 +70,7 @@ def GET_AUTH(self): return self.template_helper.render("lti_bind.html", success=False, data=data, error="") def POST_AUTH(self): - data, error = self._get_lti_session_data_or_error() + data, error = self._get_lti_session_data() if error: return error @@ -222,6 +222,7 @@ def _find_realname(self, launch_data): return launch_data["sub"] class LTILoginPage(INGIniousPage): + @property def is_lti_page(self): return True diff --git a/inginious/frontend/submission_manager.py b/inginious/frontend/submission_manager.py index 8f75d8cd0..156e8c1e3 100644 --- a/inginious/frontend/submission_manager.py +++ b/inginious/frontend/submission_manager.py @@ -97,7 +97,7 @@ def _job_done_callback(self, submissionid, course, task, result, grade, problems self._plugin_manager.call_hook("submission_done", submission=submission, archive=archive, newsub=newsub) - if course.lti_send_back_grade: + if course.lti_send_back_grade(): for username in submission["username"]: self._lti_grade_manager.add(username, submission["courseid"], diff --git a/inginious/frontend/user_manager.py b/inginious/frontend/user_manager.py index 1f45bf1ea..241353f03 100644 --- a/inginious/frontend/user_manager.py +++ b/inginious/frontend/user_manager.py @@ -118,7 +118,6 @@ def session_is_lti(self) -> bool: def _lti_session(self): """ Returns the LTI session dict. """ assert self.session_is_lti() - print("get session", flask.request.args.get('session_id'), flask.g.get('lti_session_id')) if 'lti_session' not in flask.g: if 'session_id' in flask.request.args: flask.g.lti_session = self._database.lti_sessions.find_one({'session_id': flask.request.args['session_id']}) @@ -129,7 +128,6 @@ def _lti_session(self): @staticmethod def _lti_session_save(app, response): """ Saves in database the LTI session. This function is a Flask event receiver. """ - print("save session", flask.request.args.get('session_id'), flask.g.get('lti_session_id')) if app.user_manager.session_is_lti(): lti_session_id = flask.request.args.get('session_id', flask.g.get('lti_session_id')) app.user_manager._database.lti_sessions.find_one_and_update({'session_id': lti_session_id}, {'$set': flask.g.lti_session}, upsert=True) @@ -138,7 +136,6 @@ def _lti_session_save(app, response): @property def _session(self): """ Returns the session. """ - print(self._flask_session, self._lti_session) return self._flask_session if not self.session_is_lti() else self._lti_session def session_logged_in(self): diff --git a/setup.py b/setup.py index 8ad382983..efd920189 100644 --- a/setup.py +++ b/setup.py @@ -15,7 +15,6 @@ "Flask-Mail==0.9.1", "itsdangerous==2.1.2", "Jinja2==3.1.3", - "lti==0.9.5", "PyLTI1p3==2.0.0", "msgpack==1.0.7", "natsort==8.4.0",