Merge pull request #9346 from nextcloud/techdep/noid/needsPartFile_to_storage

Use an actual function of the storage to determine needsPartFile
This commit is contained in:
Morris Jobke 2018-05-02 16:03:31 +02:00 committed by GitHub
commit a56ec1062a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 17 deletions

View File

@ -51,6 +51,7 @@ use OCP\Files\InvalidContentException;
use OCP\Files\InvalidPathException;
use OCP\Files\LockNotAcquiredException;
use OCP\Files\NotPermittedException;
use OCP\Files\Storage;
use OCP\Files\StorageNotAvailableException;
use OCP\Lock\ILockingProvider;
use OCP\Lock\LockedException;
@ -135,8 +136,9 @@ class File extends Node implements IFile {
}
}
/** @var Storage $partStorage */
list($partStorage) = $this->fileView->resolvePath($this->path);
$needsPartFile = $this->needsPartFile($partStorage) && (strlen($this->path) > 1);
$needsPartFile = $partStorage->needsPartFile() && (strlen($this->path) > 1);
if ($needsPartFile) {
// mark file as partial while uploading (ignored by the scanner)
@ -443,8 +445,9 @@ class File extends Node implements IFile {
}
if ($chunk_handler->isComplete()) {
/** @var Storage $storage */
list($storage,) = $this->fileView->resolvePath($path);
$needsPartFile = $this->needsPartFile($storage);
$needsPartFile = $storage->needsPartFile();
$partFile = null;
$targetPath = $path . '/' . $info['name'];
@ -529,21 +532,6 @@ class File extends Node implements IFile {
return null;
}
/**
* Returns whether a part file is needed for the given storage
* or whether the file can be assembled/uploaded directly on the
* target storage.
*
* @param \OCP\Files\Storage $storage
* @return bool true if the storage needs part file handling
*/
private function needsPartFile($storage) {
// TODO: in the future use ChunkHandler provided by storage
return !$storage->instanceOfStorage('OCA\Files_Sharing\External\Storage') &&
!$storage->instanceOfStorage('OC\Files\Storage\OwnCloud') &&
$storage->needsPartFile();
}
/**
* Convert the given exception to a SabreException instance
*

View File

@ -73,4 +73,8 @@ class OwnCloud extends \OC\Files\Storage\DAV{
parent::__construct($params);
}
public function needsPartFile() {
return false;
}
}

View File

@ -366,4 +366,7 @@ class Storage extends DAV implements ISharedStorage {
return $permissions;
}
public function needsPartFile() {
return false;
}
}