From 2f662bf5610b0099cf6480d6d48ce78116be9618 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Thu, 4 May 2023 18:27:00 +0200 Subject: [PATCH] minor fixes for get/put Signed-off-by: Robin Appelman --- apps/files/lib/Command/Get.php | 15 ++++++++++++--- apps/files/lib/Command/Put.php | 10 +++++++--- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/apps/files/lib/Command/Get.php b/apps/files/lib/Command/Get.php index 29edefa1cfb..7bdb4cb59ee 100644 --- a/apps/files/lib/Command/Get.php +++ b/apps/files/lib/Command/Get.php @@ -43,8 +43,8 @@ class Get extends Command { $this ->setName('files:get') ->setDescription('Get the contents of a file') - ->addArgument('file', InputArgument::REQUIRED, "File id or path") - ->addArgument('output', InputArgument::OPTIONAL, "Target file to output to, defaults to STDOUT"); + ->addArgument('file', InputArgument::REQUIRED, "Source file id or Nextcloud path") + ->addArgument('output', InputArgument::OPTIONAL, "Target local file to output to, defaults to STDOUT"); } public function execute(InputInterface $input, OutputInterface $output): int { @@ -68,7 +68,16 @@ class Get extends Command { return 1; } $source = $node->fopen('r'); - $target = (!$outputName || $outputName === '-') ? STDOUT : fopen($outputName, 'w'); + if (!$source) { + $output->writeln("Failed to open $fileInput for reading"); + return 1; + } + $target = ($outputName === null || $outputName === '-') ? STDOUT : fopen($outputName, 'w'); + if (!$target) { + $output->writeln("Failed to open $outputName for reading"); + return 1; + } + stream_copy_to_stream($source, $target); return 0; } else { diff --git a/apps/files/lib/Command/Put.php b/apps/files/lib/Command/Put.php index da24bbcbd00..f89ab8fb436 100644 --- a/apps/files/lib/Command/Put.php +++ b/apps/files/lib/Command/Put.php @@ -47,8 +47,8 @@ class Put extends Command { $this ->setName('files:put') ->setDescription('Write contents of a file') - ->addArgument('input', InputArgument::REQUIRED, "Source file to write, use - to read from STDIN") - ->addArgument('file', InputArgument::REQUIRED, "File path to write to or fileid of existing file"); + ->addArgument('input', InputArgument::REQUIRED, "Source local path, use - to read from STDIN") + ->addArgument('file', InputArgument::REQUIRED, "Target Nextcloud file path to write to or fileid of existing file"); } public function execute(InputInterface $input, OutputInterface $output): int { @@ -65,13 +65,17 @@ class Put extends Command { return 1; } - $source = (!$inputName || $inputName === '-') ? STDIN : fopen($inputName, 'r'); + $source = ($inputName === null || $inputName === '-') ? STDIN : fopen($inputName, 'r'); if (!$source) { $output->writeln("Failed to open $inputName"); return 1; } if ($node instanceof File) { $target = $node->fopen('w'); + if (!$target) { + $output->writeln("Failed to open $fileOutput"); + return 1; + } stream_copy_to_stream($source, $target); } else { $this->rootFolder->newFile($fileOutput, $source); -- 2.39.5