Skip to content
Snippets Groups Projects
Commit dfcaeeab authored by Robin Appelman's avatar Robin Appelman
Browse files

propagator batching when removing thumbnails

parent 1fddd62c
No related branches found
No related tags found
No related merge requests found
...@@ -136,9 +136,9 @@ class Preview { ...@@ -136,9 +136,9 @@ class Preview {
//check if there are preview backends //check if there are preview backends
if (!\OC::$server->getPreviewManager() if (!\OC::$server->getPreviewManager()
->hasProviders() ->hasProviders()
&& \OC::$server->getConfig() && \OC::$server->getConfig()
->getSystemValue('enable_previews', true) ->getSystemValue('enable_previews', true)
) { ) {
\OCP\Util::writeLog('core', 'No preview providers exist', \OCP\Util::ERROR); \OCP\Util::writeLog('core', 'No preview providers exist', \OCP\Util::ERROR);
throw new \Exception('No preview providers'); throw new \Exception('No preview providers');
...@@ -410,6 +410,10 @@ class Preview { ...@@ -410,6 +410,10 @@ class Preview {
* Deletes all previews of a file * Deletes all previews of a file
*/ */
public function deleteAllPreviews() { public function deleteAllPreviews() {
$thumbnailMount = $this->userView->getMount($this->getThumbnailsFolder());
$propagator = $thumbnailMount->getStorage()->getPropagator();
$propagator->beginBatch();
$toDelete = $this->getChildren(); $toDelete = $this->getChildren();
$toDelete[] = $this->getFileInfo(); $toDelete[] = $this->getFileInfo();
...@@ -426,6 +430,8 @@ class Preview { ...@@ -426,6 +430,8 @@ class Preview {
} }
} }
} }
$propagator->commitBatch();
} }
/** /**
...@@ -572,8 +578,8 @@ class Preview { ...@@ -572,8 +578,8 @@ class Preview {
* @return integer[] * @return integer[]
*/ */
private function applyAspectRatio($askedWidth, $askedHeight, $originalWidth = 0, $originalHeight = 0) { private function applyAspectRatio($askedWidth, $askedHeight, $originalWidth = 0, $originalHeight = 0) {
if(!$originalWidth){ if (!$originalWidth) {
$originalWidth= $this->maxPreviewWidth; $originalWidth = $this->maxPreviewWidth;
} }
if (!$originalHeight) { if (!$originalHeight) {
$originalHeight = $this->maxPreviewHeight; $originalHeight = $this->maxPreviewHeight;
...@@ -1112,7 +1118,7 @@ class Preview { ...@@ -1112,7 +1118,7 @@ class Preview {
$preview = null; $preview = null;
$previewProviders = \OC::$server->getPreviewManager() $previewProviders = \OC::$server->getPreviewManager()
->getProviders(); ->getProviders();
foreach ($previewProviders as $supportedMimeType => $providers) { foreach ($previewProviders as $supportedMimeType => $providers) {
if (!preg_match($supportedMimeType, $this->mimeType)) { if (!preg_match($supportedMimeType, $this->mimeType)) {
continue; continue;
...@@ -1126,7 +1132,7 @@ class Preview { ...@@ -1126,7 +1132,7 @@ class Preview {
\OCP\Util::writeLog( \OCP\Util::writeLog(
'core', 'Generating preview for "' . $file . '" with "' . get_class($provider) 'core', 'Generating preview for "' . $file . '" with "' . get_class($provider)
. '"', \OCP\Util::DEBUG . '"', \OCP\Util::DEBUG
); );
/** @var $provider Provider */ /** @var $provider Provider */
...@@ -1260,7 +1266,7 @@ class Preview { ...@@ -1260,7 +1266,7 @@ class Preview {
$absPath = Files\Filesystem::normalizePath($view->getAbsolutePath($path)); $absPath = Files\Filesystem::normalizePath($view->getAbsolutePath($path));
$fileInfo = $view->getFileInfo($path); $fileInfo = $view->getFileInfo($path);
if($fileInfo === false) { if ($fileInfo === false) {
return; return;
} }
self::addPathToDeleteFileMapper($absPath, $fileInfo); self::addPathToDeleteFileMapper($absPath, $fileInfo);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment