Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/ios.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarino Faggiana <marino@marinofaggiana.com>2022-11-10 11:14:35 +0300
committerMarino Faggiana <marino@marinofaggiana.com>2022-11-10 11:14:35 +0300
commitfe5f037a83ef8f3c3752be61bb819ca924aa43ce (patch)
tree4c5d8a610048fe49d3f2d67f2ea729ee25a36611
parentebb51cd23821ec37554cd246f8cd4a3ae5c2519f (diff)
fix createFolder asset
Signed-off-by: Marino Faggiana <marino@marinofaggiana.com>
-rw-r--r--iOSClient/Networking/NCNetworking.swift30
1 files changed, 24 insertions, 6 deletions
diff --git a/iOSClient/Networking/NCNetworking.swift b/iOSClient/Networking/NCNetworking.swift
index 61a6a9e1d..e891bd1fa 100644
--- a/iOSClient/Networking/NCNetworking.swift
+++ b/iOSClient/Networking/NCNetworking.swift
@@ -1001,16 +1001,34 @@ import Photos
func createFolder(assets: [PHAsset], selector: String, useSubFolder: Bool, account: String, urlBase: String, userId: String) -> Bool {
- let serverUrl = NCManageDatabase.shared.getAccountAutoUploadDirectory(urlBase: urlBase, userId: userId, account: account)
- let fileName = NCManageDatabase.shared.getAccountAutoUploadFileName()
let autoUploadPath = NCManageDatabase.shared.getAccountAutoUploadPath(urlBase: urlBase, userId: userId, account: account)
- var result = createFolderWithSemaphore(fileName: fileName, serverUrl: serverUrl, account: account, urlBase: urlBase, userId: userId)
+ let serverUrlBase = NCManageDatabase.shared.getAccountAutoUploadDirectory(urlBase: urlBase, userId: userId, account: account)
+ let fileNameBase = NCManageDatabase.shared.getAccountAutoUploadFileName()
+
+ func createFolder(fileName: String, serverUrl: String) -> Bool {
+ var result: Bool = false
+ let semaphore = DispatchSemaphore(value: 0)
+ NCNetworking.shared.createFolder(fileName: fileName, serverUrl: serverUrl, account: account, urlBase: urlBase, userId: userId, overwrite: true) { error in
+ if error == .success { result = true }
+ semaphore.signal()
+ }
+ semaphore.wait()
+ return result
+ }
+
+ var result = createFolder(fileName: fileNameBase, serverUrl: serverUrlBase)
if useSubFolder && result {
for dateSubFolder in createNameSubFolder(assets: assets) {
- let fileName = (dateSubFolder as NSString).lastPathComponent
- let serverUrl = ((autoUploadPath + "/" + dateSubFolder) as NSString).deletingLastPathComponent
- result = createFolderWithSemaphore(fileName: fileName, serverUrl: serverUrl, account: account, urlBase: urlBase, userId: userId)
+ let yearMonth = dateSubFolder.split(separator: "/")
+ guard let year = yearMonth.first else { break }
+ guard let month = yearMonth.last else { break }
+ let serverUrlYear = autoUploadPath
+ let serverUrlMonth = autoUploadPath + "/" + year
+ result = createFolder(fileName: String(year), serverUrl: serverUrlYear)
+ if result {
+ result = createFolder(fileName: String(month), serverUrl: serverUrlMonth)
+ }
if !result { break }
}
}