diff options
Diffstat (limited to '')
| -rw-r--r-- | pysite/views/main/jams/jam_team_list.py | 38 | ||||
| -rw-r--r-- | pysite/views/main/jams/team_view.py | 2 | 
2 files changed, 16 insertions, 24 deletions
| diff --git a/pysite/views/main/jams/jam_team_list.py b/pysite/views/main/jams/jam_team_list.py index 0eb43a5a..49587e36 100644 --- a/pysite/views/main/jams/jam_team_list.py +++ b/pysite/views/main/jams/jam_team_list.py @@ -1,6 +1,5 @@  import logging -from rethinkdb import ReqlNonExistenceError  from werkzeug.exceptions import NotFound  from pysite.base_route import RouteView @@ -17,32 +16,25 @@ class JamsTeamListView(RouteView, DBMixin, OAuthMixin):      jams_table = "code_jams"      def get(self, jam_id): -        try: -            query = self.db.query(self.jams_table).get(jam_id).merge( -                lambda jam_obj: { -                    "teams": -                        self.db.query(self.table_name) -                            .filter(lambda team_row: jam_obj["teams"].contains(team_row["id"])) -                            .pluck(["id", "name", "members", "repo"]) -                            .merge( -                            lambda team: { -                                "members": -                                    self.db.query("users") -                                        .filter(lambda user: team["members"].contains(user["user_id"])) -                                        .coerce_to("array") -                            }).coerce_to("array") -                } -            ) - -            jam_data = self.db.run(query) -        except ReqlNonExistenceError: -            log.exception("Failed RethinkDB query") +        jam_obj = self.db.get(self.jams_table, jam_id) +        if not jam_obj:              raise NotFound() +        query = self.db.query(self.table_name).get_all(self.table_name, *jam_obj["teams"]).pluck( +            ["id", "name", "members", "repo"]).merge( +            lambda team: { +                "members": +                    self.db.query("users") +                        .filter(lambda user: team["members"].contains(user["user_id"])) +                        .coerce_to("array") +            }).coerce_to("array") + +        jam_obj["teams"] = self.db.run(query) +          return self.render(              "main/jams/team_list.html", -            jam=jam_data, -            teams=jam_data["teams"], +            jam=jam_obj, +            teams=jam_obj["teams"],              member_ids=self.member_ids          ) diff --git a/pysite/views/main/jams/team_view.py b/pysite/views/main/jams/team_view.py index 68308934..8be8bc0f 100644 --- a/pysite/views/main/jams/team_view.py +++ b/pysite/views/main/jams/team_view.py @@ -29,7 +29,7 @@ class JamsTeamView(RouteView, DBMixin, OAuthMixin):                                  ).coerce_to("array")[0]["gitlab_username"]                              }                          ).coerce_to("array"), -                    "jam":  self.db.query("code_jams").get(team["jam"]) +                    "jam": self.db.query("code_jams").get(team["jam"])                  }              ) | 
