Runde in PGN-URL (/pgn/{round}) und im Standings-Response
This commit is contained in:
8
app.js
8
app.js
@@ -15,6 +15,7 @@ let currentMoveIndex = -1;
|
|||||||
let userSelectedGame = false;
|
let userSelectedGame = false;
|
||||||
let userScrolledMoves = false;
|
let userScrolledMoves = false;
|
||||||
let lastMtime = 0;
|
let lastMtime = 0;
|
||||||
|
let currentRound = 0;
|
||||||
let pollId = 0;
|
let pollId = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -26,8 +27,12 @@ async function loadPGN(showOverlay = true) {
|
|||||||
hideError();
|
hideError();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
if (currentRound === 0) {
|
||||||
|
if (showOverlay) showLoading(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
const [pgnResponse, statusResponse] = await Promise.all([
|
const [pgnResponse, statusResponse] = await Promise.all([
|
||||||
fetch(`http://localhost:8111/pgn?since=${lastMtime}`),
|
fetch(`http://localhost:8111/pgn/${currentRound}?since=${lastMtime}`),
|
||||||
fetch('http://localhost:8111/status').catch(() => null)
|
fetch('http://localhost:8111/status').catch(() => null)
|
||||||
]);
|
]);
|
||||||
|
|
||||||
@@ -382,6 +387,7 @@ function updateStandings() {
|
|||||||
return res.json();
|
return res.json();
|
||||||
})
|
})
|
||||||
.then(data => {
|
.then(data => {
|
||||||
|
if (data && data.round) currentRound = data.round;
|
||||||
const container = document.getElementById('standings-content');
|
const container = document.getElementById('standings-content');
|
||||||
if (!data || data.error) {
|
if (!data || data.error) {
|
||||||
container.innerHTML = '<div class="standings-loading">Daten nicht verfügbar</div>';
|
container.innerHTML = '<div class="standings-loading">Daten nicht verfügbar</div>';
|
||||||
|
|||||||
@@ -132,6 +132,7 @@ def fetch_standings():
|
|||||||
"losses": clean[7],
|
"losses": clean[7],
|
||||||
"points": clean[8],
|
"points": clean[8],
|
||||||
"round_info": round_info,
|
"round_info": round_info,
|
||||||
|
"round": current_round,
|
||||||
}
|
}
|
||||||
return None
|
return None
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@@ -162,7 +163,8 @@ class PGNHandler(http.server.BaseHTTPRequestHandler):
|
|||||||
def do_GET(self):
|
def do_GET(self):
|
||||||
parsed_path = urllib.parse.urlparse(self.path)
|
parsed_path = urllib.parse.urlparse(self.path)
|
||||||
|
|
||||||
if parsed_path.path == "/pgn":
|
parts = parsed_path.path.strip("/").split("/")
|
||||||
|
if len(parts) == 2 and parts[0] == "pgn" and parts[1].isdigit():
|
||||||
params = urllib.parse.parse_qs(parsed_path.query)
|
params = urllib.parse.parse_qs(parsed_path.query)
|
||||||
since = float(params.get("since", [0])[0])
|
since = float(params.get("since", [0])[0])
|
||||||
content, mtime = get_pgn_content_longpoll(since)
|
content, mtime = get_pgn_content_longpoll(since)
|
||||||
|
|||||||
Reference in New Issue
Block a user