Streamlining
This commit is contained in:
parent
41aa2b7c7b
commit
012cc02352
35
FakeeDeck/Class/FakeDeck.cs
Normal file
35
FakeeDeck/Class/FakeDeck.cs
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using YamlDotNet.Serialization.NamingConventions;
|
||||||
|
using YamlDotNet.Serialization;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.IO;
|
||||||
|
using System.Text.Json;
|
||||||
|
using System.Reflection;
|
||||||
|
using FakeeDeck.ButtonType;
|
||||||
|
|
||||||
|
namespace FakeeDeck.Class
|
||||||
|
{
|
||||||
|
internal class FakeDeck
|
||||||
|
{
|
||||||
|
public FakeDeck()
|
||||||
|
{
|
||||||
|
HttpServer server = new HttpServer();
|
||||||
|
|
||||||
|
foreach (var stratogem in HelldiversTwoMacro.stratogems)
|
||||||
|
{
|
||||||
|
server.pageData += HelldiversTwoMacro.getButton(stratogem.Key);
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var control in MediaMacro.mediaControls)
|
||||||
|
{
|
||||||
|
server.pageData += MediaMacro.getButton(control.Key);
|
||||||
|
}
|
||||||
|
|
||||||
|
server.serv();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -18,7 +18,7 @@ using System.Xml.Linq;
|
|||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
|
|
||||||
namespace FakeeDeck
|
namespace FakeeDeck.Class
|
||||||
{
|
{
|
||||||
internal class HttpServer
|
internal class HttpServer
|
||||||
{
|
{
|
||||||
@ -117,9 +117,9 @@ namespace FakeeDeck
|
|||||||
" <script src=\"StaticFiles/app.js\"></script>" +
|
" <script src=\"StaticFiles/app.js\"></script>" +
|
||||||
" </body>" +
|
" </body>" +
|
||||||
"</html>";
|
"</html>";
|
||||||
public static string pageData = "";
|
public string pageData = "";
|
||||||
|
|
||||||
public static async Task HandleIncomingConnections()
|
public async Task HandleIncomingConnections()
|
||||||
{
|
{
|
||||||
bool runServer = true;
|
bool runServer = true;
|
||||||
|
|
||||||
@ -192,18 +192,8 @@ namespace FakeeDeck
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void serv()
|
public void serv()
|
||||||
{
|
{
|
||||||
foreach (var stratogem in HelldiversTwoMacro.stratogems)
|
|
||||||
{
|
|
||||||
pageData += HelldiversTwoMacro.getButton(stratogem.Key);
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (var control in MediaMacro.mediaControls)
|
|
||||||
{
|
|
||||||
pageData += MediaMacro.getButton(control.Key);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create a Http server and start listening for incoming connections
|
// Create a Http server and start listening for incoming connections
|
||||||
listener = new HttpListener();
|
listener = new HttpListener();
|
||||||
listener.Prefixes.Add(url);
|
listener.Prefixes.Add(url);
|
||||||
@ -282,7 +272,6 @@ namespace FakeeDeck
|
|||||||
resp.OutputStream.Write(buffer, 0, nbytes);
|
resp.OutputStream.Write(buffer, 0, nbytes);
|
||||||
input.Close();
|
input.Close();
|
||||||
resp.OutputStream.Flush();
|
resp.OutputStream.Flush();
|
||||||
|
|
||||||
resp.StatusCode = (int)HttpStatusCode.OK;
|
resp.StatusCode = (int)HttpStatusCode.OK;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
@ -296,10 +285,10 @@ namespace FakeeDeck
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static async Task servViewResponseAsync(HttpListenerRequest req, HttpListenerResponse resp)
|
private async Task servViewResponseAsync(HttpListenerRequest req, HttpListenerResponse resp)
|
||||||
{
|
{
|
||||||
string disableSubmit = false ? "disabled" : "";
|
string disableSubmit = false ? "disabled" : "";
|
||||||
byte[] data = Encoding.UTF8.GetBytes(String.Format((pageHeader + pageData + pageFooter), pageViews, disableSubmit));
|
byte[] data = Encoding.UTF8.GetBytes(string.Format(pageHeader + this.pageData + pageFooter, pageViews, disableSubmit));
|
||||||
resp.ContentType = "text/html";
|
resp.ContentType = "text/html";
|
||||||
resp.ContentEncoding = Encoding.UTF8;
|
resp.ContentEncoding = Encoding.UTF8;
|
||||||
resp.ContentLength64 = data.LongLength;
|
resp.ContentLength64 = data.LongLength;
|
@ -1,77 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Diagnostics;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Reflection.Metadata.Ecma335;
|
|
||||||
using System.Text;
|
|
||||||
using System.Text.Json;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using static System.Runtime.InteropServices.JavaScript.JSType;
|
|
||||||
|
|
||||||
namespace FakeeDeck.Class
|
|
||||||
{
|
|
||||||
internal class YamlConfig
|
|
||||||
{
|
|
||||||
public Dictionary<string, dynamic> Data { get; private set; }
|
|
||||||
public YamlConfig(string path)
|
|
||||||
{
|
|
||||||
Data = new Dictionary<string, dynamic>();
|
|
||||||
ParseYamlFile(File.ReadAllLines(path));
|
|
||||||
}
|
|
||||||
private Dictionary<dynamic, dynamic> ParseYamlFile(string[] lines, int levelStart = 0, int linesParsedPreviuse = 0)
|
|
||||||
{
|
|
||||||
Dictionary<dynamic, dynamic> tempObject = new Dictionary<dynamic, dynamic>();
|
|
||||||
|
|
||||||
int linesParsed = 0;
|
|
||||||
|
|
||||||
if ((linesParsed + linesParsedPreviuse) <= lines.Length)
|
|
||||||
{
|
|
||||||
int level = 0;
|
|
||||||
int iterator = 0;
|
|
||||||
foreach (string line in lines)
|
|
||||||
{
|
|
||||||
level = line.Count(x => x == '\t');
|
|
||||||
|
|
||||||
linesParsed++;
|
|
||||||
if (string.IsNullOrEmpty(line))
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
Console.WriteLine(level + ">"+ levelStart + " level " + linesParsedPreviuse + " Lines handeled previouselly '" + line + "'");
|
|
||||||
if ((level > levelStart || levelStart == 0))
|
|
||||||
{
|
|
||||||
if (line.Contains(":"))
|
|
||||||
{
|
|
||||||
Console.WriteLine("Key:Value Pair");
|
|
||||||
iterator = 0;
|
|
||||||
string[] array = line.Split(":");
|
|
||||||
string key = array[0].Trim('\t');
|
|
||||||
dynamic value = "";
|
|
||||||
|
|
||||||
if (array.Length > 1 && !string.IsNullOrEmpty(array[1]))
|
|
||||||
{
|
|
||||||
Console.WriteLine("Strict Value Found: " + array[1]);
|
|
||||||
tempObject.Add(key,array[1]);
|
|
||||||
}
|
|
||||||
else if (array.Length == 2 && string.IsNullOrEmpty(array[1]) && lines[linesParsed..lines.Length].Length > 0)
|
|
||||||
{
|
|
||||||
tempObject.Add(key, ParseYamlFile(lines[linesParsed..lines.Length], level, linesParsed));
|
|
||||||
}
|
|
||||||
} else
|
|
||||||
{
|
|
||||||
iterator++;
|
|
||||||
tempObject.Add(iterator,line);
|
|
||||||
}
|
|
||||||
} else if (level < levelStart)
|
|
||||||
{
|
|
||||||
Console.WriteLine("Level DOwns");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Debug.WriteLine(JsonSerializer.Serialize(tempObject));
|
|
||||||
return tempObject;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -11,6 +11,10 @@
|
|||||||
<Folder Include="StaticFiles\" />
|
<Folder Include="StaticFiles\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="YamlDotNet" Version="16.1.0" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Update="configuration.yaml">
|
<None Update="configuration.yaml">
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
@ -4,8 +4,4 @@ using System.Diagnostics;
|
|||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
|
|
||||||
|
|
||||||
YamlConfig parser = new YamlConfig("configuration.yaml");
|
FakeDeck fakeDeck = new FakeDeck();
|
||||||
var result = parser.Data;
|
|
||||||
Console.WriteLine(JsonSerializer.Serialize(result));
|
|
||||||
|
|
||||||
//HttpServer.serv();
|
|
@ -5,26 +5,6 @@ server:
|
|||||||
pages:
|
pages:
|
||||||
- page: helldivers,
|
- page: helldivers,
|
||||||
buttons:
|
buttons:
|
||||||
- button: b_1,
|
- button: reinforce,
|
||||||
name: test,
|
name: reinforce,
|
||||||
type: keyboard,
|
type: HelldiversTwoMacro,
|
||||||
url: https://www.reddit.com/r/kde/comments/fen7lj/plasmoid_for_managing_docker_containers/,
|
|
||||||
action:
|
|
||||||
- 0x31
|
|
||||||
- 0x31
|
|
||||||
- button: b_2,
|
|
||||||
name: test,
|
|
||||||
type: keyboard,
|
|
||||||
url: https://www.reddit.com/r/kde/comments/fen7lj/plasmoid_for_managing_docker_containers/,
|
|
||||||
action:
|
|
||||||
- 0x31
|
|
||||||
- 0x31
|
|
||||||
- page: media,
|
|
||||||
buttons:
|
|
||||||
- button: b_1,
|
|
||||||
name: test,
|
|
||||||
type: keyboard,
|
|
||||||
url: https://www.reddit.com/,
|
|
||||||
action:
|
|
||||||
- 0x31
|
|
||||||
- 0x31
|
|
Loading…
Reference in New Issue
Block a user