X-Git-Url: https://git.r.bdr.sh/rbdr/captura/blobdiff_plain/f5d16c1c8c259966338b23afd407d142f72784aa..refs/heads/main:/Captura/Data/CapturaFile.swift?ds=inline diff --git a/Captura/Data/CapturaFile.swift b/Captura/Data/CapturaFile.swift index da1f2fb..125e904 100644 --- a/Captura/Data/CapturaFile.swift +++ b/Captura/Data/CapturaFile.swift @@ -1,31 +1,52 @@ +/* + Copyright (C) 2024 Rubén Beltrán del Río + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see https://captura.tranquil.systems. + */ import Foundation struct CapturaFile { - + let name: String let baseDirectory: URL let appDirectory: String = "captura" - + private var baseURL: URL { baseDirectory.appendingPathComponent("\(appDirectory)/\(name)") } - + var mp4URL: URL { return baseURL.appendingPathExtension("mp4") } - + var gifURL: URL { return baseURL.appendingPathExtension("gif") } - + init() { let dateFormatter = DateFormatter() dateFormatter.dateStyle = .medium dateFormatter.timeStyle = .medium dateFormatter.locale = Locale.current let dateString = dateFormatter.string(from: Date()).replacingOccurrences(of: ":", with: ".") - + self.name = "Captura \(dateString)" - self.baseDirectory = FileManager.default.urls(for: .picturesDirectory, in: .userDomainMask).first! + self.baseDirectory = FileManager.default.urls(for: .picturesDirectory, in: .userDomainMask) + .first! + try? FileManager.default.createDirectory( + at: self.baseDirectory.appendingPathComponent(appDirectory), + withIntermediateDirectories: true, + attributes: nil) } }