From 4cce071d7eaf4b18cc5e6c5699646aa52258cb73 Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Mon, 19 Oct 2015 12:19:50 +0200 Subject: Add method to return attempted/solved problems for given language --- server/user_session.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'server/user_session.py') diff --git a/server/user_session.py b/server/user_session.py index 8661016..02e1bd4 100644 --- a/server/user_session.py +++ b/server/user_session.py @@ -323,6 +323,25 @@ class UserSession(object): finally: db.return_connection(conn) + def get_attempts(self, language): + uid = self.get_uid() + conn = db.get_connection() + try: + cur = conn.cursor() + try: + cur.execute(''' + select s.problem_id, s.done + from solution s + inner join problem p on p.id = s.problem_id + inner join language l on p.language_id = l.id + where s.codeq_user_id = %s and l.identifier = %s''', (uid, language)) + return {row[0]: row[1] for row in cur.fetchall()} + finally: + cur.close() + finally: + conn.commit() + db.return_connection(conn) + def get_stat(self): uid = self.get_uid() gui_lang = self.get_settings().get('gui_lang', 'en') -- cgit v1.2.1