Commit 9d4c8254 authored by diesys's avatar diesys 🎈

Merge branch 'dev'

parents 159a26ed da2d7191
//TODO:
per i futuro aggiungere variabile url per il torneo e git sui json ad ogni submit di dati così da avere una timeline (commit con ora data e tipo di azione)
//TODO:
fare qr da mettere al torneo per i risultati
//TODO: ADMIN!!!
i giocatori conviene aggiungerli a mano e le partite invece fare una pagina admin.php con password x inserire i risultati (così che non debba aggiungere tutto io ogni partita)
//TODO:
la pagine pricipale deve contenere classifica, partite giocate
//TODO:
domanda: ma il ranking tiene conto anche del ranking degli altri a ritroso? ha senso?
//TODO:
fare funzione per stampa output bello per liste
//TODO:
i match non sono ordinati?
//TODO:
a parita' di rank conta il numero di partite giocate
//TODO:
inserire data/ora per partite
\ No newline at end of file
<?php
echo "<!doctype html>
<html lang='it'>
<head>
<!-- Required meta tags -->
<meta charset='utf-8'>
<meta name='viewport' content='width=device-width, initial-scale=1, shrink-to-fit=no'>
<link rel='stylesheet' media='screen' href='https://fontlibrary.org/face/raleway' type='text/css'/>
<link rel='icon' href='img/antipong_favicon.png'>
<style>
body {
font-family: 'RalewayRegular';
font-weight: normal;
font-style: normal;
background: #eee;
margin: 0;
padding: 0;
left: 0;
top: 0;
}
// $command = escapeshellcmd('./tornelo.py --testImp');
// $output = shell_exec($command);
// $output = shell_exec('./tornelo.py --testNew ciao 2>&1');
// $output = shell_exec('./tornelo.py --testImp CIAO 2>&1');
#logo {
position: fixed;
top: 0px;
left: 10px;
z-index: 100;
border-radius: 100px;
border: 15px solid #fff;
box-shadow: 0 9px 30px -21px rgba(0,0,0,.7);
}
#titolo {
box-shadow: 0 -5px 30px -8px rgba(0,0,0,.4);
position: fixed;
width: 100%;
top: 0;
margin: 0;
background: #fff;
padding: .9em;
}
#content {
margin-top: 145px;
}
</style>
";
############## MUST USE (for the moment) --impweb param to avoid permission errors
$output = shell_exec('./tornelo.py --update prova michele giovanni 1 --web 2>&1');
$output = shell_exec('./tornelo.py -i prova --web 2>&1');
$output = shell_exec('./tornelo.py --update prova aaaa bbbb 0.5 --web 2>&1');
echo "<body><center>";
echo "<span>
<img id='logo' src='img/antipong_idle2.gif' height='100px' width='100px' alt='Smash the ball, smash fascism!' />
<h1 id='titolo'>Torneo di ping-pong 2019</h1></span>";
echo "<div id='content'><h2>CLASSIFICA</h2>", "<br/>";
$output2 = shell_exec('./tornelo.py --ranking prova --web 2>&1');
# inserisce una <br/> dopo il newline (nl2br) e sostituisce i tre spazi (formattati in python json)
echo nl2br(str_replace(" ", '&nbsp;&nbsp;&nbsp;&nbsp;', $output2));
// echo "<br/>== PARTITE ==", "<br/><br/>";
echo "<h2>PARTITE</h2>", "<br/>";
$output3 = shell_exec('./tornelo.py --match prova --web 2>&1');
# inserisce una <br/> dopo il newline (nl2br) e sostituisce i tre spazi (formattati in python json)
echo nl2br(str_replace(" ", '&nbsp;&nbsp;&nbsp;&nbsp;', $output));
echo nl2br(str_replace(" ", '&nbsp;&nbsp;&nbsp;&nbsp;', $output3));
echo "</div></center></body></html>";
// echo $output2
# get a json and dump
// $json = file_get_contents('data/ping/ping.json');
......
......@@ -39,7 +39,7 @@ def nuovoTorneo(nome="torneo", web=False):
# dir_path = os.path.dirname(tornei_dir + '/' + nome + '/' + file_name)
# dizionario torneo base vuoto
torneo = { 'NOME' : nome, 'FILE' : file_path, 'GIOCATORI' : {}, 'MATCHES' : {}, 'RANKING' : [] }
torneo = { 'NOME' : nome, 'FILE' : file_path, 'GIOCATORI' : {}, 'MATCHES' : [], 'RANKING' : [] }
# controlla se esiste la cartella col nome del torneo
if not os.path.exists(dir_path):
......@@ -192,6 +192,7 @@ def aggiornaTorneo(torneo, giocatoreX, giocatoreY, risultatoX, web=False):
# aggiorna classifica
aggiornaRanking(torneo)
torneo['MATCHES'].append((giocatoreX, giocatoreY, risultatoX))
return scriviTorneo(torneo, web)
......@@ -238,7 +239,7 @@ def aggiornaRanking(torneo, web=False):
# Stampa, quindi, la classifica aggiornata.
######################################################################################################################################################
HELP = 'Benvenuto in torneo-web (interfaccia CLI), le opzioni sono le seguenti:\n\n -n TORNEO\t\t\t(--new) per creare un torneo con il nome indicato\n -i TORNEO\t\t\t(--import) per caricare il file json del torneo con il nome indicato (data/NOMETORNEO/NOMETORNEO.json)\n -a TORNEO GIOCATORE \t\t(--add) aggiunge GIOCATORE a TORNEO\n -d TORNEO GIOCATORE\t\t(--delete) cancella (azzera i valori di) GIOCATORE in TORNEO\n -u TORNEO G1 G2 RIS\t\t(--update) aggiorna TORNEO con il RIS (risultato) (0, 0.5, 1) del match tra G1 e G2\n -r TORNEO\t\t\t(--ranking) mostra la classifica di TORNEO\n -m TORNEO\t\t\t(--matches) mostra le partite di TORNEO\n --web\t\t\tda aggiungere come ULTIMO parametro, serve a non causare problemi di permessi di scrittura (USARE SOLO IN PHP!)\n\n --help\t\t\tmostra questo messaggio\n --test\t\t\tusa dei tornei di test\n'
HELP = 'Benvenuto in torneo-web (interfaccia CLI), le opzioni sono le seguenti:\n\n -n TORNEO\t\t\t(--new) per creare un torneo con il nome indicato\n -i TORNEO\t\t\t(--import) per caricare il file json del torneo con il nome indicato (data/NOMETORNEO/NOMETORNEO.json)\n -a TORNEO GIOCATORE \t\t(--add) aggiunge GIOCATORE a TORNEO\n -d TORNEO GIOCATORE\t\t(--delete) cancella (azzera i valori di) GIOCATORE in TORNEO\n -u TORNEO G1 G2 RIS\t\t(--update) aggiorna TORNEO con il RIS (risultato) (0, 0.5, 1) del match tra G1 e G2\n -m TORNEO\t\t\t(--match) mostra la lista dei match di TORNEO\n -p TORNEO\t\t\t(--print) mostra tutto il contenuto di TORNEO\n -r TORNEO\t\t\t(--ranking) mostra la classifica di TORNEO\n -m TORNEO\t\t\t(--matches) mostra le partite di TORNEO\n\n --web\t\t\t\tda aggiungere come ULTIMO parametro, serve a non causare problemi di permessi di scrittura (USARE SOLO IN PHP!)\n --help\t\t\tmostra questo messaggio\n --test\t\t\tusa dei tornei di test\n'
## sezione opzioni script
......@@ -259,32 +260,28 @@ if(len(sys.argv) > 1): ## getting p
print("Torneo creato, segui l'help per popolarlo")
else:
print('Manca il nome del torneo!')
elif(options[1] == '-i' or options[1] == '--import'):
if(len(options) > 2):
torneo_test = options[2]
torneo = importaTorneo(torneo_test, web) # True come parametro opzionale x funzionare coi permessi da shell e non da web
tornei = {torneo['NOME'] : torneo}
stampaFormattato(tornei[torneo_test])
else:
print('Manca il nome del torneo!')
elif(options[1] == '--impweb'):
elif(options[1] == '-p' or options[1] == '--print'):
if(len(options) > 2):
torneo_test = options[2]
torneo = importaTorneo(torneo_test, web) # True come parametro opzionale x funzionare coi permessi da shell e non da web
tornei = {torneo['NOME'] : torneo}
stampaFormattato(tornei[torneo_test])
torneo = options[2]
torneo = importaTorneo(torneo, web)
stampaFormattato(torneo)
else:
print('Manca il nome del torneo!')
elif(options[1] == '-a' or options[1] == '--add'):
if(len(options) > 2):
torneo = options[2]
......@@ -359,6 +356,30 @@ if(len(sys.argv) > 1): ## getting p
else:
print('Manca il nome del torneo!')
elif(options[1] == '-m' or options[1] == '--match'):
if(len(options) > 2):
torneo = options[2]
torneo = importaTorneo(torneo, web) # True come parametro opzionale x funzionare coi permessi da shell e non da web
# stampa la lista invertita per visualizzare l'ultima in alto
matches = ' ' + str(torneo['MATCHES'][::-1])
matches = matches.replace('[', '')
matches = matches.replace('],', '\n')
matches = matches.replace(', 0.0', ': 1')
matches = matches.replace(', 0.5', ': X')
matches = matches.replace(', 1.0', ': 2')
matches = matches.replace(', ', ' - ')
caratteri_omessi = "[]'"
for char in caratteri_omessi:
matches = matches.replace(char, '')
print(matches)
else:
print('Manca il nome del torneo!')
# stampaFormattato(tornei[torneo_test])
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment