From e983ae3b0624b99fa3cc455fb180b0f64754ffc1 Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Wed, 22 Apr 2020 13:27:33 +0200 Subject: [PATCH] Add folder argument to files:scan-app-data If you need to rescan something but don't feel like rescanning your whole preview stash. Signed-off-by: Roeland Jago Douma --- apps/files/lib/Command/ScanAppData.php | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/apps/files/lib/Command/ScanAppData.php b/apps/files/lib/Command/ScanAppData.php index 358dd993291..0d34bc1e72c 100644 --- a/apps/files/lib/Command/ScanAppData.php +++ b/apps/files/lib/Command/ScanAppData.php @@ -38,6 +38,7 @@ use OCP\Files\StorageNotAvailableException; use OCP\IConfig; use OCP\IDBConnection; use Symfony\Component\Console\Helper\Table; +use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; @@ -67,6 +68,8 @@ class ScanAppData extends Base { $this ->setName('files:scan-app-data') ->setDescription('rescan the AppData folder'); + + $this->addArgument('folder', InputArgument::OPTIONAL, 'The appdata subfolder to scan', ''); } public function checkScanWarning($fullPath, OutputInterface $output) { @@ -78,7 +81,7 @@ class ScanAppData extends Base { } } - protected function scanFiles(OutputInterface $output) { + protected function scanFiles(OutputInterface $output, string $folder) { try { $appData = $this->getAppDataFolder(); } catch (NotFoundException $e) { @@ -86,6 +89,15 @@ class ScanAppData extends Base { return; } + if ($folder !== '') { + try { + $appData = $appData->get($folder); + } catch (NotFoundException $e) { + $output->writeln('Could not find folder: ' . $folder); + return; + } + } + $connection = $this->reconnectToDatabase($output); $scanner = new \OC\Files\Utils\Scanner(null, $connection, \OC::$server->query(IEventDispatcher::class), \OC::$server->getLogger()); @@ -139,9 +151,11 @@ class ScanAppData extends Base { $output->writeln("\nScanning AppData for files"); + $folder = $input->getArgument('folder'); + $this->initTools(); - $this->scanFiles($output); + $this->scanFiles($output, $folder); $this->presentStats($output); } -- 2.39.5