use .Select() to trim the file extension from filename

This commit is contained in:
Piggey 2022-11-30 15:36:08 +01:00
parent 660ad913ec
commit b99ddc2acf

View File

@ -3,6 +3,7 @@
#nullable disable #nullable disable
using System.Collections.Generic;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using osu.Framework.Platform; using osu.Framework.Platform;
@ -39,13 +40,11 @@ namespace osu.Game.Database
/// <param name="item">The item to export.</param> /// <param name="item">The item to export.</param>
public void Export(TModel item) public void Export(TModel item)
{ {
var itemFilename = item.GetDisplayString().GetValidFilename(); string itemFilename = item.GetDisplayString().GetValidFilename();
var existingExports = exportStorage.GetFiles("", $"{itemFilename}*{FileExtension}").ToArray(); IEnumerable<string> existingExports = exportStorage
.GetFiles("", $"{itemFilename}*{FileExtension}")
// trim the file extension .Select(export => export.Substring(0, export.Length - FileExtension.Length));
for (int i = 0; i < existingExports.Length; i++)
existingExports[i] = existingExports[i].TrimEnd(FileExtension.ToCharArray());
string filename = $"{NamingUtils.GetNextBestName(existingExports, itemFilename)}{FileExtension}"; string filename = $"{NamingUtils.GetNextBestName(existingExports, itemFilename)}{FileExtension}";
using (var stream = exportStorage.CreateFileSafely(filename)) using (var stream = exportStorage.CreateFileSafely(filename))