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-01 14:56:54 +0300
committerMarino Faggiana <marino@marinofaggiana.com>2022-11-01 14:56:54 +0300
commitaa11837b1e79095a5952d5e37172c90a1f6cec39 (patch)
tree0b7cdb0b1c534d88216983a50f5a3b50b4b44b00
parentd34404423bfc11b97184fd9ea8f20e723aad92a4 (diff)
improved autoupload
Signed-off-by: Marino Faggiana <marino@marinofaggiana.com>
-rw-r--r--iOSClient/Data/NCManageDatabase.swift7
-rw-r--r--iOSClient/Main/Create cloud/NCCreateFormUploadAssets.swift15
-rw-r--r--iOSClient/Networking/NCAutoUpload.swift21
-rw-r--r--iOSClient/Networking/NCNetworking.swift5
-rw-r--r--iOSClient/Utility/NCUtility.swift6
5 files changed, 25 insertions, 29 deletions
diff --git a/iOSClient/Data/NCManageDatabase.swift b/iOSClient/Data/NCManageDatabase.swift
index a3c592d7e..fa96c5a3b 100644
--- a/iOSClient/Data/NCManageDatabase.swift
+++ b/iOSClient/Data/NCManageDatabase.swift
@@ -1244,19 +1244,14 @@ class NCManageDatabase: NSObject {
addObject.account = account
addObject.assetLocalIdentifier = asset.localIdentifier
addObject.mediaType = asset.mediaType.rawValue
-
if let creationDate = asset.creationDate {
addObject.creationDate = creationDate as NSDate
creationDateString = String(describing: creationDate)
- } else {
- creationDateString = ""
}
-
if let modificationDate = asset.modificationDate {
addObject.modificationDate = modificationDate as NSDate
}
-
- addObject.idAsset = "\(account)\(asset.localIdentifier)\(creationDateString)"
+ addObject.idAsset = account + asset.localIdentifier + creationDateString
realm.add(addObject, update: .all)
}
diff --git a/iOSClient/Main/Create cloud/NCCreateFormUploadAssets.swift b/iOSClient/Main/Create cloud/NCCreateFormUploadAssets.swift
index 3ad1ac134..b561ca89d 100644
--- a/iOSClient/Main/Create cloud/NCCreateFormUploadAssets.swift
+++ b/iOSClient/Main/Create cloud/NCCreateFormUploadAssets.swift
@@ -350,8 +350,8 @@ class NCCreateFormUploadAssets: XLFormViewController, NCSelectDelegate {
var serverUrl = self.serverUrl
var livePhoto: Bool = false
- let fileName = CCUtility.createFileName(asset.value(forKey: "filename") as? String, fileDate: asset.creationDate, fileType: asset.mediaType, keyFileName: NCGlobal.shared.keyFileNameMask, keyFileNameType: NCGlobal.shared.keyFileNameType, keyFileNameOriginal: NCGlobal.shared.keyFileNameOriginal, forcedNewFileName: false)!
- let assetDate = asset.creationDate ?? Date()
+ let creationDate = asset.creationDate ?? Date()
+ let fileName = CCUtility.createFileName(asset.value(forKey: "filename") as? String, fileDate: creationDate, fileType: asset.mediaType, keyFileName: NCGlobal.shared.keyFileNameMask, keyFileNameType: NCGlobal.shared.keyFileNameType, keyFileNameOriginal: NCGlobal.shared.keyFileNameOriginal, forcedNewFileName: false)!
if asset.mediaSubtypes.contains(.photoLive) && CCUtility.getLivePhoto() {
livePhoto = true
@@ -360,9 +360,9 @@ class NCCreateFormUploadAssets: XLFormViewController, NCSelectDelegate {
if useSubFolder {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy"
- let yearString = dateFormatter.string(from: assetDate)
+ let yearString = dateFormatter.string(from: creationDate)
dateFormatter.dateFormat = "MM"
- let monthString = dateFormatter.string(from: assetDate)
+ let monthString = dateFormatter.string(from: creationDate)
serverUrl = autoUploadPath + "/" + yearString + "/" + monthString
}
@@ -419,6 +419,7 @@ class NCCreateFormUploadAssets: XLFormViewController, NCSelectDelegate {
var returnString: String = ""
let asset = assets[0]
+ let creationDate = asset.creationDate ?? Date()
if CCUtility.getOriginalFileName(NCGlobal.shared.keyFileNameOriginal) {
@@ -434,18 +435,18 @@ class NCCreateFormUploadAssets: XLFormViewController, NCSelectDelegate {
CCUtility.setFileNameMask(valueRename, key: NCGlobal.shared.keyFileNameMask)
self.form.delegate = self
- returnString = CCUtility.createFileName(asset.value(forKey: "filename") as! String?, fileDate: asset.creationDate, fileType: asset.mediaType, keyFileName: NCGlobal.shared.keyFileNameMask, keyFileNameType: NCGlobal.shared.keyFileNameType, keyFileNameOriginal: NCGlobal.shared.keyFileNameOriginal, forcedNewFileName: false)
+ returnString = CCUtility.createFileName(asset.value(forKey: "filename") as! String?, fileDate: creationDate, fileType: asset.mediaType, keyFileName: NCGlobal.shared.keyFileNameMask, keyFileNameType: NCGlobal.shared.keyFileNameType, keyFileNameOriginal: NCGlobal.shared.keyFileNameOriginal, forcedNewFileName: false)
} else {
CCUtility.setFileNameMask("", key: NCGlobal.shared.keyFileNameMask)
- returnString = CCUtility.createFileName(asset.value(forKey: "filename") as! String?, fileDate: asset.creationDate, fileType: asset.mediaType, keyFileName: nil, keyFileNameType: NCGlobal.shared.keyFileNameType, keyFileNameOriginal: NCGlobal.shared.keyFileNameOriginal, forcedNewFileName: false)
+ returnString = CCUtility.createFileName(asset.value(forKey: "filename") as! String?, fileDate: creationDate, fileType: asset.mediaType, keyFileName: nil, keyFileNameType: NCGlobal.shared.keyFileNameType, keyFileNameOriginal: NCGlobal.shared.keyFileNameOriginal, forcedNewFileName: false)
}
} else {
CCUtility.setFileNameMask("", key: NCGlobal.shared.keyFileNameMask)
- returnString = CCUtility.createFileName(asset.value(forKey: "filename") as! String?, fileDate: asset.creationDate, fileType: asset.mediaType, keyFileName: nil, keyFileNameType: NCGlobal.shared.keyFileNameType, keyFileNameOriginal: NCGlobal.shared.keyFileNameOriginal, forcedNewFileName: false)
+ returnString = CCUtility.createFileName(asset.value(forKey: "filename") as! String?, fileDate: creationDate, fileType: asset.mediaType, keyFileName: nil, keyFileNameType: NCGlobal.shared.keyFileNameType, keyFileNameOriginal: NCGlobal.shared.keyFileNameOriginal, forcedNewFileName: false)
}
return String(format: NSLocalizedString("_preview_filename_", comment: ""), "MM, MMM, DD, YY, YYYY, HH, hh, mm, ss, ampm") + ":" + "\n\n" + returnString
diff --git a/iOSClient/Networking/NCAutoUpload.swift b/iOSClient/Networking/NCAutoUpload.swift
index 423f4d8b8..2a9ed8c00 100644
--- a/iOSClient/Networking/NCAutoUpload.swift
+++ b/iOSClient/Networking/NCAutoUpload.swift
@@ -108,17 +108,14 @@ class NCAutoUpload: NSObject {
var livePhoto = false
var session: String = ""
let dateFormatter = DateFormatter()
- var date = Date()
- if let assetDate = asset.creationDate {
- date = assetDate
- }
+ let assetDate = asset.creationDate ?? Date()
dateFormatter.dateFormat = "yyyy"
- let year = dateFormatter.string(from: date)
+ let year = dateFormatter.string(from: assetDate)
dateFormatter.dateFormat = "MM"
- let month = dateFormatter.string(from: date)
+ let month = dateFormatter.string(from: assetDate)
let assetMediaType = asset.mediaType
var serverUrl: String = ""
- let fileName = CCUtility.createFileName(asset.value(forKey: "filename") as? String, fileDate: date, fileType: assetMediaType, keyFileName: NCGlobal.shared.keyFileNameAutoUploadMask, keyFileNameType: NCGlobal.shared.keyFileNameAutoUploadType, keyFileNameOriginal: NCGlobal.shared.keyFileNameOriginalAutoUpload, forcedNewFileName: false)!
+ let fileName = CCUtility.createFileName(asset.value(forKey: "filename") as? String, fileDate: assetDate, fileType: assetMediaType, keyFileName: NCGlobal.shared.keyFileNameAutoUploadMask, keyFileNameType: NCGlobal.shared.keyFileNameAutoUploadType, keyFileNameOriginal: NCGlobal.shared.keyFileNameOriginalAutoUpload, forcedNewFileName: false)!
if asset.mediaSubtypes.contains(.photoLive) && CCUtility.getLivePhoto() {
livePhoto = true
@@ -231,11 +228,13 @@ class NCAutoUpload: NSObject {
if selector == NCGlobal.shared.selectorUploadAutoUpload {
let idAssets = NCManageDatabase.shared.getPhotoLibraryIdAsset(image: account.autoUploadImage, video: account.autoUploadVideo, account: account.account)
assets.enumerateObjects { asset, _, _ in
+ var creationDateString = ""
if let creationDate = asset.creationDate {
- let idAsset = account.account + asset.localIdentifier + String(describing: creationDate)
- if !(idAssets?.contains(idAsset) ?? false) {
- newAssets.append(asset)
- }
+ creationDateString = String(describing: creationDate)
+ }
+ let idAsset = account.account + asset.localIdentifier + creationDateString
+ if !(idAssets?.contains(idAsset) ?? false) {
+ newAssets.append(asset)
}
}
} else {
diff --git a/iOSClient/Networking/NCNetworking.swift b/iOSClient/Networking/NCNetworking.swift
index 7ba1f58d3..10d59997c 100644
--- a/iOSClient/Networking/NCNetworking.swift
+++ b/iOSClient/Networking/NCNetworking.swift
@@ -1043,10 +1043,7 @@ import Photos
let dateFormatter = DateFormatter()
for asset in assets {
- var date = Date()
- if let assetDate = asset.creationDate {
- date = assetDate
- }
+ let date = asset.creationDate ?? Date()
dateFormatter.dateFormat = "yyyy"
let year = dateFormatter.string(from: date)
dateFormatter.dateFormat = "MM"
diff --git a/iOSClient/Utility/NCUtility.swift b/iOSClient/Utility/NCUtility.swift
index 54dcc90f6..eaa4f3e60 100644
--- a/iOSClient/Utility/NCUtility.swift
+++ b/iOSClient/Utility/NCUtility.swift
@@ -455,6 +455,9 @@ class NCUtility: NSObject {
return callCompletion(error: true)
}
+ let creationDate = asset.creationDate ?? Date()
+ let modificationDate = asset.modificationDate ?? Date()
+
if asset.mediaType == PHAssetMediaType.image && (extensionAsset == "HEIC" || extensionAsset == "DNG") && CCUtility.getFormatCompatibility() {
let fileName = (metadata.fileNameView as NSString).deletingPathExtension + ".jpg"
metadata.contentType = "image/jpeg"
@@ -468,7 +471,8 @@ class NCUtility: NSObject {
} else {
fileNamePath = NSTemporaryDirectory() + metadata.fileNameView
}
- guard let fileNamePath = fileNamePath, let creationDate = asset.creationDate, let modificationDate = asset.modificationDate else {
+
+ guard let fileNamePath = fileNamePath else {
return callCompletion(error: true)
}