Skip to content
Snippets Groups Projects
Commit 8a6e2d5a authored by Thomas Evensen's avatar Thomas Evensen
Browse files

Update

parent a8289c9f
No related branches found
No related tags found
No related merge requests found
...@@ -9,12 +9,15 @@ import Foundation ...@@ -9,12 +9,15 @@ import Foundation
final class ReadTestdataFromGitHub { final class ReadTestdataFromGitHub {
var testconfigurations = [TestSynchronizeConfiguration]() var testconfigurations = [TestSynchronizeConfiguration]()
private var urlJSONuiconfig: String = "https://raw.githubusercontent.com/rsyncOSX/RsyncArguments/master/Testdata/rsyncuiconfig.json"
private var urlJSON: String = "https://raw.githubusercontent.com/rsyncOSX/RsyncArguments/master/Testdata/configurations.json"
func getdata() async { func getdata() async {
let testdata = TestdataFromGitHub() let testdata = TestdataFromGitHub()
// Load user configuration // Load user configuration
do { do {
if let userconfig = try await testdata.getrsyncuiconfigbyURL() { if let userconfig = try await
testdata.loadanddecodestringdata(DecodeTestUserConfiguration.self, fromwhere: urlJSONuiconfig) {
await TestUserConfiguration(userconfig) await TestUserConfiguration(userconfig)
print("ReadTestdataFromGitHub: loading userconfiguration COMPLETED)") print("ReadTestdataFromGitHub: loading userconfiguration COMPLETED)")
} }
...@@ -24,7 +27,7 @@ final class ReadTestdataFromGitHub { ...@@ -24,7 +27,7 @@ final class ReadTestdataFromGitHub {
} }
// Load data // Load data
do { do {
if let testdata = try await testdata.gettestdatabyURL() { if let testdata = try await testdata.loadanddecodearraydata(DecodeTestdata.self, fromwhere: urlJSON) {
testconfigurations.removeAll() testconfigurations.removeAll()
for i in 0 ..< testdata.count { for i in 0 ..< testdata.count {
var configuration = TestSynchronizeConfiguration(testdata[i]) var configuration = TestSynchronizeConfiguration(testdata[i])
......
...@@ -11,23 +11,19 @@ struct TestdataFromGitHub { ...@@ -11,23 +11,19 @@ struct TestdataFromGitHub {
let urlSession = URLSession.shared let urlSession = URLSession.shared
let jsonDecoder = JSONDecoder() let jsonDecoder = JSONDecoder()
private var urlJSON: String = "https://raw.githubusercontent.com/rsyncOSX/RsyncArguments/master/Testdata/configurations.json" func loadanddecodestringdata<T: Codable>(_ t: T.Type, fromwhere: String) async throws -> T? {
if let url = URL(string: fromwhere) {
func gettestdatabyURL() async throws -> [DecodeTestdata]? {
if let url = URL(string: urlJSON) {
let (data, _) = try await urlSession.gettestdata(for: url) let (data, _) = try await urlSession.gettestdata(for: url)
return try jsonDecoder.decode([DecodeTestdata].self, from: data) return try jsonDecoder.decode(T.self, from: data)
} else { } else {
return nil return nil
} }
} }
private var urlJSONuiconfig: String = "https://raw.githubusercontent.com/rsyncOSX/RsyncArguments/master/Testdata/rsyncuiconfig.json" func loadanddecodearraydata<T: Codable>(_ t: T.Type, fromwhere: String) async throws -> [T]? {
if let url = URL(string: fromwhere) {
func getrsyncuiconfigbyURL() async throws -> DecodeTestUserConfiguration? {
if let url = URL(string: urlJSONuiconfig) {
let (data, _) = try await urlSession.gettestdata(for: url) let (data, _) = try await urlSession.gettestdata(for: url)
return try jsonDecoder.decode(DecodeTestUserConfiguration.self, from: data) return try jsonDecoder.decode([T].self, from: data)
} else { } else {
return nil return nil
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment