diff options
author | Marino Faggiana <marino@marinofaggiana.com> | 2022-11-01 14:56:54 +0300 |
---|---|---|
committer | Marino Faggiana <marino@marinofaggiana.com> | 2022-11-01 14:56:54 +0300 |
commit | aa11837b1e79095a5952d5e37172c90a1f6cec39 (patch) | |
tree | 0b7cdb0b1c534d88216983a50f5a3b50b4b44b00 | |
parent | d34404423bfc11b97184fd9ea8f20e723aad92a4 (diff) |
improved autoupload
Signed-off-by: Marino Faggiana <marino@marinofaggiana.com>
-rw-r--r-- | iOSClient/Data/NCManageDatabase.swift | 7 | ||||
-rw-r--r-- | iOSClient/Main/Create cloud/NCCreateFormUploadAssets.swift | 15 | ||||
-rw-r--r-- | iOSClient/Networking/NCAutoUpload.swift | 21 | ||||
-rw-r--r-- | iOSClient/Networking/NCNetworking.swift | 5 | ||||
-rw-r--r-- | iOSClient/Utility/NCUtility.swift | 6 |
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) } |