示例#1
0
        private static async Task UpdateMetaData(IMetaDataParser parser)
        {
            var options = new ProgressBarOptions
            {
                ForegroundColor   = ConsoleColor.Yellow,
                BackgroundColor   = ConsoleColor.DarkYellow,
                ProgressCharacter = '─'
            };

            var memCache = new MemFile();

            var metaData = new MetaDataService(new List <IMetaDataParser> {
                parser
            }, Client2.GetDocumentAsync);


            var             first = true;
            ConsoleProgress pb    = null;

            IProgress <double> GetProgress(string context)
            {
                pb?.Dispose();
                if (first)
                {
                    first = false;
                }
                else
                {
                    Console.WriteLine();
                    Console.WriteLine();
                }

                return(pb = new ConsoleProgress(options, context));
            }

            metaData.ReportProgressFactory = GetProgress;

            await metaData.DownloadMetaData(parser.ProviderName, CancellationToken.None);
        }