public async Task <Beatmap> GetBeatmapFromId(string beatmap_id, bool forceRedl = false) { string file = Path.Combine(folder, "beatmaps", $"{beatmap_id}.osu"); if (forceRedl) { File.Delete(file); } if (!File.Exists(file)) { await Logger.WriteLine(forceRedl? "hash out of date, redownloading..." : "beatmap not found, downloading..."); await api.DownloadBeatmapFromId(beatmap_id, Path.Combine(folder, "beatmaps"), forceRedl); string hash = Beatmap.MD5FromFile(file); hashes[hash] = beatmap_id; Logger.LogAbsolute(Logging.BeatmapsDbSize, hashes.Count); Logger.Log(Logging.BeatmapsCacheMiss); } else { Logger.Log(Logging.BeatmapsCacheHit); } return(new Beatmap(file)); }
public async Task <Beatmap> GetBeatmapFromId(string beatmap_id) { string file = Path.Combine(folder, "beatmaps", $"{beatmap_id}.osu"); if (!File.Exists(file)) { await Logger.WriteLine("beatmap not found, downloading..."); await api.DownloadBeatmapFromId(beatmap_id, Path.Combine(folder, "beatmaps")); hashes[Beatmap.MD5FromFile(file)] = beatmap_id; Logger.LogAbsolute(Logging.BeatmapsDbSize, hashes.Count); Logger.Log(Logging.BeatmapsCacheMiss); } else { Logger.Log(Logging.BeatmapsCacheHit); } return(new Beatmap(file)); }