python-valve
. import valve.source.a2s
SERVER_ADDRESS = (..., ...)
with valve.source.a2s.ServerQuerier(SERVER_ADDRESS) as server:
info = server.info()
players = server.players()
print("{player_count}/{max_players} {server_name}".format(**info))
for player in sorted(players["players"],
key=lambda p: p["score"], reverse=True):
print("{score} {name}".format(**player))
from django.core.paginator import Paginator
====================================
# получаем список pub_id по параметрам
pubidlist=get_pub_id_by_params(cat_id=set(cat_id), tag=set(tag),
order=order, direction=direction)
# осуществляем пагинацию
paginator = Paginator(pubidlist, size)
if page>paginator.num_pages:
if template=="ajaxMorePub.html":
return render(request, "emptypublist.html")
page=paginator.num_pages
pubidlist = paginator.get_page(page)
# запрашиваем модель данных
pubmodel=get_pub_model(pubidlist,
order=order, direction=direction)
====================================
response = render(request, template, {
'pub_sorted': pubmodel.items(),
'order': order, 'size': size, 'direction': direction,
'page_range': paginator.page_range,
'num_pages': paginator.num_pages,
'paginator': paginator.page(page),
'page': page
})
{% if pub_sorted|length != 0 %}
<nav aria-label="pagination">
<ul class="pagination justify-content-center">
<!-- Первая страница -->
<li class="page-item {% if page == 1 %}disabled{% endif %}"> <a class="page-link" href="/mytestblog/publication/?cat={{ cat_id_join }}{% if tag.0 != "" %}&tag={{ tagstr_param }}{% endif %}&page=1&size={{ size }}&order={{ order }}&direction={{ direction }}">Первая</a> </li>
<!-- Если существует предыдущая страница --> {% if paginator.has_previous %}
<li class="page-item"> <a class="page-link" href="/mytestblog/publication/?cat={{ cat_id_join }}{% if tag.0 != "" %}&tag={{ tagstr_param }}{% endif %}&page={{ paginator.previous_page_number }}&size={{ size }}&order={{ order }}&direction={{ direction }}">«</a> </li>
{% else %} <li class="page-item disabled"> <a class="page-link" href="#">«</a> </li>
{% endif %} <!-- Если нет страницы +1, но есть страница -6 --> {% if page|add:"1" not in page_range and page|add:"-6" in page_range %}
<li class="page-item"> <a class="page-link" href="/mytestblog/publication/?cat={{ cat_id_join }}{% if tag.0 != "" %}&tag={{ tagstr_param }}{% endif %}&page={{ page|add:"-6" }}&size={{ size }}&order={{ order }}&direction={{ direction }}">{{ page|add:"-6" }}</a> </li>
{% endif %} <!-- Если нет страницы +2, но есть страница -5 --> {% if page|add:"2" not in page_range and page|add:"-5" in page_range %}
<li class="page-item"> <a class="page-link" href="/mytestblog/publication/?cat={{ cat_id_join }}{% if tag.0 != "" %}&tag={{ tagstr_param }}{% endif %}&page={{ page|add:"-5" }}&size={{ size }}&order={{ order }}&direction={{ direction }}">{{ page|add:"-5" }}</a> </li>
{% endif %} <!-- Если нет страницы +3, но есть страница -4 --> {% if page|add:"3" not in page_range and page|add:"-4" in page_range %}
<li class="page-item"> <a class="page-link" href="/mytestblog/publication/?cat={{ cat_id_join }}{% if tag.0 != "" %}&tag={{ tagstr_param }}{% endif %}&page={{ page|add:"-4" }}&size={{ size }}&order={{ order }}&direction={{ direction }}">{{ page|add:"-4" }}</a> </li>
{% endif %} <!-- Если существует страница текущая - 3 --> {% if page|add:"-3" in page_range %}
<li class="page-item"> <a class="page-link" href="/mytestblog/publication/?cat={{ cat_id_join }}{% if tag.0 != "" %}&tag={{ tagstr_param }}{% endif %}&page={{ page|add:"-3" }}&size={{ size }}&order={{ order }}&direction={{ direction }}">{{ page|add:"-3" }}</a> </li>
{% endif %} <!-- Если существует страница текущая - 2 --> {% if page|add:"-2" in page_range %}
<li class="page-item"> <a class="page-link" href="/mytestblog/publication/?cat={{ cat_id_join }}{% if tag.0 != "" %}&tag={{ tagstr_param }}{% endif %}&page={{ page|add:"-2" }}&size={{ size }}&order={{ order }}&direction={{ direction }}">{{ page|add:"-2" }}</a> </li>
{% endif %} <!-- Если существует страница текущая - 1 --> {% if page|add:"-1" in page_range %}
<li class="page-item"> <a class="page-link" href="/mytestblog/publication/?cat={{ cat_id_join }}{% if tag.0 != "" %}&tag={{ tagstr_param }}{% endif %}&page={{ page|add:"-1" }}&size={{ size }}&order={{ order }}&direction={{ direction }}">{{ page|add:"-1" }}</a> </li>
{% endif %} <!-- Текущая активная страница -->
<li class="page-item active"> <a class="page-link" href="#">{{ page }}</a> </li>
<!-- Если существует страница текущая + 1 --> {% if page|add:"1" in page_range %}
<li class="page-item"> <a class="page-link" href="/mytestblog/publication/?cat={{ cat_id_join }}{% if tag.0 != "" %}&tag={{ tagstr_param }}{% endif %}&page={{ page|add:"1" }}&size={{ size }}&order={{ order }}&direction={{ direction }}">{{ page|add:"1" }}</a> </li>
{% endif %} <!-- Если существует страница текущая + 2 --> {% if page|add:"2" in page_range %}
<li class="page-item"> <a class="page-link" href="/mytestblog/publication/?cat={{ cat_id_join }}{% if tag.0 != "" %}&tag={{ tagstr_param }}{% endif %}&page={{ page|add:"2" }}&size={{ size }}&order={{ order }}&direction={{ direction }}">{{ page|add:"2" }}</a> </li>
{% endif %} <!-- Если существует страница текущая + 3 --> {% if page|add:"3" in page_range %}
<li class="page-item"> <a class="page-link" href="/mytestblog/publication/?cat={{ cat_id_join }}{% if tag.0 != "" %}&tag={{ tagstr_param }}{% endif %}&page={{ page|add:"3" }}&size={{ size }}&order={{ order }}&direction={{ direction }}">{{ page|add:"3" }}</a> </li>
{% endif %} <!-- Если нет страницы -3, но есть страница +4 --> {% if page|add:"-3" not in page_range and page|add:"4" in page_range %}
<li class="page-item"> <a class="page-link" href="/mytestblog/publication/?cat={{ cat_id_join }}{% if tag.0 != "" %}&tag={{ tagstr_param }}{% endif %}&page={{ page|add:"4" }}&size={{ size }}&order={{ order }}&direction={{ direction }}">{{ page|add:"4" }}</a> </li>
{% endif %} <!-- Если нет страницы -2, но есть страница +5 --> {% if page|add:"-2" not in page_range and page|add:"5" in page_range %}
<li class="page-item"> <a class="page-link" href="/mytestblog/publication/?cat={{ cat_id_join }}{% if tag.0 != "" %}&tag={{ tagstr_param }}{% endif %}&page={{ page|add:"5" }}&size={{ size }}&order={{ order }}&direction={{ direction }}">{{ page|add:"5" }}</a> </li>
{% endif %} <!-- Если нет страницы -1, но есть страница +6 --> {% if page|add:"-1" not in page_range and page|add:"6" in page_range %}
<li class="page-item"> <a class="page-link" href="/mytestblog/publication/?cat={{ cat_id_join }}{% if tag.0 != "" %}&tag={{ tagstr_param }}{% endif %}&page={{ page|add:"6" }}&size={{ size }}&order={{ order }}&direction={{ direction }}">{{ page|add:"6" }}</a> </li>
{% endif %} <!-- Если существует следующая страница --> {% if paginator.has_next %}
<li class="page-item"> <a class="page-link" href="/mytestblog/publication/?cat={{ cat_id_join }}{% if tag.0 != "" %}&tag={{ tagstr_param }}{% endif %}&page={{ paginator.next_page_number }}&size={{ size }}&order={{ order }}&direction={{ direction }}">»</a> </li>
{% else %}
<li class="page-item disabled"> <a class="page-link" href="#">»</a> </li>
{% endif %} <!-- Последняя страница -->
<li class="page-item {% if page == num_pages %}disabled{% endif %}"> <a class="page-link" href="/mytestblog/publication/?cat={{ cat_id_join }}{% if tag.0 != "" %}&tag={{ tagstr_param }}{% endif %}&page={{ num_pages }}&size={{ size }}&order={{ order }}&direction={{ direction }}">Последняя</a> </li>
</ul>
</nav>
{% endif %}