geekbot/Geekbot.net/Lib/BootTasks.cs
2017-04-18 14:08:56 +02:00

40 lines
No EOL
1.4 KiB
C#

using System;
using System.Collections.Generic;
using System.IO;
using System.Runtime.Serialization.Json;
using System.Threading.Tasks;
using Geekbot.net.Modules;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace Geekbot.net.Lib
{
public class BootTasks
{
public static async Task CheckSettingsFile()
{
// ToDO: Check settings file, if invalid, reconfig it
// Console.WriteLine(Path.GetFullPath("./settings.json"));
}
public static void ParseOldDatabase(string path)
{
Console.WriteLine("Starting Database Conversion...");
path = Path.GetFullPath(path);
Console.WriteLine($"Old db location: {path}");
var redis = new RedisClient().Client;
Console.WriteLine("Connected to Redis...");
var allfiles = Directory.GetFiles(path, "*.json", SearchOption.AllDirectories);
foreach ( var file in allfiles)
{
var info = new FileInfo(file);
if (info.Name.StartsWith("-")) continue;
Console.WriteLine(info.FullName);
dynamic json = JObject.Parse(File.ReadAllText(file));
var key = info.Name.Substring(0, info.Name.Length - 5) + "-messages";
Console.WriteLine($"{key} - {json.messages}");
redis.StringSet(key, json.messages.ToString());
}
}
}
}