Skip to content

Commit

Permalink
Fix: adjust to new field-names in API and optimize server detail orde…
Browse files Browse the repository at this point in the history
…ring (#29)
  • Loading branch information
TrueBrain authored Jul 10, 2021
1 parent 5c72615 commit 1d6e82e
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 108 deletions.
45 changes: 3 additions & 42 deletions webclient/pages/servers.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,44 +10,6 @@
template,
)

LANGUAGES = {
0: "All",
1: "English",
2: "German",
3: "French",
4: "Brazillian",
5: "Bulgarian",
6: "Chinese",
7: "Czech",
8: "Danish",
9: "Dutch",
10: "Esperanto",
11: "Finnish",
12: "Hungarian",
13: "Icelandic",
14: "Italian",
15: "Japanese",
16: "Korean",
17: "Lithuanian",
18: "Norwegian",
19: "Polish",
20: "Portuguese",
21: "Romanian",
22: "Russian",
23: "Slovak",
24: "Slovenian",
25: "Spanish",
26: "Swedish",
27: "Turkish",
28: "Ukranian",
29: "Afrikaans",
30: "Croatian",
31: "Catalan",
32: "Estonian",
33: "Galician",
34: "Greek",
35: "Latvian",
}
MAPSETS = {
0: "Temperate",
1: "Arctic",
Expand Down Expand Up @@ -174,7 +136,7 @@ def _split_version(raw_version):

def _sort_servers(servers):
servers.sort(
key=lambda x: _split_version(x["info"]["server_revision"])
key=lambda x: _split_version(x["info"]["openttd_version"])
+ [x["info"]["clients_on"], x["info"]["companies_on"]],
reverse=True,
)
Expand All @@ -197,7 +159,7 @@ def _list_servers(filter):

servers = _server_list_cache["servers"]
if filter:
servers = [server for server in servers if server["info"]["server_revision"].startswith(filter)]
servers = [server for server in servers if server["info"]["openttd_version"].startswith(filter)]

expire = datetime.utcfromtimestamp(_server_list_cache["expire"]).strftime("%Y-%m-%d %H:%M:%S") + " UTC"
clients = sum([server["info"]["clients_on"] for server in servers])
Expand All @@ -212,7 +174,6 @@ def _list_servers(filter):
servers_ipv4=servers_ipv4,
servers_ipv6=servers_ipv6,
filter=filter,
languages=LANGUAGES,
mapsets=MAPSETS,
)

Expand Down Expand Up @@ -248,4 +209,4 @@ def server_entry(server_id):

expire = datetime.utcfromtimestamp(_server_entry_cache[server_id]["expire"]).strftime("%Y-%m-%d %H:%M:%S") + " UTC"

