1
0
mirror of synced 2025-02-17 11:18:32 +01:00

Add alias, add color output

This commit is contained in:
asesidaa 2022-11-01 01:13:11 +08:00
parent 8f3382e297
commit 2e26b68cb0

View File

@ -29,11 +29,12 @@ FileInfo? Parse(SymbolResult result, string defaultFileName)
} }
var saveFileArgument = new Option<FileInfo?>( var saveFileArgument = new Option<FileInfo?>(
name: "--save-file", name: "--save-file-path",
description: "Path to the save file from local save mod", description: "Path to the save file from local save mod",
isDefault: true, isDefault: true,
parseArgument: result => Parse(result, "record_enso_p1.json") parseArgument: result => Parse(result, "record_enso_p1.json")
); );
saveFileArgument.AddAlias("-s");
var dbFileArgument = new Option<FileInfo?>( var dbFileArgument = new Option<FileInfo?>(
name: "--db-file-path", name: "--db-file-path",
@ -41,19 +42,22 @@ var dbFileArgument = new Option<FileInfo?>(
isDefault: true, isDefault: true,
parseArgument: result => Parse(result, "wwwroot/taiko.db3") parseArgument: result => Parse(result, "wwwroot/taiko.db3")
); );
dbFileArgument.AddAlias("-db");
var musicInfoArgument = new Option<FileInfo?>( var musicInfoArgument = new Option<FileInfo?>(
name: "--music-info-file", name: "--musicinfo-file-path",
description: "Path to the music info json/bin file", description: "Path to the music info json/bin file",
isDefault: true, isDefault: true,
parseArgument: result => Parse(result, "wwwroot/data/musicinfo.json") parseArgument: result => Parse(result, "wwwroot/data/musicinfo.json")
); );
musicInfoArgument.AddAlias("-m");
var baidArgument = new Option<int>( var baidArgument = new Option<int>(
name: "--baid", name: "--baid",
description: "Target card's baid, data will be imported to that card", description: "Target card's baid, data will be imported to that card",
getDefaultValue: () => 1 getDefaultValue: () => 1
); );
baidArgument.AddAlias("-b");
rootCommand.Add(saveFileArgument); rootCommand.Add(saveFileArgument);
rootCommand.Add(dbFileArgument); rootCommand.Add(dbFileArgument);
@ -68,9 +72,21 @@ await rootCommand.InvokeAsync(args);
void Run(FileSystemInfo saveFile, FileSystemInfo dbFile, FileSystemInfo musicInfoFile, int baid) void Run(FileSystemInfo saveFile, FileSystemInfo dbFile, FileSystemInfo musicInfoFile, int baid)
{ {
using var db = new TaikoDbContext(dbFile.FullName); using var db = new TaikoDbContext(dbFile.FullName);
var card = db.Cards.First(card1 => card1.Baid == baid); var card = db.Cards.FirstOrDefault(card1 => card1.Baid == baid);
Console.WriteLine(card.Baid); if (card is null)
Console.WriteLine(card.AccessCode); {
Console.ResetColor();
Console.ForegroundColor = ConsoleColor.Red;
Console.Error.WriteLine($"Card with baid {baid} does not exist!");
Console.ResetColor();
return;
}
Console.ResetColor();
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine($"Baid: {card.Baid}");
Console.WriteLine($"Access code: {card.AccessCode}");
Console.ResetColor();
var localSaveJson = File.ReadAllText(saveFile.FullName); var localSaveJson = File.ReadAllText(saveFile.FullName);
var options = new JsonSerializerOptions var options = new JsonSerializerOptions
@ -116,12 +132,18 @@ void Run(FileSystemInfo saveFile, FileSystemInfo dbFile, FileSystemInfo musicInf
var key = playRecord.SongId.Split("_")[1]; var key = playRecord.SongId.Split("_")[1];
if (!musicInfoMap.ContainsKey(key)) if (!musicInfoMap.ContainsKey(key))
{ {
Console.ResetColor();
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine($"Key {key} does not exist!!!"); Console.WriteLine($"Key {key} does not exist!!!");
Console.ResetColor();
continue; continue;
} }
var songId = musicInfoMap[key]; var songId = musicInfoMap[key];
Console.WriteLine(songId); Console.ResetColor();
Console.WriteLine(playRecord.DateTime); Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine($"Importing song with id: {songId}");
Console.WriteLine($"Song play time: {playRecord.DateTime}");
Console.ResetColor();
var playLog = new SongPlayDatum var playLog = new SongPlayDatum
{ {
Baid = user.Baid, Baid = user.Baid,