瀏覽代碼

minor fixes for get/put

Signed-off-by: Robin Appelman <robin@icewind.nl>
Robin Appelman 1 年之前
父節點
當前提交
05329e7784
共有 2 個文件被更改,包括 19 次插入6 次删除
  1. 12 3
      apps/files/lib/Command/Get.php
  2. 7 3
      apps/files/lib/Command/Put.php

+ 12 - 3
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("<error>Failed to open $fileInput for reading</error>");
+				return 1;
+			}
+			$target = ($outputName === null || $outputName === '-') ? STDOUT : fopen($outputName, 'w');
+			if (!$target) {
+				$output->writeln("<error>Failed to open $outputName for reading</error>");
+				return 1;
+			}
+
 			stream_copy_to_stream($source, $target);
 			return 0;
 		} else {

+ 7 - 3
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("<error>Failed to open $inputName</error>");
 			return 1;
 		}
 		if ($node instanceof File) {
 			$target = $node->fopen('w');
+			if (!$target) {
+				$output->writeln("<error>Failed to open $fileOutput</error>");
+				return 1;
+			}
 			stream_copy_to_stream($source, $target);
 		} else {
 			$this->rootFolder->newFile($fileOutput, $source);