return template("server_entry.html", server=server, expire=expire, languages=LANGUAGES, mapsets=MAPSETS)
return template("server_entry.html", server=server, expire=expire, mapsets=MAPSETS)
90 changes: 28 additions & 62 deletions webclient/templates/server_entry.html
Original file line number Diff line number Diff line change
@@ -1,31 +1,49 @@
{% extends 'base.html' %}
{% block header %}
<h1>{% block title %}{{ server["info"]["server_name"] }} {% endblock %}</h1>
<h1>{% block title %}{{ server["info"]["name"] }} {% endblock %}</h1>
{% endblock %}
{% block content %}
<p class="cached">This information is cached till {{ expire }}.</p>
<table id="server-info-table">
<tbody>
<tr class="odd">
<th>Online:</th>
<th>Server address(es):</th>
<td>
{% if "ipv4" in server %}
{{ server["ipv4"]["ip"] }}:{{ server["ipv4"]["port"] }}
{% endif %}
{% if "ipv4" in server and "ipv6" in server %}<br>{% endif %}
{% if "ipv6" in server %}
[{{ server["ipv6"]["ip"] }}]:{{ server["ipv6"]["port"] }}
{% endif %}
</td>
</tr>
<tr class="even">
<th>Server version:</th>
<td>
{{ server["info"]["openttd_version"] }}
</td>
</tr>
<tr class="odd">
<th>Server password:</th>
<td>
{% if server["online"] %}
{% if server["info"]["use_password"] == 1 %}
Yes
{% else %}
No
{% endif %}
</td>
</tr>
<tr class="even">
<th>First seen:</th>
<th>Start date:</th>
<td>
{{ server["time_first_seen"] }}
{{ server["info"]["start_date"] }}
</td>
</tr>
<tr class="odd">
<th>Last queried:</th>
<th>Current date:</th>
<td>
{{ server["time_last_seen"] }}
{{ server["info"]["game_date"] }}
</td>
</tr>
<tr class="even">
Expand All @@ -46,22 +64,10 @@ <h1>{% block title %}{{ server["info"]["server_name"] }} {% endblock %}</h1>
{{ server["info"]["spectators_on"] }} / {{ server["info"]["spectators_max"] }}
</td>
</tr>
<tr class="odd">
<th>Language:</th>
<td>
{{ languages[server["info"]["server_lang"]] }}
</td>
</tr>
<tr class="even">
<th>Map name:</th>
<td>
{{ server["info"]["map_name"] }}
</td>
</tr>
<tr class="odd">
<th>Landscape:</th>
<td>
{{ mapsets[server["info"]["map_set"]] }}
{{ mapsets[server["info"]["map_type"]] }}
</td>
</tr>
<tr class="even">
Expand All @@ -70,60 +76,20 @@ <h1>{% block title %}{{ server["info"]["server_name"] }} {% endblock %}</h1>
{{ server["info"]["map_width"] }} x {{ server["info"]["map_height"] }}
</td>
</tr>
<tr class="odd">
<th>Server version:</th>
<td>
{{ server["info"]["server_revision"] }}
</td>
</tr>
<tr class="even">
<th>Server address(es):</th>
<td>
{% if "ipv4" in server %}
{{ server["ipv4"]["ip"] }}:{{ server["ipv4"]["port"] }}
{% endif %}
{% if "ipv4" in server and "ipv6" in server %}<br>{% endif %}
{% if "ipv6" in server %}
[{{ server["ipv6"]["ip"] }}]:{{ server["ipv6"]["port"] }}
{% endif %}
</td>
</tr>
<tr class="odd">
<th>Dedicated server:</th>
<td>
{% if server["info"]["dedicated"] == 1 %}
{% if server["info"]["is_dedicated"] == 1 %}
Yes
{% else %}
No
{% endif %}
</td>
</tr>
<tr class="even">
<th>Server password:</th>
<td>
{% if server["info"]["use_password"] == 1 %}
Yes
{% else %}
No
{% endif %}
</td>
</tr>
<tr class="odd">
<th>Start date:</th>
<td>
{{ server["info"]["start_date"] }}
</td>
</tr>
<tr class="even">
<th>Current date:</th>
<td>
{{ server["info"]["game_date"] }}
</td>
</tr>
<tr class="odd">
<th>NewGRFs in use:</th>
<td>
{{ server["info"]["num_grfs"] }}
{{ server["info"]["newgrfs"]|length }}
</td>
</tr>
</tbody>
Expand Down
8 changes: 4 additions & 4 deletions webclient/templates/server_list.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ <h1>{% block title %}
{% for server in servers %}
<tr class="{{ loop.cycle('odd', 'even') }}">
<td class="image">
{% if server['info']['dedicated'] == 1 %}
{% if server['info']['is_dedicated'] == 1 %}
<img src="/static/img/server-dedicated.png" alt="Dedicated" title="Dedicated">
{% else %}
<img src="/static/img/server-client.png" alt="Non-Dedicated" title="Non-Dedicated">
Expand All @@ -40,7 +40,7 @@ <h1>{% block title %}
<td>
<div class="nowrap" style="width: 562px;">
<a href="/server/{{ server['server_id'] }}">
{{ server['info']['server_name'] }}
{{ server['info']['name'] }}
</a>
</div>
</td>
Expand All @@ -52,7 +52,7 @@ <h1>{% block title %}
</td>
<td>
<div class="nowrap" style="width: 120px;">
<a href="/listing/{{ server['info']['server_revision'] }}">{{ server['info']['server_revision'] }}</a>
<a href="/listing/{{ server['info']['openttd_version'] }}">{{ server['info']['openttd_version'] }}</a>
</div>
</td>
<td class="image">
Expand All @@ -61,7 +61,7 @@ <h1>{% block title %}
{% endif %}
</td>
<td class="image">
{% if server['info']['num_grfs'] > 0 %}
{% if server['info']['newgrfs']|length > 0 %}
<img src="/static/img/server-grf.png" alt="GRF" title="NewGRFs Required">
{% endif %}
</td>
Expand Down

0 comments on commit 1d6e82e

Please sign in to comment.