Compare commits

...

2 commits

Author SHA1 Message Date
Heavy Bob
d58d3af8fc Removed Margin 2025-04-12 05:53:20 +10:00
Heavy Bob
eaad6b44a7 If the CSV is fucked, rename it to kill-log.old and get a new one. 2025-04-12 05:43:41 +10:00
2 changed files with 59 additions and 3 deletions

View file

@ -54,7 +54,7 @@
Width="75"
Height="30"
FontFamily="{StaticResource Orbitron}"
Margin="5,0"
Margin="0,0"
Style="{StaticResource ButtonStyle}"
Click="LogFileOpenButton_Click"/>
</StackPanel>
@ -136,7 +136,7 @@
Width="75"
Height="30"
FontFamily="{StaticResource Orbitron}"
Margin="5,0"
Margin="0,0"
Style="{StaticResource ButtonStyle}"
Click="VideoPathOpenButton_Click"/>
</StackPanel>

View file

@ -17,8 +17,64 @@ public class KillHistoryManager
{
File.WriteAllText(_killHistoryPath, _headers);
}
else
{
CheckAndFixMalformedCsv();
}
}
private void CheckAndFixMalformedCsv()
{
try
{
// Try to read the file to check if it's malformed
using var reader = new StreamReader(_killHistoryPath);
var firstLine = reader.ReadLine();
// If the file is empty or doesn't start with the correct headers, it's malformed
if (string.IsNullOrEmpty(firstLine) || firstLine != _headers.TrimEnd('\n'))
{
// Create a backup of the malformed file
string backupPath = Path.Combine(
Path.GetDirectoryName(_killHistoryPath)!,
"Kill-log.old"
);
// If Kill-log.old already exists, delete it
if (File.Exists(backupPath))
{
File.Delete(backupPath);
}
// Rename the malformed file
File.Move(_killHistoryPath, backupPath);
// Create a new file with correct headers
File.WriteAllText(_killHistoryPath, _headers);
}
}
catch (Exception ex)
{
// If there's any error reading the file, consider it malformed
string backupPath = Path.Combine(
Path.GetDirectoryName(_killHistoryPath)!,
"Kill-log.old"
);
// If Kill-log.old already exists, delete it
if (File.Exists(backupPath))
{
File.Delete(backupPath);
}
// Rename the malformed file
File.Move(_killHistoryPath, backupPath);
// Create a new file with correct headers
File.WriteAllText(_killHistoryPath, _headers);
}
}
public void AddKill(KillData killData)
{
// Ensure the CSV file exists