separated classes into files

This commit is contained in:
Timerix 2025-03-20 13:46:01 +05:00
parent 1fa3e4eb6e
commit 60f24d6907
6 changed files with 57 additions and 35 deletions

View File

@ -24,4 +24,6 @@ public abstract class Parser
{
}
public abstract SaveData Parse();
}

View File

@ -5,4 +5,11 @@ public class ParserEU4 : Parser
public ParserEU4(Stream savefile) : base(savefile)
{
}
public override SaveData Parse()
{
var saveData = new SaveData();
return saveData;
}
}

View File

@ -0,0 +1,6 @@
namespace ParadoxSaveParser.Lib;
public class SaveData
{
}

View File

@ -0,0 +1,12 @@
using System.IO;
namespace ParadoxSaveParser.WebAPI;
public static class PathHelper
{
public const string DATA_DIR = "data";
public static string SAVES_DIR = Path.Join(DATA_DIR, "saves");
public static string GetMetaFilePath(string save_id) => Path.Join(SAVES_DIR, save_id + ".meta.json");
public static string GetEU4SaveFilePath(string save_id) => Path.Join(SAVES_DIR, save_id + ".eu4");
}

View File

@ -11,41 +11,6 @@ using ParadoxSaveParser.Lib;
namespace ParadoxSaveParser.WebAPI;
public enum SaveFileProcessingStatus
{
Initialized, Uploading, Parsing, SavingResults, Done, Error
}
public enum Game
{
Unknown, EU4
}
public class SaveFileMetadata
{
public required string id { get; init; }
public required Game game { get; init; }
public required SaveFileProcessingStatus status { get; set; }
public string? errorMesage { get; set; }
private static readonly JsonSerializerOptions _jsonOptions = new() { WriteIndented = true };
public void SaveToFile()
{
using var metaFile = File.Open(PathHelper.GetMetaFilePath(id), FileMode.CreateNew, FileAccess.Write);
JsonSerializer.Serialize(metaFile, this, _jsonOptions);
}
}
public static class PathHelper
{
public const string DATA_DIR = "data";
public static string SAVES_DIR = Path.Join(DATA_DIR, "saves");
public static string GetMetaFilePath(string save_id) => Path.Join(SAVES_DIR, save_id + ".meta.json");
public static string GetEU4SaveFilePath(string save_id) => Path.Join(SAVES_DIR, save_id + ".eu4");
}
public class Program
{
private static ConcurrentDictionary<string, SaveFileMetadata> _saveMetadataStorage = new();

View File

@ -0,0 +1,30 @@
using System.IO;
using System.Text.Json;
namespace ParadoxSaveParser.WebAPI;
public enum SaveFileProcessingStatus
{
Initialized, Uploading, Parsing, SavingResults, Done, Error
}
public enum Game
{
Unknown, EU4
}
public class SaveFileMetadata
{
public required string id { get; init; }
public required Game game { get; init; }
public required SaveFileProcessingStatus status { get; set; }
public string? errorMesage { get; set; }
private static readonly JsonSerializerOptions _jsonOptions = new() { WriteIndented = true };
public void SaveToFile()
{
using var metaFile = File.Open(PathHelper.GetMetaFilePath(id), FileMode.CreateNew, FileAccess.Write);
JsonSerializer.Serialize(metaFile, this, _jsonOptions);
}
}