Co-authored-by: Toby Allen <toby@cookingisfun.ie>
This commit is contained in:
Toby Allen 2024-06-03 17:34:13 +00:00 committed by GitHub
parent 4456d23969
commit 8e1e2c766f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 55 additions and 11 deletions

2
.gitignore vendored
View File

@ -18,7 +18,7 @@ test/Generated*
test/InputFiles3*
test/test1/*
newdir2/
/companion
/releases
src/docto.exe
*.rsm

View File

@ -0,0 +1,26 @@
<?php
namespace App\Services;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Storage;
class FileGatherService
{
public static function GatherFiles(Collection $list, $tempDirName)
{
// remove exisitn files
if (\Illuminate\Support\Facades\Storage::exists($tempDirName)){
\Illuminate\Support\Facades\Storage::deleteDirectory($tempDirName);
}
$tempDirPath = Storage::path($tempDirName);
$list->each(function ($dir) use ($tempDirName, $tempDirPath){
$inputfilesdir = \Illuminate\Support\Facades\Storage::path('inputfiles\\' . $dir );
$cmd = "xcopy \"$inputfilesdir\" \"$tempDirPath\\\" ";
$result = \Illuminate\Support\Facades\Process::run( $cmd );
echo "\n" . $result->output() . "\n";
});
return collect(Storage::listContents($tempDirName));
}
}

View File

@ -14,6 +14,10 @@ return [
|
*/
'docto' => [
'path' => env('DOCTO_PATH','..\\exe\\32\\docto.exe'),
],
'mailgun' => [
'domain' => env('MAILGUN_DOMAIN'),
'secret' => env('MAILGUN_SECRET'),

View File

@ -2,10 +2,7 @@
it('test deletes files from directory', function (){
// setup
if (\Illuminate\Support\Facades\Storage::exists('inputfilestemp')){
\Illuminate\Support\Facades\Storage::deleteDirectory('inputfilestemp');
}
$testinputfilesdir = \Illuminate\Support\Facades\Storage::path('inputfiles\\plain');
// $testinputfilesdir = \Illuminate\Support\Facades\Storage::path('inputfiles\\plain');
$testinputfilesdir_temp = \Illuminate\Support\Facades\Storage::path('inputfilestemp');
@ -13,12 +10,13 @@ it('test deletes files from directory', function (){
$testoutputdir_temp = \Illuminate\Support\Facades\Storage::path('outputtemp2');
// echo "\n". $testoutputdir_temp;
\Illuminate\Support\Facades\Storage::createDirectory('outputtemp2');
$cmd = "xcopy \"$testinputfilesdir\" \"$testinputfilesdir_temp\\\" ";
// $cmd = "xcopy \"$testinputfilesdir\" \"$testinputfilesdir_temp\\\" ";
// echo "\n". $cmd;
$result = \Illuminate\Support\Facades\Process::run( $cmd );
// $result = \Illuminate\Support\Facades\Process::run( $cmd );
//echo "\n" . $result->output() . "\n";
$dirfiles = collect(\Illuminate\Support\Facades\Storage::listContents('inputfilestemp'));
// $dirfiles = collect(\Illuminate\Support\Facades\Storage::listContents('inputfilestemp'));
$dirfiles = \App\Services\FileGatherService::GatherFiles(collect(['plain']),'inputfilestemp');
$docfiles = $dirfiles->filter(function ($item){
return str($item->path())->endsWith('.doc');
});
@ -28,9 +26,8 @@ it('test deletes files from directory', function (){
$dirfilescount = $dirfiles->count();
// do conversion
$doctocmd = <<<CMD
..\\src\\docto.exe -WD -f $testinputfilesdir_temp -fx .doc -o $testoutputdir_temp -t wdFormatPDF -R true
CMD;
$docto = config('services.docto.path');
$doctocmd = "$docto -WD -f $testinputfilesdir_temp -fx .doc -o $testoutputdir_temp -t wdFormatPDF -R true";
// echo $doctocmd;
$output = \Illuminate\Support\Facades\Process::run($doctocmd);
// echo $output->output();

View File

@ -0,0 +1,17 @@
<?php
use Illuminate\Support\Facades\Process;
test('can create non existant directory', function () {
$gatherdir = uniqid();
$outputdir = uniqid();
$files = \App\Services\FileGatherService::GatherFiles(collect(['single']),$gatherdir);
$docto = config('services.docto.path');
$inputdir = \Illuminate\Support\Facades\Storage::path($gatherdir);
$outputdir = \Illuminate\Support\Facades\Storage::path($outputdir);
$cmd = "$docto -WD -f $inputdir -o $outputdir -t wdFormatHTML";
echo $cmd;
$output = Process::run($cmd);
expect(\Illuminate\Support\Facades\Storage::exists($outputdir))->toBeTrue();
});