Commit d9cbc2fb authored by Thomas Persohn's avatar Thomas Persohn

fix transcription response

parent a18b0152
......@@ -5,7 +5,7 @@ Libcast\Authot\Response\Transcription:
title:
type: string
status:
type: string
type: integer
serialized_name: state
progress:
type: integer
......
......@@ -3,14 +3,42 @@
namespace Libcast\Authot\Response;
/**
*
* $status values (from value "state" in Authot responses)
* 0 => "Envoyé" -- Votre fichier est bien arrivé sur notre plateforme
* 1 => "En attente" -- Votre fichier est en attente de transcription
* 2 => " En cours de transcription" -- Votre fichier est en cours de transcription
* 3 => "Ocr en cours" -- L'ocr est en cours sur votre fichier.
* 5 => "Fichier en transfert" -- Votre fichier est en cours de transfert
* 10 => "Fichier Fini" -- La transcription automatique de votre fichier est terminée
* 110 => "Correction Finie" -- Votre fichier peut être récupéré car tout le process de correction est
* terminé.
* 120 => "En attente de correction" -- Votre fichier est en attente d'un correcteur
* 121 => "En correction" -- Votre fichier est en train d’être corrigé
* 122 => " Correction terminée" -- Votre fichier est fini d'être corrigé par nos correcteurs et va
* être pris par un validateur
* 130 => En attente de validation -- Votre fichier est en attente d'un validateur
* 131 => En validation -- Votre fichier est en validation
* 132 => Validation terminée -- La validation de votre fichier est terminée
* 150 => En attente de coordination
* 151 => En coordination
* 152 => Coordination terminée
* -1 => Erreur
* -2 => Plus de crédit
* -3 => Le fichier ne peut être lu
* -4 => Problème de retranscription
* -5 => Problème de stockage
* -6 => L'url ne peut être lue
* -99 => Annulation Manuelle
*/
class Transcription
{
/** @var int */
private $id;
/** @var string */
private $title;
/** @var string */
/** @var int */
private $status;
/** @var int */
private $progress;
......@@ -32,12 +60,14 @@ class Transcription
$this->title = $title;
$this->status = $status;
$this->progress = $progress;
$this->lang = $lang;
$this->lang = $this->buildShortLang($lang);
}
public function isFinished()
{
return $this->status === TranscriptionState::FINISHED;
// See class description above.
// 10 is the value we want, but we allow other positive values.
return $this->status >= 10;
}
/**
......@@ -57,7 +87,7 @@ class Transcription
}
/**
* @return string
* @return int
*/
public function getStatus()
{
......@@ -77,7 +107,16 @@ class Transcription
*/
public function getLang()
{
return $this->lang;
// Fix after Authot API change
return $this->buildShortLang($this->lang);
}
private function buildShortLang($lang)
{
$parts = explode('-', $lang);
return $parts[0];
}
}
\ No newline at end of file
<?php
namespace Libcast\Authot\Response;
class TranscriptionState
{
const UPLOADED = 'Uploaded';
const ERROR = 'Error';
const FINISHED = 'Finish';
}
\ No newline at end of file
......@@ -17,7 +17,9 @@ class TranscriptionValidator implements ResponseValidator
public function validate(ResponseInterface $response)
{
$data = json_decode((string)$response->getBody(), true);
if ($data['state'] === TranscriptionState::ERROR) {
$state = (int) $data['state'];
if ($state < 0) {
throw new ClientException($data['error_message']);
}
}
......
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