示例#1
0
        public override async Task Execute()
        {
            if (!await Aria.Start())
            {
                LoggerManager.Fatal("Could not start aria");
                return;
            }

            LoggerManager.Info("Aria2 is up and running");

            var links = await Hltv.GetLinks(true);

            await Hltv.SetProcessing(links.Id);

            foreach (var linkId in links)
            {
                try
                {
                    var result = await Aria.AddUri(new[] { new Uri(linkId.Url) });

                    Storage.SaveLinkId(linkId.Id, links.Id, linkId.Url, result.Value);
                }
                catch (Exception e)
                {
                    LoggerManager.Error(e, "Error adding URI and saving linkId");
                    continue;
                }
            }
        }
示例#2
0
        public override async Task Execute()
        {
            var linkId = Storage.GetLinkIdByGid(_gid);

            if (!string.IsNullOrEmpty(_path))
            {
                await Growl.Notify($"Download complete!\n{_path}");
            }

            if (string.IsNullOrEmpty(linkId))
            {
                await RemoveDownloadResult(_gid);

                return;
            }

            if (!await Hltv.SetState(linkId, LinkState.Finished))
            {
                LoggerManager.Error("Error from server for setting link {0} to finished", linkId);
                await ShutdownAriaIfNoLinksLeft();

                return;
            }

            Storage.RemoveLinkId(_gid);
            await RemoveDownloadResult(_gid);
        }
示例#3
0
        public override async Task Execute()
        {
            var linkId = Storage.GetLinkIdByGid(_gid);

            await Growl.Notify($"Error on Link ${linkId}");

            if (!await Hltv.SetError(linkId))
            {
                await ShutdownAriaIfNoLinksLeft();

                return;
            }

            Storage.RemoveLinkId(_gid);
            await RemoveDownloadResult(_gid);
        }