server/src/app/Services/TranscriptManager.php
author ymh <ymh.work@gmail.com>
Tue, 08 Nov 2016 02:22:50 +0100
changeset 395 b7d79db348e7
parent 163 59c68fc4848e
child 396 c8f651e7e4ff
permissions -rw-r--r--
set version 0.0.6, correct class selector
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
163
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
namespace CorpusParole\Services;
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
use CorpusParole\Models\Document;
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
use GuzzleHttp\Client;
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
class TranscriptManager implements TranscriptManagerInterface {
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
    public function __construct(Client $client) {
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
        $this->client = $client;
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
    }
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
    public function getConverterUrl(string $converterKey, Document $document, string $url) {
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
        $response = $this->client->get($url);
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
        $statusCode = $response->getStatusCode();
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
        if($statusCode < 200 || $statusCode > 299 ) {
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
            throw new TranscriptManagerException("Can not get transcript content : $statusCode -> ".$response->getReasonPhrase());
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
        }
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
        return $this->getConverter($converterKey, $document, $response->getBody());
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
    }
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
    public function getConverter(string $converterKey, Document $document, string $source) {
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
        $converterClassMapping = config('corpusparole.transcrit_decoder_mapping');
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
        if(!array_key_exists($converterKey, $converterClassMapping)) {
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
            throw new TranscriptManagerException("Transcript type $converterKey doe not exists");
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
        }
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
        $converterClass = $converterClassMapping[$converterKey];
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
        if(empty($converterClass)) {
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
            throw new TranscriptManagerException("Transcript type $converterKey doe not exists (empty class)");
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
        }
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
        return new $converterClass($document, $source);
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
    }
59c68fc4848e Add transcript api endpoint
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
}
PKOqM$ iconolab-a87ffe8e08e5/design/.keepmeUTc[PKOqM.qԾKQ+ ]iconolab-a87ffe8e08e5/design/components.odtUTc[PKOqM#&&> }Liconolab-a87ffe8e08e5/design/heatmap/Resources/SampleStyle.cssUTc[PKOqM4_4/ Miconolab-a87ffe8e08e5/design/heatmap/index.htmlUTc[PKOqM&rT` 9 Siconolab-a87ffe8e08e5/design/heatmap/pages/admin_page.pngUTc[PKOqM݌9 >iconolab-a87ffe8e08e5/design/heatmap/pages/admin_tags.pngUTc[PKOqM>`@ iconolab-a87ffe8e08e5/design/heatmap/pages/annotation_create.pngUTc[PKOqMQg L? iconolab-a87ffe8e08e5/design/heatmap/pages/annotation_saved.pngUTc[PKOqMQRs@ Ƶ iconolab-a87ffe8e08e5/design/heatmap/pages/choisir_une_image.pngUTc[PKOqM-\=9 K iconolab-a87ffe8e08e5/design/heatmap/pages/components.pngUTc[PKOqMx(R 5 iconolab-a87ffe8e08e5/design/heatmap/pages/folder.pngUTc[PKOqMҳ9^ O 6 (kiconolab-a87ffe8e08e5/design/heatmap/pages/heatmap.pngUTc[PKOqM4eϿ3 4kiconolab-a87ffe8e08e5/design/heatmap/pages/home.pngUTc[PKOqM`c' p ? jIiconolab-a87ffe8e08e5/design/heatmap/pages/image_principale.pngUTc[PKOqM'78 }q'iconolab-a87ffe8e08e5/design/heatmap/pages/image_tab.pngUTc[PKOqM]J.J6 s(iconolab-a87ffe8e08e5/design/heatmap/pages/landing.pngUTc[PKOqMC(4 *(iconolab-a87ffe8e08e5/design/heatmap/pages/login.pngUTc[PKOqMWb: (iconolab-a87ffe8e08e5/design/heatmap/pages/open_folder.pngUTc[PKOqMY@ rX.&I8 *7*iconolab-a87ffe8e08e5/design/heatmap/pages/user_page.pngUTc[PKOqMmtd ~9 e+iconolab-a87ffe8e08e5/design/heatmap/pages/user_pages.pngUTc[PKOqM#&&D y+iconolab-a87ffe8e08e5/design/iconolab/demo/Resources/SampleStyle.cssUTc[PKOqM*b~85 +iconolab-a87ffe8e08e5/design/iconolab/demo/index.htmlUTc[PKOqMG% n < `+iconolab-a87ffe8e08e5/design/iconolab/demo/pages/addatag.pngUTc[PKOqMgC W7iconolab-a87ffe8e08e5/design/iconolab/demo/pages/addtagwithlist.pngUTc[PKOqMIYI? 8>iconolab-a87ffe8e08e5/design/iconolab/demo/pages/admin_page.pngUTc[PKOqMk\v>/? @iconolab-a87ffe8e08e5/design/iconolab/demo/pages/admin_tags.pngUTc[PKOqM^5QC>fF RAiconolab-a87ffe8e08e5/design/iconolab/demo/pages/choisir_une_image.pngUTc[PKOqMFIF? Biconolab-a87ffe8e08e5/design/iconolab/demo/pages/components.pngUTc[PKOqM (riconolab-a87ffe8e08e5/design/iconolab/demo/pages/image_tab.pngUTc[PKOqM 7%VA< z>siconolab-a87ffe8e08e5/design/iconolab/demo/pages/landing.pngUTc[PKOqM( qMҾF@ $dsiconolab-a87ffe8e08e5/design/iconolab/demo/pages/links_pages.pngUTc[PKOqMC(: m#ticonolab-a87ffe8e08e5/design/iconolab/demo/pages/login.pngUTc[PKOqMw&fx B :ticonolab-a87ffe8e08e5/design/iconolab/demo/pages/qualification.pngUTc[PKOqM[(I ;ticonolab-a87ffe8e08e5/design/iconolab/demo/pages/save_detail_fragment.pngUTc[PKOqMYjdʚ}? 5 wiconolab-a87ffe8e08e5/design/iconolab/demo/pages/suggestion.pngUTc[PKOqMk~VG uwiconolab-a87ffe8e08e5/design/iconolab/demo/pages/suggestions_images.pngUTc[PKOqM wBE xiconolab-a87ffe8e08e5/design/iconolab/demo/pages/suggestions_tags.pngUTc[PKOqMyi F vyiconolab-a87ffe8e08e5/design/iconolab/demo/pages/user_notification.pngUTc[PKOqMŪQH yiconolab-a87ffe8e08e5/design/iconolab/demo/pages/user_notofication_2.pngUTc[PKOqMqƞ&A> Jziconolab-a87ffe8e08e5/design/iconolab/demo/pages/user_page.pngUTc[PKOqM{Zs? q{iconolab-a87ffe8e08e5/design/iconolab/demo/pages/user_pages.pngUTc[PKOqM= )D {iconolab-a87ffe8e08e5/design/iconolab/demo/pages/user_suggestion.pngUTc[PKOqM09g)M0 ~iconolab-a87ffe8e08e5/design/iconolab/dossier.epUTc[PKOqMFwPM 6 k~iconolab-a87ffe8e08e5/design/iconolab/ex_merge_form.epUTc[PK55tO/