diff options
author | Roeland Jago Douma <rullzer@users.noreply.github.com> | 2020-04-24 14:07:17 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-24 14:07:17 +0300 |
commit | 8c07b6e07aca2c9a8e90a5b13f15fd52c6015095 (patch) | |
tree | f8a825f13f967e39aaf4b5c2a7ea77171525c889 | |
parent | 212138daa181cf1fbcb72b3129f8d3d5f94cf3b2 (diff) | |
parent | e983ae3b0624b99fa3cc455fb180b0f64754ffc1 (diff) |
Merge pull request #20626 from nextcloud/enh/scan-appdata-folder-arg
Add folder argument to files:scan-app-data
-rw-r--r-- | apps/files/lib/Command/ScanAppData.php | 18 |
1 files 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); } |