Advertisement
Guest User

Untitled

a guest
Dec 25th, 2018
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Configuration;
  4. using System.Linq;
  5. using System.Net;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using YGOPro2_Updater;
  9.  
  10. namespace YGOPro_Updater
  11. {
  12.     public class Updater
  13.     {
  14.        public void Command(string[] args)
  15.         {
  16.             Console.Title = "YGOPro_Updater";
  17.             // 线程数
  18.             ServicePointManager.DefaultConnectionLimit = Int32.Parse(ConfigurationManager.AppSettings[name: "ConnectionLimit"]);
  19.             // 忽略列表
  20.             for (int i = 1; !string.IsNullOrEmpty(value: ConfigurationManager.AppSettings[name: $"ignore{i}"]); i++)
  21.                 Config.ignores.Add(item: ConfigurationManager.AppSettings[name: $"ignore{i}"].Replace(oldValue: "*", newValue: "[^/]*?"));
  22.             int arguments = args.Length;
  23.             // whether the Arguments are Correct
  24.             bool isOK = false;
  25.  
  26.             // Check the Ignore Sound Option
  27.             if (arguments > 0 && args[arguments - 1] == "--ignore-sound")
  28.             {
  29.                 Config.ignoreSound = true;
  30.                 arguments--;
  31.             }
  32.  
  33.             switch (arguments)
  34.             {
  35.                 case 0: // Download and Update the All Files
  36.                     for (Config.count = 1; !string.IsNullOrEmpty(value: ConfigurationManager.AppSettings[name: $"name{Config.count}"]); Config.count++)
  37.                     {
  38.                         Config.SetWorkPath(workPath: null, name: null, repo: null);
  39.                         Client.Run(); // 开始実行
  40.                     }
  41.                     break;
  42.                 case 1: // Workpath Setting Option
  43.                     for (Config.count = 1; !string.IsNullOrEmpty(value: ConfigurationManager.AppSettings[name: $"name{Config.count}"]); Config.count++)
  44.                     {
  45.                         Config.SetWorkPath(workPath: args[0], name: null, repo: null);
  46.                         Client.Run(); // 开始実行
  47.                     }
  48.                     break;
  49.                 case 2: // Download and Update the Files from the Specific Repository
  50.                     for (int i = 1; !string.IsNullOrEmpty(value: ConfigurationManager.AppSettings[name: $"name{i}"]); i++)
  51.                     {
  52.                         if (args[0] == ConfigurationManager.AppSettings[name: $"name{i}"]
  53.                             && args[1] == ConfigurationManager.AppSettings[name: $"repo{i}"])
  54.                         {
  55.                             Config.count = i;
  56.                             isOK = Config.SetWorkPath(workPath: null, name: args[0], repo: args[1]);
  57.                             Client.Run(); // 开始実行
  58.                         }
  59.                     }
  60.                     if (!isOK)
  61.                         Console.WriteLine(value: "You typed the wrong username or incorerct repository.");
  62.                     break;
  63.                 case 3: // Download and Update the Files from the Specific Repository with Workpath Setting Option
  64.                     for (int i = 1; !string.IsNullOrEmpty(value: ConfigurationManager.AppSettings[name: $"user{i}"]); i++)
  65.                     {
  66.                         if (args[1] == ConfigurationManager.AppSettings[name: $"name{i}"]
  67.                             && args[2] == ConfigurationManager.AppSettings[name: $"repo{i}"])
  68.                         {
  69.                             Config.count = i;
  70.                             isOK = Config.SetWorkPath(workPath: args[0], name: args[1], repo: args[2]);
  71.                             Client.Run(); // 开始実行
  72.                         }
  73.                     }
  74.                     if (!isOK)
  75.                         Console.WriteLine(value: "You mistyped the workpath, username or repository.");
  76.                     break;
  77.                 default:
  78.                     Console.WriteLine(value: "The arguments which you typed are unavailble.");
  79.                     break;
  80.             }
  81.             Console.WriteLine(value: "Press Any Key to continue ... ... ");
  82.             Console.ReadKey(intercept: true);
  83.         }
  84.     }
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement