mirror of
https://github.com/osukey/osukey.git
synced 2025-05-30 01:47:30 +09:00
Remove PreUpdate, update hash in Save()
This commit is contained in:
parent
dfed27bd46
commit
443977aa8d
@ -203,7 +203,14 @@ namespace osu.Game.Beatmaps
|
|||||||
|
|
||||||
stream.Seek(0, SeekOrigin.Begin);
|
stream.Seek(0, SeekOrigin.Begin);
|
||||||
|
|
||||||
UpdateFile(setInfo, setInfo.Files.Single(f => string.Equals(f.Filename, info.Path, StringComparison.OrdinalIgnoreCase)), stream);
|
using (ContextFactory.GetForWrite())
|
||||||
|
{
|
||||||
|
var beatmapInfo = setInfo.Beatmaps.Single(b => b.ID == info.ID);
|
||||||
|
beatmapInfo.MD5Hash = stream.ComputeMD5Hash();
|
||||||
|
|
||||||
|
stream.Seek(0, SeekOrigin.Begin);
|
||||||
|
UpdateFile(setInfo, setInfo.Files.Single(f => string.Equals(f.Filename, info.Path, StringComparison.OrdinalIgnoreCase)), stream);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var working = workingCache.FirstOrDefault(w => w.BeatmapInfo?.ID == info.ID);
|
var working = workingCache.FirstOrDefault(w => w.BeatmapInfo?.ID == info.ID);
|
||||||
@ -211,19 +218,6 @@ namespace osu.Game.Beatmaps
|
|||||||
workingCache.Remove(working);
|
workingCache.Remove(working);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void PreUpdate(BeatmapSetInfo item)
|
|
||||||
{
|
|
||||||
base.PreUpdate(item);
|
|
||||||
|
|
||||||
foreach (var info in item.Beatmaps)
|
|
||||||
{
|
|
||||||
var file = item.Files.SingleOrDefault(f => string.Equals(f.Filename, info.Path, StringComparison.OrdinalIgnoreCase))?.FileInfo.StoragePath;
|
|
||||||
|
|
||||||
using (var stream = Files.Store.GetStream(file))
|
|
||||||
info.MD5Hash = stream.ComputeMD5Hash();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private readonly WeakList<WorkingBeatmap> workingCache = new WeakList<WorkingBeatmap>();
|
private readonly WeakList<WorkingBeatmap> workingCache = new WeakList<WorkingBeatmap>();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -429,21 +429,10 @@ namespace osu.Game.Database
|
|||||||
using (ContextFactory.GetForWrite())
|
using (ContextFactory.GetForWrite())
|
||||||
{
|
{
|
||||||
item.Hash = computeHash(item);
|
item.Hash = computeHash(item);
|
||||||
|
|
||||||
PreUpdate(item);
|
|
||||||
|
|
||||||
ModelStore.Update(item);
|
ModelStore.Update(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Perform any final actions before the update to database executes.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="item">The <typeparamref name="TModel"/> that is being updated.</param>
|
|
||||||
protected virtual void PreUpdate(TModel item)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Delete an item from the manager.
|
/// Delete an item from the manager.
|
||||||
/// Is a no-op for already deleted items.
|
/// Is a no-op for already deleted items.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user