fip

Ecouter fip dans un terminal - retour accueil

git clone git://bebou.netlib.re/fip
Log | Files | Refs | README |

commit 2702a9138b17321c496eb8c5dfa2f19fef6b63ff
parent e50f99193cc4b41cb76de9288323ab2d958c9e94
Auterice: arthur <arthur.pons@unistra.fr>
Date:   Tue, 13 Sep 2022 11:19:34 +0200

Ajout de conditions pour vérifier les données de l'API
Suppression du hack des 12 secondes

Diffstat:
MREADME | 1+
Mfip | 40+++++++++++++++++++++++++---------------
2 files changed, 26 insertions(+), 15 deletions(-)

diff --git a/README b/README @@ -39,6 +39,7 @@ conviviales au sens Illichien je suis preneur. Contribution +Virgile Jarrige Thomas Baguet Marc Chantreux Thomas Bernard diff --git a/fip b/fip @@ -39,21 +39,31 @@ enjoy() { # local ne marche pas en shell POSIX !!! for it; do read -r "${it?}"; done - # On calcul le nombre de secondes avant que le morceau change en y ajoutant - # quelques secondes le temps pour l'api de renvoyer à nouveau des - # timestamps valides sinon on récupère des "undefined" et j'ai la flemme de - # faire les tests pour gérer ces cas Le 12 a été choisi de façon purement - # empirique, je trouve que ça colle pas mal avec le changement effectif de - # morceau - # A modifier si ce n'est plus le cas - pause=$(date +"$end %s- 12+ p" | dc) - - echo "$title" - - # Affiche de la couverture - curl -s "$cover" --output - | catimg -w 80 - - # on attend la fin du morceau - sleep "$pause" + # On vérifie que l'api ait bien renvoyé du temps et pas rien + if [ "$end" != "null" ]; then + # On calcul la différence entre le moment où le morceau se termine et + # maintenant + pause=$(date +"$end %s- p" | dc) + + # Si la différence est supérieure à 0 + # Vérification qui permet de gérer le fait que radiofrance ne met pas à + # jour les infos instantanément après la fin d'un morceau + if [ "$pause" -gt 0 ]; then + echo "$title" + + # Affichage de la couverture + curl -s "$cover" --output - | catimg -w 80 - + + # on attend la fin du morceau + sleep "$pause" + else + # On évite de réquêter l'api comme des malades + sleep 4 + fi + else + + sleep 4 + fi } while :; do