예제 #1
0
        static void Main(string[] args)
        {
            var cache = new MTGJson();
            var end   = new ScryfallEndPoint();

            Console.Write("Enter path to deck file: ");
            string deckPath = Console.ReadLine();

            Console.Write("Would you like a blank page after each?[y/n]:");
            bool empty = Console.ReadKey().Key == ConsoleKey.Y;

            Console.WriteLine();

            var fi = new FileInfo(deckPath);

            if (fi.Exists)
            {
                var pdf   = new PDFCreator(end, empty);
                var lines = File.ReadAllLines(deckPath);
                int count = 0;
                foreach (var line in lines)
                {
                    var vals = ParseLine(line, cache);
                    if (vals is not null)
                    {
                        foreach (var valueTuple in vals)
                        {
                            for (int i = 0; i < valueTuple.Item1; i++)
                            {
                                pdf.AddCard(valueTuple.Item2, valueTuple.Item3, valueTuple.Item4);
                            }
                        }
                    }
                    Console.WriteLine($"[{++count}/{lines.Length}]");
                }

                pdf.SavePDF($"{(fi.Name).Remove((fi.Name.Length - fi.Extension.Length))}.pdf");
            }
        }