From f001095cba7de1fab3f09a1dd97da0073f134f00 Mon Sep 17 00:00:00 2001 From: Alexandre Russo Date: Fri, 30 Nov 2018 17:02:53 +0100 Subject: [PATCH] =?UTF-8?q?Permet=20=C3=A0=20youtube=20le=20temps=20de=20t?= =?UTF-8?q?raiter=20la=20vid=C3=A9o=20avant=20de=20pouvoir=20r=C3=A9cup?= =?UTF-8?q?=C3=A9rer=20les=20attribut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- classes/model/media.model.php | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/classes/model/media.model.php b/classes/model/media.model.php index f711f85..9e12fb6 100755 --- a/classes/model/media.model.php +++ b/classes/model/media.model.php @@ -139,11 +139,25 @@ public function sync($save = true) { } // Extrait les attributs du média internet (titre, description...) + $maxPass = 30; // le nombre de passe par défaut + $timeToWait = 1; // En secondes + $pass = 0; // passe courante + + // Par défaut il se peu que youtube mette un peu de temps à traiter la vidéo et que du coup les attributs + // ne soient pas disponible immédiatement, du coup dans ce cas là on va aller les cherchers toutes les secondes + // 30 fois au maximum (30sec) si au bout des 30sec on a toujours rien, alors on considère que l'upload + // a foiré. $attributes = $driver->fetch(); - if (empty($attributes)) { - throw new \Exception(__('Online media not found, please check the URL')); + while(empty($attributes)) { + $attributes = $driver->fetch(); + sleep($timeToWait); + + if(++$pass >= $maxPass) { + throw new \Exception(__('Online media not found, please check the URL')); + } } + // Set new driver $this->driver = $driver;