public static BeatmapDownload PrepareDownloadSet(BeatmapSet set, string mirror)
        {
            BeatmapDownload download;

            download = new BeatmapDownload(set, new Uri(mirror.Replace("%s", set.Id)));
            return(download);
        }
Example #2
0
        public static async Task DownloadSet(BeatmapDownload download, bool playAudioNotif = true)
        {
            Downloads.Add(download);
            download.SpeedTracker.Start(); // start the speed tracking

            try
            {
                await download.Client.DownloadFileTaskAsync(download.Location, download.TempPath);
            }
            catch (Exception ex)
            {
                if (download.Cancelled)
                {
                    File.Delete(download.TempPath);
                    return;
                }
                throw ex;
            }
            finally
            {
                Downloads.Remove(download); // cleanup regardless

                if (Downloads.Count < 1)
                {
                    MapsManager.Reload(); // reload only when theres nothing left
                }
            }

            if (playAudioNotif)
            {
                AudioManager.OnDownloadComplete();
            }
        }
Example #3
0
        /// <summary>
        /// Checks the DMCA of a map, then prepares a download object for it.
        /// </summary>
        public static async Task <BeatmapDownload> PrepareDownloadSet(BeatmapSet set, bool preferNoVid = false)
        {
            await CheckIllegal(set);

            var download = new BeatmapDownload(set, new Uri($"https://osu.ppy.sh/beatmapsets/{set.Id}/download" + (preferNoVid ? "?noVideo=1" : "")), Cookies);

            return(download);
        }
Example #4
0
        /// <summary>
        /// Checks the DMCA of a map, then prepares a download object for it.
        /// </summary>
        public static async Task <BeatmapDownload> PrepareDownloadSet(BeatmapSet set, bool preferNoVid = false)
        {
            await CheckIllegal(set);

            var download = new BeatmapDownload(set, new Uri($"https://osu.ppy.sh/d/{set.Id}" + (preferNoVid ? "n" : "")));

            download.Client.Headers.Add(HttpRequestHeader.Cookie, Cookies.GetCookieHeader(new Uri("http://osu.ppy.sh"))); // use cookie auth
            return(download);
        }
Example #5
0
        /// <summary>
        /// Prepares a download object for a set from bloodcat
        /// </summary>
        public static async Task <BeatmapDownload> PrepareDownloadSet(BeatmapSet set)
        {
            BeatmapDownload download;

            Uri downloadUri;

            await CheckCaptcha(set);

            downloadUri = new Uri("http://bloodcat.com/osu/s/" + set.Id);
            download    = new BeatmapDownload(set, downloadUri, Cookies);

            return(download);
        }
Example #6
0
 public static void CancelDownload(BeatmapDownload download)
 {
     download.Cancelled = true;
     download.Client.CancelAsync();
     Downloads.Remove(download);
 }