Merge pull request #89 from esSteres/master

Fixe a bug with loader.js
This commit is contained in:
Sakimori 2021-01-01 05:11:31 -05:00 committed by GitHub
commit 503a1b7a18
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 40 additions and 40 deletions

View File

@ -14,32 +14,15 @@ thread2 = threading.Thread(target=socketio.run,args=(app,))
thread2.start()
master_games_dic = {} #key timestamp : (game game, {} state)
game_states = {}
def data_to_send():
template = jinja2.Environment(loader=jinja2.FileSystemLoader('templates')).get_template('game.html')
data = []
for timestamp in game_states:
data.append({
'timestamp' : timestamp,
'league' : game_states[timestamp]['leagueoruser'] if game_states[timestamp]['is_league'] else '',
'html' : template.render(
state=game_states[timestamp],
base_filled="/static/img/base_filled.png",
base_empty="/static/img/base_empty.png",
out_out="/static/img/out_out.png",
out_in="/static/img/out_in.png"
)
})
return data
data_to_send = []
@socketio.on("recieved")
def handle_new_conn(data):
socketio.emit("states_update", data_to_send(), room=request.sid)
socketio.emit("states_update", data_to_send, room=request.sid)
def update_loop():
while True:
global game_states
game_states = {}
game_times = iter(master_games_dic.copy().keys())
for game_time in game_times:
this_game, state, discrim_string = master_games_dic[game_time]
@ -134,5 +117,21 @@ def update_loop():
state["update_pause"] -= 1
socketio.emit("states_update", data_to_send())
global data_to_send
template = jinja2.Environment(loader=jinja2.FileSystemLoader('templates')).get_template('game.html')
data_to_send = []
for timestamp in game_states:
data_to_send.append({
'timestamp' : timestamp,
'league' : game_states[timestamp]['leagueoruser'] if game_states[timestamp]['is_league'] else '',
'html' : template.render(
state=game_states[timestamp],
base_filled="/static/img/base_filled.png",
base_empty="/static/img/base_empty.png",
out_out="/static/img/out_out.png",
out_in="/static/img/out_in.png"
)
})
socketio.emit("states_update", data_to_send)
time.sleep(6)

View File

@ -14,9 +14,9 @@ $(document).ready(function (){
//get all leagues
leagues = []
for (var i in json) {
if (json[i].league != "" && !leagues.includes(json[i].league)) {
leagues.push(json[i].league)
for (var game of json) {
if (game.league != "" && !leagues.includes(game.league)) {
leagues.push(game.league)
}
}
@ -32,15 +32,15 @@ $(document).ready(function (){
})
// add leagues not already present
for (var i in leagues) { // we removed the entries that are already there in the loop above
$('#filters').append("<button class='filter'>"+leagues[i]+"</button>");
for (var league of leagues) { // we removed the entries that are already there in the loop above
$('#filters').append("<button class='filter'>"+league+"</button>");
}
//add click handlers to each filter
$('#filters .filter').each(function(index) {
$(this).click(function() {
if ($('#filters #selected_filter').text() == 'All') {
updateGames(Object(), ""); // clear grid when switching off of All, to make games collapse to top
updateGames([], ""); // clear grid when switching off of All, to make games collapse to top
}
$('#filters #selected_filter').attr('id', '');
$(this).attr('id', 'selected_filter');
@ -50,10 +50,11 @@ $(document).ready(function (){
});
const updateGames = (json, filter) => {
filterjson = [];
for (var i in json) {
if (json[i].league == filter || filter == "All") {
filterjson.push(json[i]);
for (var game of json) {
if (game.league == filter || filter == "All") {
filterjson.push(game);
}
}
@ -72,9 +73,16 @@ $(document).ready(function (){
}
}
for (var i in filterjson) {
for (var game of filterjson) {
//updates game in list
for (var slotnum = 0; slotnum < grid.children.length; slotnum++) {
if (grid.children[slotnum].timestamp == game.timestamp) {
insertGame(slotnum, game);
};
};
//adds game to list if not there already
if (!Array.prototype.slice.call(grid.children).some((x) => x.timestamp == filterjson[i].timestamp)) {
if (!Array.prototype.slice.call(grid.children).some((x) => x.timestamp == game.timestamp)) {
for (var slotnum = 0; true; slotnum++) { //this is really a while loop but shh don't tell anyone
if (slotnum >= grid.children.length) {
for (var i = 0; i < 3; i ++) {
@ -82,18 +90,11 @@ $(document).ready(function (){
}
}
if (grid.children[slotnum].className == "emptyslot") {
insertGame(slotnum, filterjson[i]);
insertGame(slotnum, game);
break;
};
};
}
//updates game in list
for (var slotnum = 0; slotnum < grid.children.length; slotnum++) {
if (grid.children[slotnum].timestamp == filterjson[i].timestamp) {
insertGame(slotnum, filterjson[i]);
};
};
};
//remove last rows if not needed