示例#1
0
        private void OnRefresh()
        {
            try
            {
                var updatedAddons = new AddonUpdater().GetViewModel();

                foreach (var updatedAddon in updatedAddons)
                {
                    var match = Addons.Where(x => x.Name.Equals(updatedAddon.Name));

                    if (match.Count() > 0)
                    {
                        var addon = match.First();
                        updatedAddon.DownloadUrl          = addon.DownloadUrl;
                        updatedAddon.Blacklisted          = addon.Blacklisted;
                        updatedAddon.InstalledVersionDate = addon.InstalledVersionDate;
                    }
                }

                Addons = updatedAddons;
            }
            catch (Exception exception)
            {
                Logger.Exception(exception);
            }
        }
示例#2
0
        private void Update()
        {
            AddonUpdater addonUpdater = new AddonUpdater();

            if (addonUpdater.UpdateAddon(DownloadUrl))
            {
                string updateMessage = string.Format("Updated {0} from {1} to {2}", Name, InstalledVersionDate.ToString(), AvailableVersionDate.ToString());
                Logger.Message(updateMessage);
                InstalledVersionDate = DateTime.Now;
            }
            else
            {
                string updateMessage = string.Format("Failed to update {0} from {1} to {2}", Name, InstalledVersionDate.ToString(), AvailableVersionDate.ToString());
                Logger.Message(updateMessage);
            }
        }
示例#3
0
        public static async Task Main(string[] args)
        {
            InteractiveMode = !(args.Count() > 0 && args[0] == "--script");

            Console.WriteLine("*******************");
            Console.WriteLine("*WoW Addon updater*");
            Console.WriteLine("*******************\n");

            try
            {
#if RELEASE
                var cnf_path = Path.Join(Environment.CurrentDirectory, "config.txt");
#else
                var cnf_path = Path.Join(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), "dev_config.txt");
#endif

                var addon_updater = new AddonUpdater(cnf_path);
                if (!Directory.Exists(Global.WoWPath))
                {
                    Exit($"World of Warcraft not found in folder '{Global.WoWPath}'!", 1);
                }

                addon_updater.AddonProgressUpdated += addon_updater_AddonProgressUpdated;
                await addon_updater.UpdateAll();

                Exit(addon_updater.Summary(), 0);
            }
            catch (Exception ex)
            {
#if DEBUG
                Exit(ex.ToString(), 1);
#else
                Exit(ex.Message, 1);
#endif
            }
        }