diff options
author | Timotej Lazar <timotej.lazar@fri.uni-lj.si> | 2016-02-25 15:56:26 +0100 |
---|---|---|
committer | Timotej Lazar <timotej.lazar@fri.uni-lj.si> | 2016-02-25 15:56:26 +0100 |
commit | 3f9c073475628db7ae400e0df028b6b066ebf26c (patch) | |
tree | de460dbad672a81339d1516424324ef6997da4af /server/user_session.py | |
parent | e8e0e93719cf276d1d3df6b47c53f30c5ad83ac8 (diff) |
Add a get_solutions(problem_ids) API function
It returns the user’s solutions to given problems.
Diffstat (limited to 'server/user_session.py')
-rw-r--r-- | server/user_session.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/server/user_session.py b/server/user_session.py index 63d3459..af28046 100644 --- a/server/user_session.py +++ b/server/user_session.py @@ -433,6 +433,13 @@ class UserSession(object): results.extend(group_results) return results + def get_solutions(self, problem_ids): + uid = self.get_uid() + solutions = {s.problem_id: s.content for s in Solution.filter(codeq_user_id=uid) + if s.problem_id in problem_ids} + # return solutions in the same order as in [problem_pids] + return [solutions[pid] for pid in problem_ids if pid in solutions] + def send(self, json_obj): """Sends a message to the user. |