fixed issues of download folder not being updated promptly

This commit is contained in:
huangjx
2021-09-11 15:09:23 +08:00
parent cba9d22cc8
commit cff84cf0e5
4 changed files with 59 additions and 12 deletions

View File

@@ -2,21 +2,33 @@
namespace OCA\NCDownloader\Tools;
use OCA\NCDownloader\Tools\Helper;
use OC\Files\Filesystem;
use OCA\NCDownloader\Tools\Settings;
use OC\Files\Utils\Scanner;
use \OCP\EventDispatcher\IEventDispatcher;
class File
{
public static function syncFolder($dir)
public static function syncFolder($dir = null)
{
$user = \OC::$server->getUserSession()->getUser()->getUID();
if (!isset($dir)) {
$settings = new Settings($user);
$downloadDir = $settings->get('ncd_downloader_dir') ?? "/Downloads";
$rootFolder = Helper::getUserFolder($user);
$path = $rootFolder . "/" . ltrim($downloadDir, '/\\');
} else {
$path = $dir;
}
$realDir =\OC::$server->getSystemConfig()->getValue('datadirectory') . "/" . $path;
if (!(Helper::folderUpdated($realDir))) {
return ['message' => "no change"];
}
$logger = \OC::$server->getLogger();
$scanner = new Scanner($user, \OC::$server->getDatabaseConnection(), \OC::$server->query(IEventDispatcher::class), $logger);
$path = Filesystem::getRoot() . "/" . ltrim($dir, '/\\');
try {
$scanner->scan($path);
// Helper::debug($logger->getLogPath());
// Helper::debug($logger->getLogPath());
//$logger->warning($logger->getLogPath(),['app' =>'Ncdownloader']);
} catch (ForbiddenException $e) {
$logger->warning("Make sure you're running the scan command only as the user the web server runs as");
@@ -24,5 +36,7 @@ class File
$logger->warning("Exception during scan: " . $e->getMessage() . $e->getTraceAsString());
}
return ['message' => "changed"];
}
}