diff -r a6cf5a06f02d -r 59c68fc4848e server/src/app/Services/TranscriptManager.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/server/src/app/Services/TranscriptManager.php Sun May 29 16:50:17 2016 +0200 @@ -0,0 +1,41 @@ +client = $client; + } + + + public function getConverterUrl(string $converterKey, Document $document, string $url) { + + $response = $this->client->get($url); + $statusCode = $response->getStatusCode(); + if($statusCode < 200 || $statusCode > 299 ) { + throw new TranscriptManagerException("Can not get transcript content : $statusCode -> ".$response->getReasonPhrase()); + } + + return $this->getConverter($converterKey, $document, $response->getBody()); + + } + + public function getConverter(string $converterKey, Document $document, string $source) { + + $converterClassMapping = config('corpusparole.transcrit_decoder_mapping'); + if(!array_key_exists($converterKey, $converterClassMapping)) { + throw new TranscriptManagerException("Transcript type $converterKey doe not exists"); + } + $converterClass = $converterClassMapping[$converterKey]; + if(empty($converterClass)) { + throw new TranscriptManagerException("Transcript type $converterKey doe not exists (empty class)"); + } + + return new $converterClass($document, $source); + + } +}