mirror of
https://github.com/kiwix/kiwix-apple.git
synced 2025-09-22 11:03:21 -04:00
Fixlint
This commit is contained in:
parent
9d5dc55c2e
commit
5025508f95
@ -146,8 +146,11 @@ final class DownloadService: NSObject, URLSessionDelegate, URLSessionTaskDelegat
|
|||||||
context.delete(downloadTask)
|
context.delete(downloadTask)
|
||||||
try context.save()
|
try context.save()
|
||||||
} catch {
|
} catch {
|
||||||
|
let fileId = zimFileID.uuidString
|
||||||
|
let errorDesc = error.localizedDescription
|
||||||
Log.DownloadService.error(
|
Log.DownloadService.error(
|
||||||
"Error deleting download task for zimFile: \(zimFileID.uuidString, privacy: .public). Error: \(error.localizedDescription, privacy: .public)")
|
"Error deleting download task for: \(fileId, privacy: .public), \(errorDesc, privacy: .public)"
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -187,13 +190,15 @@ final class DownloadService: NSObject, URLSessionDelegate, URLSessionTaskDelegat
|
|||||||
// download finished successfully if there's no error
|
// download finished successfully if there's no error
|
||||||
// and the status code is in the 200 < 300 range
|
// and the status code is in the 200 < 300 range
|
||||||
guard let error = error as NSError? else {
|
guard let error = error as NSError? else {
|
||||||
|
let fileId = zimFileID.uuidString
|
||||||
if (200..<300).contains(httpResponse.statusCode) {
|
if (200..<300).contains(httpResponse.statusCode) {
|
||||||
Log.DownloadService.info(
|
Log.DownloadService.info(
|
||||||
"Download finished successfully. File ID: \(zimFileID.uuidString, privacy: .public)",
|
"Download Ok, zimId: \(fileId, privacy: .public)",
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
Log.DownloadService.info(
|
let statusCode = httpResponse.statusCode
|
||||||
"Download was unsuccessful. File ID: \(zimFileID.uuidString, privacy: .public). status code: \(httpResponse.statusCode, privacy: .public)")
|
Log.DownloadService.error(
|
||||||
|
"Download error: \(fileId, privacy: .public). status code: \(statusCode, privacy: .public)")
|
||||||
self.deleteDownloadTask(zimFileID: zimFileID)
|
self.deleteDownloadTask(zimFileID: zimFileID)
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
@ -218,7 +223,10 @@ final class DownloadService: NSObject, URLSessionDelegate, URLSessionTaskDelegat
|
|||||||
try? context.save()
|
try? context.save()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Log.DownloadService.error("Download finished for File ID: \(zimFileID.uuidString, privacy: .public). with: \(error.localizedDescription, privacy: .public)")
|
let fileId = zimFileID.uuidString
|
||||||
|
let errorDesc = error.localizedDescription
|
||||||
|
Log.DownloadService.error(
|
||||||
|
"Finished for zimId: \(fileId, privacy: .public). with: \(errorDesc, privacy: .public)")
|
||||||
}
|
}
|
||||||
|
|
||||||
// MARK: - URLSessionDownloadDelegate
|
// MARK: - URLSessionDownloadDelegate
|
||||||
@ -237,13 +245,21 @@ final class DownloadService: NSObject, URLSessionDelegate, URLSessionTaskDelegat
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// swiftlint:disable:next function_body_length
|
||||||
func urlSession(_ session: URLSession,
|
func urlSession(_ session: URLSession,
|
||||||
downloadTask: URLSessionDownloadTask,
|
downloadTask: URLSessionDownloadTask,
|
||||||
didFinishDownloadingTo location: URL) {
|
didFinishDownloadingTo location: URL) {
|
||||||
guard let httpResponse = downloadTask.response as? HTTPURLResponse else { return }
|
guard let httpResponse = downloadTask.response as? HTTPURLResponse else {
|
||||||
|
Log.DownloadService.fault("Response is not an HTTPURLResponse")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
let taskId = downloadTask.taskDescription ?? ""
|
||||||
guard (200..<300).contains(httpResponse.statusCode) else {
|
guard (200..<300).contains(httpResponse.statusCode) else {
|
||||||
Log.DownloadService.error("Download didFinish failed with http status for: \(downloadTask.taskIdentifier.description, privacy: .public), httpStatusCode: \(httpResponse.statusCode, privacy: .public)")
|
let taskId = downloadTask.taskIdentifier.description
|
||||||
|
let statusCode = httpResponse.statusCode
|
||||||
|
Log.DownloadService.error(
|
||||||
|
"didFinish failed for: \(taskId, privacy: .public), status: \(statusCode, privacy: .public)")
|
||||||
Task { @MainActor in
|
Task { @MainActor in
|
||||||
NotificationCenter.default.post(
|
NotificationCenter.default.post(
|
||||||
name: .alert,
|
name: .alert,
|
||||||
@ -262,27 +278,40 @@ final class DownloadService: NSObject, URLSessionDelegate, URLSessionTaskDelegat
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// move file
|
// move file
|
||||||
|
|
||||||
guard let directory = FileManager.default.urls(for: searchPath, in: .userDomainMask).first else {
|
guard let directory = FileManager.default.urls(for: searchPath, in: .userDomainMask).first else {
|
||||||
Log.DownloadService.fault("Cannot find download directory!! downloadTask: \(downloadTask.taskDescription ?? "", privacy: .public)")
|
Log.DownloadService.fault(
|
||||||
|
"Cannot find download directory! downloadTask: \(taskId ?? "", privacy: .public)"
|
||||||
|
)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
guard let zimFileID = UUID(uuidString: downloadTask.taskDescription ?? "") else {
|
guard let zimFileID = UUID(uuidString: taskId) else {
|
||||||
Log.DownloadService.fault("Cannot convert downloadTask to zimFileID: \(downloadTask.taskDescription ?? "", privacy: .public)")
|
Log.DownloadService.fault(
|
||||||
|
"Cannot convert downloadTask to zimFileID: \(taskId, privacy: .public)"
|
||||||
|
)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
let fileName = downloadTask.response?.suggestedFilename
|
let fileName = downloadTask.response?.suggestedFilename
|
||||||
?? downloadTask.originalRequest?.url?.lastPathComponent
|
?? downloadTask.originalRequest?.url?.lastPathComponent
|
||||||
?? zimFileID.uuidString + ".zim"
|
?? zimFileID.uuidString + ".zim"
|
||||||
let destination = directory.appendingPathComponent(fileName)
|
let destination = directory.appendingPathComponent(fileName)
|
||||||
Log.DownloadService.info("Start moving downloaded zimFile: \(fileName, privacy: .public), zimFileID: \(zimFileID.uuidString, privacy: .public)")
|
Log.DownloadService.info(
|
||||||
|
"Start moving zimFile: \(fileName, privacy: .public), \(zimFileID.uuidString, privacy: .public)"
|
||||||
|
)
|
||||||
try? FileManager.default.moveItem(at: location, to: destination)
|
try? FileManager.default.moveItem(at: location, to: destination)
|
||||||
Log.DownloadService.info("Completed moving downloaded zimFile: \(zimFileID.uuidString, privacy: .public)")
|
Log.DownloadService.info(
|
||||||
|
"Completed moving zimFile: \(zimFileID.uuidString, privacy: .public)"
|
||||||
|
)
|
||||||
|
|
||||||
// open the file
|
// open the file
|
||||||
Task { @ZimActor in
|
Task { @ZimActor in
|
||||||
Log.DownloadService.info("start opening downloaded zimFile: \(zimFileID.uuidString, privacy: .public)")
|
Log.DownloadService.info(
|
||||||
|
"start opening zimFile: \(zimFileID.uuidString, privacy: .public)"
|
||||||
|
)
|
||||||
await LibraryOperations.open(url: destination)
|
await LibraryOperations.open(url: destination)
|
||||||
Log.DownloadService.info("opened downloaded zimFile: \(zimFileID.uuidString, privacy: .public)")
|
Log.DownloadService.info(
|
||||||
|
"opened downloaded zimFile: \(zimFileID.uuidString, privacy: .public)"
|
||||||
|
)
|
||||||
// schedule notification
|
// schedule notification
|
||||||
scheduleDownloadCompleteNotification(zimFileID: zimFileID)
|
scheduleDownloadCompleteNotification(zimFileID: zimFileID)
|
||||||
deleteDownloadTask(zimFileID: zimFileID)
|
deleteDownloadTask(zimFileID: zimFileID)
|
||||||
|
@ -91,7 +91,9 @@ struct LibraryOperations {
|
|||||||
try? context.save()
|
try? context.save()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Log.LibraryOperations.info("Reopened \(successCount, privacy: .public) out of \(zimFiles.count, privacy: .public) zim files")
|
Log.LibraryOperations.info(
|
||||||
|
"Reopened \(successCount, privacy: .public) out of \(zimFiles.count, privacy: .public) zim files"
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Scan a directory and open available zim files inside it
|
/// Scan a directory and open available zim files inside it
|
||||||
@ -208,9 +210,12 @@ struct LibraryOperations {
|
|||||||
try url.setResourceValues(resourceValues)
|
try url.setResourceValues(resourceValues)
|
||||||
}
|
}
|
||||||
let status = backupDocumentDirectory ? "backing up" : "not backing up"
|
let status = backupDocumentDirectory ? "backing up" : "not backing up"
|
||||||
Log.LibraryOperations.info("Applying zim file backup setting (\(status, privacy: .public)) on \(urls.count, privacy: .public) zim file(s).")
|
let fileCount = urls.count
|
||||||
|
Log.LibraryOperations.info(
|
||||||
|
"Updated iCloud backup setting (\(status, privacy: .public)) on files: \(fileCount, privacy: .public)")
|
||||||
} catch {
|
} catch {
|
||||||
Log.LibraryOperations.error("Unable to change iCloud backup settings, due to \(error.localizedDescription, privacy: .public)")
|
Log.LibraryOperations.error(
|
||||||
|
"Unable to change iCloud backup settings, due to \(error.localizedDescription, privacy: .public)")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -445,7 +445,11 @@ final class BrowserViewModel: NSObject, ObservableObject,
|
|||||||
return .cancel
|
return .cancel
|
||||||
} else if url.isZIMURL {
|
} else if url.isZIMURL {
|
||||||
guard await ZimFileService.shared.getContentSize(url: url) != nil else {
|
guard await ZimFileService.shared.getContentSize(url: url) != nil else {
|
||||||
Log.URLSchemeHandler.error("Missing content at url: \(url.absoluteString, privacy: .public) => \(url.contentPath, privacy: .public)")
|
let urlString = url.absoluteString
|
||||||
|
let path = url.contentPath
|
||||||
|
Log.URLSchemeHandler.error(
|
||||||
|
"Missing content at url: \(urlString, privacy: .public) => \(path, privacy: .public)"
|
||||||
|
)
|
||||||
if navigationAction.request.mainDocumentURL == url {
|
if navigationAction.request.mainDocumentURL == url {
|
||||||
// only show alerts for missing main document
|
// only show alerts for missing main document
|
||||||
NotificationCenter.default.post(
|
NotificationCenter.default.post(
|
||||||
|
@ -207,7 +207,11 @@ final class LibraryViewModel: ObservableObject {
|
|||||||
let insertedCount = insertionCount
|
let insertedCount = insertionCount
|
||||||
let deletedCount = deletionCount
|
let deletedCount = deletionCount
|
||||||
let totalCount = parser.zimFileIDs.count
|
let totalCount = parser.zimFileIDs.count
|
||||||
Log.OPDS.notice("Refresh finished -- insertion: \(insertedCount, privacy: .public), deletion: \(deletedCount, privacy: .public), total: \(totalCount, privacy: .public)")
|
Log.OPDS.notice("""
|
||||||
|
Refresh finished -- insertion: \(insertedCount, privacy: .public), \
|
||||||
|
deletion: \(deletedCount, privacy: .public), \
|
||||||
|
total: \(totalCount, privacy: .public)
|
||||||
|
""")
|
||||||
} catch {
|
} catch {
|
||||||
self.error = error
|
self.error = error
|
||||||
process.state = .error
|
process.state = .error
|
||||||
|
Loading…
x
Reference in New Issue
Block a user