mirror of
https://github.com/brunofontes/Memsource-API.git
synced 2024-11-23 19:00:50 +00:00
Includes file extension on bilingual download
It is important to choose the file extension, so including it on the filename would be the easier way for us, as we already have the extension when using it.
This commit is contained in:
parent
37ebdabc20
commit
c88478f7d8
@ -30,13 +30,16 @@ class BilingualFile extends \BrunoFontes\Memsource\BaseApi
|
|||||||
*/
|
*/
|
||||||
public function download(string $projectUid, array $jobUids, string $filename): array
|
public function download(string $projectUid, array $jobUids, string $filename): array
|
||||||
{
|
{
|
||||||
$url = "/api2/v1/projects/{$projectUid}/jobs/bilingualFile";
|
$fileExtension = pathinfo($filename)['extension'];
|
||||||
|
$fileNoExtension = basename($filename,'.'.$fileExtension);
|
||||||
|
;
|
||||||
|
$url = "/api2/v1/projects/{$projectUid}/jobs/bilingualFile?format=" . strtoupper($fileExtension);
|
||||||
$filenames = [];
|
$filenames = [];
|
||||||
|
|
||||||
$groupedJobUids = array_chunk($jobUids, 100);
|
$groupedJobUids = array_chunk($jobUids, 100);
|
||||||
for ($i = 0; $i < count($groupedJobUids); $i++) {
|
for ($i = 0; $i < count($groupedJobUids); $i++) {
|
||||||
$apiReadyArray = $this->_convertUidArrayToApiRequest($groupedJobUids[$i]);
|
$apiReadyArray = $this->_convertUidArrayToApiRequest($groupedJobUids[$i]);
|
||||||
$filenames[$i] = count($groupedJobUids) > 1 ? "{$i}_{$filename}" : $filename;
|
$filenames[$i] = count($groupedJobUids) > 1 ? "{$fileNoExtension}_{$i}.{$fileExtension}" : $filename;
|
||||||
$filecontent = $this->fetchApi->fetch('jsonPost', $url, $apiReadyArray);
|
$filecontent = $this->fetchApi->fetch('jsonPost', $url, $apiReadyArray);
|
||||||
if ($this->hasError($filecontent)) {
|
if ($this->hasError($filecontent)) {
|
||||||
$errorMsg = $this->getError($filecontent);
|
$errorMsg = $this->getError($filecontent);
|
||||||
|
@ -11,14 +11,14 @@ final class BilingualFileTest extends TestCase
|
|||||||
$api = new Memsource('fakeToken');
|
$api = new Memsource('fakeToken');
|
||||||
$this->assertEquals(
|
$this->assertEquals(
|
||||||
[],
|
[],
|
||||||
$api->bilingualFile()->download('uid', [], 'filename')
|
$api->bilingualFile()->download('uid', [], 'filename.xliff')
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
public function testInvalidDownloadUidsShouldThrowError()
|
public function testInvalidDownloadUidsShouldThrowError()
|
||||||
{
|
{
|
||||||
$api = new Memsource('fakeToken');
|
$api = new Memsource('fakeToken');
|
||||||
$this->expectException(\Exception::class);
|
$this->expectException(\Exception::class);
|
||||||
$api->bilingualFile()->download('uid', ['a'], 'filename');
|
$api->bilingualFile()->download('uid', ['a'], 'filename.xliff');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testUploadInexistentFileShouldThrowError()
|
public function testUploadInexistentFileShouldThrowError()
|
||||||
|
Loading…
Reference in New Issue
Block a user