aboutsummaryrefslogtreecommitdiff
path: root/Captura/Data/CapturaURLDecoder.swift
diff options
context:
space:
mode:
authorRuben Beltran del Rio <ruben@unlimited.pizza>2023-07-31 18:32:58 +0200
committerRuben Beltran del Rio <ruben@unlimited.pizza>2023-07-31 18:32:58 +0200
commit8e9321304ca80e9ada7ac01058a5f4603cb37fab (patch)
treecd83e354e09ae6cdf25e06147458415b70f9afbc /Captura/Data/CapturaURLDecoder.swift
parentba17de891507da74fb07423803fd636a4457354c (diff)
Add URL parsing for record action
Diffstat (limited to 'Captura/Data/CapturaURLDecoder.swift')
-rw-r--r--Captura/Data/CapturaURLDecoder.swift22
1 files changed, 21 insertions, 1 deletions
diff --git a/Captura/Data/CapturaURLDecoder.swift b/Captura/Data/CapturaURLDecoder.swift
index 3fa6412..f4c325b 100644
--- a/Captura/Data/CapturaURLDecoder.swift
+++ b/Captura/Data/CapturaURLDecoder.swift
@@ -25,6 +25,8 @@ protocol RecordActionProtocol {
var backendOutput: OutputFormatSetting? { get }
var keepLocalFiles: Bool? { get }
var autoStart: Bool? { get }
+ var skipBackend: Bool { get }
+ var maxLength: Int? { get }
}
// The concrete implementations
@@ -51,6 +53,8 @@ struct RecordAction: RecordActionProtocol {
var backendOutput: OutputFormatSetting?
var keepLocalFiles: Bool?
var autoStart: Bool?
+ var skipBackend: Bool
+ var maxLength: Int?
}
enum CapturaAction {
@@ -113,15 +117,28 @@ struct CapturaURLDecoder {
let keepLocalFiles = Bool(paramsDict["keep_local_files"] as? String ?? "")
let outputs = OutputFormatSetting(paramsDict["outputs"] as? String ?? "")
var backendOutput = OutputFormatSetting(paramsDict["backend_output"] as? String ?? "")
+ let autoStart = Bool(paramsDict["auto_start"] as? String ?? "")
+ var maxLength = Int(paramsDict["max_length"] as? String ?? "")
if fps != nil {
fps = min(10, max(4, fps!))
}
+ if maxLength != nil {
+ maxLength = min(300, max(1, fps!))
+ }
+
if backendOutput == .all {
backendOutput = .gifOnly
}
+ var skipBackend = false
+ if let backendString = paramsDict["backend"] as? String {
+ if backendString == "" {
+ skipBackend = true
+ }
+ }
+
return .record(RecordAction(
action: action,
x: x,
@@ -134,7 +151,10 @@ struct CapturaURLDecoder {
outputs: outputs,
backend: backend,
backendOutput: backendOutput,
- keepLocalFiles: keepLocalFiles
+ keepLocalFiles: keepLocalFiles,
+ autoStart: autoStart,
+ skipBackend: skipBackend,
+ maxLength: maxLength
))
default: