mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-15 20:54:55 +00:00
Merge branch 'development' into feature/add-camera-config-props
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
using Crestron.SimplSharp;
|
using Crestron.SimplSharp;
|
||||||
using Crestron.SimplSharp.CrestronIO;
|
using Crestron.SimplSharp.CrestronIO;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
@@ -12,8 +13,14 @@ namespace PepperDash.Essentials.Core.Config
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Loads the ConfigObject from the file
|
/// Loads the ConfigObject from the file
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class ConfigReader
|
public class ConfigReader
|
||||||
{
|
{
|
||||||
|
public const string LocalConfigPresent =
|
||||||
|
@"
|
||||||
|
***************************************************
|
||||||
|
************* Using Local config file *************
|
||||||
|
***************************************************";
|
||||||
|
|
||||||
public static EssentialsConfig ConfigObject { get; private set; }
|
public static EssentialsConfig ConfigObject { get; private set; }
|
||||||
|
|
||||||
public static bool LoadConfig2()
|
public static bool LoadConfig2()
|
||||||
@@ -40,10 +47,10 @@ namespace PepperDash.Essentials.Core.Config
|
|||||||
"****Error: Multiple Local Configuration files present. Please ensure only a single file exists and reset program.****");
|
"****Error: Multiple Local Configuration files present. Please ensure only a single file exists and reset program.****");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if(configFiles.Length == 1)
|
if(configFiles.Length == 1)
|
||||||
{
|
{
|
||||||
localConfigFound = true;
|
localConfigFound = true;
|
||||||
Debug.Console(0, Debug.ErrorLogLevel.Notice, "Found Local config file: '{0}'", filePath);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -91,7 +98,13 @@ namespace PepperDash.Essentials.Core.Config
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Get the actual file path
|
// Get the actual file path
|
||||||
filePath = configFiles[0].FullName;
|
filePath = configFiles[0].FullName;
|
||||||
|
|
||||||
|
// Generate debug statement if using a local file.
|
||||||
|
if (localConfigFound)
|
||||||
|
{
|
||||||
|
GetLocalFileMessage(filePath);
|
||||||
|
}
|
||||||
|
|
||||||
// Read the file
|
// Read the file
|
||||||
using (StreamReader fs = new StreamReader(filePath))
|
using (StreamReader fs = new StreamReader(filePath))
|
||||||
@@ -177,7 +190,65 @@ namespace PepperDash.Essentials.Core.Config
|
|||||||
{
|
{
|
||||||
var dev = ConfigObject.Devices.FirstOrDefault(d => d.Key.Equals(key, StringComparison.OrdinalIgnoreCase));
|
var dev = ConfigObject.Devices.FirstOrDefault(d => d.Key.Equals(key, StringComparison.OrdinalIgnoreCase));
|
||||||
return dev == null ? null : dev.Group;
|
return dev == null ? null : dev.Group;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void GetLocalFileMessage(string filePath)
|
||||||
|
{
|
||||||
|
var filePathLength = filePath.Length + 2;
|
||||||
|
var debugStringWidth = filePathLength + 12;
|
||||||
|
|
||||||
|
if (debugStringWidth < 51)
|
||||||
|
{
|
||||||
|
debugStringWidth = 51;
|
||||||
|
}
|
||||||
|
var qualifier = (filePathLength % 2 != 0)
|
||||||
|
? " Using Local Config File "
|
||||||
|
: " Using Local Config File ";
|
||||||
|
var bookend1 = (debugStringWidth - qualifier.Length) / 2;
|
||||||
|
var bookend2 = (debugStringWidth - filePathLength) / 2;
|
||||||
|
|
||||||
|
|
||||||
|
var newDebugString = new StringBuilder()
|
||||||
|
.Append(CrestronEnvironment.NewLine)
|
||||||
|
// Line 1
|
||||||
|
.Append(new string('*', debugStringWidth))
|
||||||
|
.Append(CrestronEnvironment.NewLine)
|
||||||
|
// Line 2
|
||||||
|
.Append(new string('*', debugStringWidth))
|
||||||
|
.Append(CrestronEnvironment.NewLine)
|
||||||
|
// Line 3
|
||||||
|
.Append(new string('*', 2))
|
||||||
|
.Append(new string(' ', debugStringWidth - 4))
|
||||||
|
.Append(new string('*', 2))
|
||||||
|
.Append(CrestronEnvironment.NewLine)
|
||||||
|
// Line 4
|
||||||
|
.Append(new string('*', 2))
|
||||||
|
.Append(new string(' ', bookend1 - 2))
|
||||||
|
.Append(qualifier)
|
||||||
|
.Append(new string(' ', bookend1 - 2))
|
||||||
|
.Append(new string('*', 2))
|
||||||
|
.Append(CrestronEnvironment.NewLine)
|
||||||
|
// Line 5
|
||||||
|
.Append(new string('*', 2))
|
||||||
|
.Append(new string(' ', bookend2 - 2))
|
||||||
|
.Append(" " + filePath + " ")
|
||||||
|
.Append(new string(' ', bookend2 - 2))
|
||||||
|
.Append(new string('*', 2))
|
||||||
|
.Append(CrestronEnvironment.NewLine)
|
||||||
|
// Line 6
|
||||||
|
.Append(new string('*', 2))
|
||||||
|
.Append(new string(' ', debugStringWidth - 4))
|
||||||
|
.Append(new string('*', 2))
|
||||||
|
.Append(CrestronEnvironment.NewLine)
|
||||||
|
// Line 7
|
||||||
|
.Append(new string('*', debugStringWidth))
|
||||||
|
.Append(CrestronEnvironment.NewLine)
|
||||||
|
// Line 8
|
||||||
|
.Append(new string('*', debugStringWidth));
|
||||||
|
|
||||||
|
Debug.Console(2, Debug.ErrorLogLevel.Notice, "Found Local config file: '{0}'", filePath);
|
||||||
|
Debug.Console(0, newDebugString.ToString());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.Linq;
|
||||||
using Crestron.SimplSharpPro;
|
using Crestron.SimplSharpPro;
|
||||||
using Crestron.SimplSharpPro.DeviceSupport;
|
using Crestron.SimplSharpPro.DeviceSupport;
|
||||||
using Crestron.SimplSharpPro.DM;
|
using Crestron.SimplSharpPro.DM;
|
||||||
|
|||||||
Reference in New Issue
Block a user