Ejemplo n.º 1
0
 public DiskConverter(IOneNoteClient client, Page page, ISettings settings, DateTime date)
 {
     _client   = client;
     _page     = page;
     _settings = settings;
     _baseDir  = Path.Combine(settings.RootDir, date.Year.ToString(), $"{date.Month,2:D2}", $"{date.Day,2:D2}");
     if (!Directory.Exists(_baseDir))
     {
         Directory.CreateDirectory(_baseDir);
     }
 }
Ejemplo n.º 2
0
        static async Task Main(string[] args)
        {
            _settings = new ConfigurationBuilder <ISettings>()
                        .UseEnvironmentVariables()
                        .UseIniFile(@"c:\tmp\onenote.ini")
                        .Build();

            string authority = string.Format(AadInstance, _settings.TenantId);

            _context = new AuthenticationContext(authority, new FileCache());
            _client  = ClientFactory.CreateClient(GetToken);

            Log.Logger = new LoggerConfiguration()
                         .WriteTo.ColoredConsole()
                         .MinimumLevel.Debug()
                         .CreateLogger();

            var  selector = new PageSelector(_client, _settings);
            Page page     = await selector.SelectPageAsync();

            Log.Information("type publishing date as yyyy/mm/dd or press enter to use current date");
            string   dateInput = Console.ReadLine();
            DateTime date;

            if (string.IsNullOrEmpty(dateInput))
            {
                date = DateTime.UtcNow;
            }
            else
            {
                string[] parts = dateInput.Split('/');
                date = new DateTime(int.Parse(parts[0]), int.Parse(parts[1]), int.Parse(parts[2]), 0, 0, 0, DateTimeKind.Utc);
            }
            Log.Information("using {year}/{month}/{day}", date.Year, date.Month, date.Day);

            var    converter = new DiskConverter(_client, page, _settings, date);
            string dir       = await converter.ConvertAsync();

            Process.Start("code", "\"" + dir + "\"");
        }
Ejemplo n.º 3
0
 public PageSelector(IOneNoteClient client, ISettings settings)
 {
     _client   = client;
     _settings = settings;
 }