feat: add --unscanned option to files_external:scan

Signed-off-by: Robin Appelman <robin@icewind.nl>
pull/53293/head
Robin Appelman 2025-06-02 16:24:30 +07:00 committed by backportbot[bot]
parent dfcac1057b
commit 3ca5423ca5
1 changed files with 14 additions and 1 deletions

@ -54,6 +54,11 @@ class Scan extends StorageAuthBase {
InputOption::VALUE_OPTIONAL,
'The path in the storage to scan',
''
)->addOption(
'unscanned',
'',
InputOption::VALUE_NONE,
'only scan files which are marked as not fully scanned'
);
parent::configure();
}
@ -84,7 +89,15 @@ class Scan extends StorageAuthBase {
});
try {
$scanner->scan($path);
if ($input->getOption('unscanned')) {
if ($path !== '') {
$output->writeln('<error>--unscanned is mutually exclusive with --path</error>');
return 1;
}
$scanner->backgroundScan();
} else {
$scanner->scan($path);
}
} catch (LockedException $e) {
if (is_string($e->getReadablePath()) && str_starts_with($e->getReadablePath(), 'scanner::')) {
if ($e->getReadablePath() === 'scanner::') {