X-Git-Url: http://git.euphorik.ch/?p=master-thesis.git;a=blobdiff_plain;f=Parasitemia%2FParasitemiaUI%2FUtils.fs;h=97c74252cca4997ae76779f5e42a73d5b045f63d;hp=5b3ba712f4fb2da9af9da254411937e87be2448f;hb=a6aee26e20f3b24e6b07120cf95a7221dc072778;hpb=b87b35b922551f122228df1fd9c530bbb807935a diff --git a/Parasitemia/ParasitemiaUI/Utils.fs b/Parasitemia/ParasitemiaUI/Utils.fs index 5b3ba71..97c7425 100644 --- a/Parasitemia/ParasitemiaUI/Utils.fs +++ b/Parasitemia/ParasitemiaUI/Utils.fs @@ -7,8 +7,8 @@ open Newtonsoft.Json.Converters open Types -let listAsStr (s : 'a seq) = - s |> Seq.fold (fun acc obj -> acc + (if acc = "" then "" else ", ") + obj.ToString()) "" +let inline listAsStr (s : 'a seq) = + s |> Seq.fold (fun acc obj -> acc + (if acc = "" then "" else ", ") + string obj) "" let percentText (nbTotal : int, nb : int) : string = if nbTotal = 0 then @@ -18,34 +18,36 @@ let percentText (nbTotal : int, nb : int) : string = sprintf "%.1f %% (%d / %d)" percent nb nbTotal let roamingDir = - Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData), "Parasitemia") + Path.Combine (System.Environment.GetFolderPath (System.Environment.SpecialFolder.ApplicationData), "Parasitemia") let predefinedPPIFilename = "predefined-ppi.json" -let predefinedPPIFilepath = Path.Combine(roamingDir, predefinedPPIFilename) +let predefinedPPIFilepath = Path.Combine (roamingDir, predefinedPPIFilename) let sensorSizesFilename = "sensor-sizes.json" -let sensorSizesFilepath = Path.Combine(roamingDir, sensorSizesFilename) +let sensorSizesFilepath = Path.Combine (roamingDir, sensorSizesFilename) let private savePredefinedPPIToFile (predefinedPPI : PredefinedPPI list) = try - use file = new StreamWriter(predefinedPPIFilepath) - file.Write(JsonConvert.SerializeObject(predefinedPPI, JsonSerializerSettings(Formatting = Formatting.Indented))) + Directory.CreateDirectory roamingDir |> ignore + use file = new StreamWriter (predefinedPPIFilepath) + file.Write (JsonConvert.SerializeObject (predefinedPPI, JsonSerializerSettings (Formatting = Formatting.Indented))) with ex -> - Logger.Log.Error("Unable to save predefined PPI to file \"{0}\": {1}", predefinedPPIFilepath, ex) + Logger.Log.Error "Unable to save predefined PPI to file \"%s\": %O" predefinedPPIFilepath ex let private saveSensorSizesToFile (sensorSizes : SensorSize list) = try - use file = new StreamWriter(sensorSizesFilepath) - file.Write(JsonConvert.SerializeObject(sensorSizes, JsonSerializerSettings(Formatting = Formatting.Indented))) + Directory.CreateDirectory roamingDir |> ignore + use file = new StreamWriter (sensorSizesFilepath) + file.Write (JsonConvert.SerializeObject (sensorSizes, JsonSerializerSettings (Formatting = Formatting.Indented))) with ex -> - Logger.Log.Error("Unable to save sensor sizes to file \"{0}\": {1}", sensorSizesFilepath, ex) + Logger.Log.Error "Unable to save sensor sizes to file \"%s\": %O" sensorSizesFilepath ex let predefinedPPI : PredefinedPPI list = try - use file = new StreamReader(predefinedPPIFilepath) - JsonConvert.DeserializeObject(file.ReadToEnd()) + use file = new StreamReader (predefinedPPIFilepath) + JsonConvert.DeserializeObject (file.ReadToEnd ()) with | ex -> savePredefinedPPIToFile defaultPredefinedPPI @@ -53,8 +55,8 @@ let predefinedPPI : PredefinedPPI list = let sensorSizes : SensorSize list = try - use file = new StreamReader(sensorSizesFilepath) - JsonConvert.DeserializeObject(file.ReadToEnd()) + use file = new StreamReader (sensorSizesFilepath) + JsonConvert.DeserializeObject (file.ReadToEnd ()) with | ex -> saveSensorSizesToFile defaultSensorSizes