]> source.dussan.org Git - nextcloud-server.git/commitdiff
Add folder argument to files:scan-app-data 20626/head
authorRoeland Jago Douma <roeland@famdouma.nl>
Wed, 22 Apr 2020 11:27:33 +0000 (13:27 +0200)
committerRoeland Jago Douma <roeland@famdouma.nl>
Wed, 22 Apr 2020 11:27:33 +0000 (13:27 +0200)
If you need to rescan something but don't feel like rescanning your
whole preview stash.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
apps/files/lib/Command/ScanAppData.php

index 358dd993291661d4bc6eb297b9753d0ee4ab8ce6..0d34bc1e72c67b75bbdfd3a7da1059fe443750f3 100644 (file)
@@ -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);
        }