]> git.r.bdr.sh - rbdr/captura/blobdiff - Captura/Data/CapturaFile.swift
Use tinted PDF for Icon
[rbdr/captura] / Captura / Data / CapturaFile.swift
index da1f2fb3fced4baa86a65eea36b8bc5951c1e527..125e90426063cf10ecaeeef46044c91ad60e3c65 100644 (file)
@@ -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)
   }
 }