Example #1
0
def league(_id, view=None, page=1):
    _league = League.get_by_id(_id)
    _view = None

    if _league is None:
        abort(404)

    if view is None:
        _replays = Replay.query.filter(Replay.league_id == _id).\
            order_by(Replay.id.desc()).\
            paginate(page, current_app.config["REPLAYS_PER_PAGE"], False)
    else:
        try:
            _view = LeagueView.query.filter(LeagueView.id == view, LeagueView.league_id == _id).one()
        except NoResultFound:
            abort(404)

        _replays = Replay.query.filter(Replay.league_id == _id, *_view.get_filters()).\
            order_by(Replay.id.desc()).\
            paginate(page, current_app.config["REPLAYS_PER_PAGE"], False)

    # Get all views
    views = LeagueView.query.filter(LeagueView.league_id == _id).all()

    return render_template("leagues/league.html",
                           title=u"{} - Dotabank".format(_league.name),
                           meta_description=u"Replays archived for {}; {} ...".format(_league.name, _league.short_description),
                           league=_league,
                           replays=_replays,
                           current_view=_view,
                           page=page,
                           views=views)
Example #2
0
def league(_id, page=1):
    _league = League.get_by_id(_id)
    if _league is None:
        abort(404)

    _replays = Replay.query.filter(Replay.league_id == _id).paginate(page, current_app.config["REPLAYS_PER_PAGE"], False)

    return render_template("leagues/league.html",
                           title="{} - Dotabank".format(_league.name),
                           league=_league,
                           replays=_replays)
Example #3
0
  def DoGet(self, league_key_name):
    league_to_show = League.get_by_id(long(league_key_name))
    league_name    = league_to_show.name
    logging.debug('Getting league %s' % league_to_show)

    self.user = users.get_current_user()
    # Creates a player if one does not already exist. No signup required!
    self.player = Player.get_or_insert(self.user.user_id(), user = self.user, pseudonym = self.user.nickname(), league = league_to_show)
    logging.info('creating player for user %s in league %s' % (self.player.pseudonym, league_name))

    if not league_to_show:
      self.error(404)
      self.response.out.write("""<strong>No League with key %s.
      Try looking through the <a href="/">list of leagues</a>.</strong>""" % league_name)

    additional_values = {
      'league_to_show'  : league_to_show,
      'players' : league_to_show.players(),
    }

    self.template_values.update(additional_values)
    self.render_to_response("league.html")