public async Task Update(int year, int day) { var session = GetSession(); var baseAddress = new Uri("https://adventofcode.com/"); var context = BrowsingContext.New(Configuration.Default .WithDefaultLoader() .WithCss() .WithDefaultCookies() ); context.SetCookie(new Url(baseAddress.ToString()), "session=" + session); var calendar = await DownloadCalendar(context, baseAddress, year); var problem = await DownloadProblem(context, baseAddress, year, day); var dir = Dir(year, day); if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } var years = Assembly.GetEntryAssembly().GetTypes() .Where(t => t.GetTypeInfo().IsClass&& typeof(Solver).IsAssignableFrom(t)) .Select(tsolver => SolverExtensions.Year(tsolver)); UpdateProjectReadme(years.Min(), years.Max()); UpdateReadmeForYear(calendar); UpdateSplashScreen(calendar); UpdateReadmeForDay(problem); UpdateInput(problem); UpdateRefout(problem); UpdateSolutionTemplate(problem); }