Esempio n. 1
0
        private static async System.Threading.Tasks.Task RunAsync(string[] args)
        {
            if (File.Exists(SessionFileName))
            {
                kitsuSession = await KitsuSessionManager.RestoreSessionFromFileAsync(SessionFileName);
            }

            Console.Title = string.Format("Inari for Kitsu.IO (v{0})", Assembly.GetExecutingAssembly().GetName().Version.ToString());
            if (kitsuSession != null)
            {
                Console.Title += string.Format(" | Logged in as: {0}", kitsuSession.UserName);
            }

            TaskCompletionSource <object> taskCompletionSource = new TaskCompletionSource <object>();

            Parser.Default.ParseArguments <AuthOptions, TrendingOptions, GetOptions>(args)
            .WithParsed <AuthOptions>(opts => AuthenicationCommand(opts, taskCompletionSource))
            .WithParsed <TrendingOptions>(opts => TrendingCommand(opts, taskCompletionSource))
            .WithParsed <GetOptions>(opts => GetCommand(opts, taskCompletionSource))
            .WithNotParsed(errs =>
            {
                taskCompletionSource.SetResult(null);
            });

            await taskCompletionSource.Task;
        }