Removed nesting levels through block-scoped `using` statement (#10025)

Co-authored-by: John Doe <john@doe>
Co-authored-by: Lehonti Ramos <lehonti@ramos>
pull/10217/head
Lehonti Ramos 2 years ago committed by GitHub
parent c79c59a32b
commit bc959270b7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,4 +1,4 @@
using System; using System;
using System.IO; using System.IO;
using System.Xml; using System.Xml;
using System.Xml.Serialization; using System.Xml.Serialization;
@ -59,21 +59,17 @@ public class MigrateMusicBrainzTimeout : IMigrationRoutine
private OldMusicBrainzConfiguration? ReadOld(string path) private OldMusicBrainzConfiguration? ReadOld(string path)
{ {
using (var xmlReader = XmlReader.Create(path)) using var xmlReader = XmlReader.Create(path);
{ var serverConfigSerializer = new XmlSerializer(typeof(OldMusicBrainzConfiguration), new XmlRootAttribute("PluginConfiguration"));
var serverConfigSerializer = new XmlSerializer(typeof(OldMusicBrainzConfiguration), new XmlRootAttribute("PluginConfiguration")); return serverConfigSerializer.Deserialize(xmlReader) as OldMusicBrainzConfiguration;
return serverConfigSerializer.Deserialize(xmlReader) as OldMusicBrainzConfiguration;
}
} }
private void WriteNew(string path, PluginConfiguration newPluginConfiguration) private void WriteNew(string path, PluginConfiguration newPluginConfiguration)
{ {
var pluginConfigurationSerializer = new XmlSerializer(typeof(PluginConfiguration), new XmlRootAttribute("PluginConfiguration")); var pluginConfigurationSerializer = new XmlSerializer(typeof(PluginConfiguration), new XmlRootAttribute("PluginConfiguration"));
var xmlWriterSettings = new XmlWriterSettings { Indent = true }; var xmlWriterSettings = new XmlWriterSettings { Indent = true };
using (var xmlWriter = XmlWriter.Create(path, xmlWriterSettings)) using var xmlWriter = XmlWriter.Create(path, xmlWriterSettings);
{ pluginConfigurationSerializer.Serialize(xmlWriter, newPluginConfiguration);
pluginConfigurationSerializer.Serialize(xmlWriter, newPluginConfiguration);
}
} }
#pragma warning disable #pragma warning disable

@ -43,10 +43,8 @@ public class MigrateNetworkConfiguration : IMigrationRoutine
try try
{ {
using (var xmlReader = XmlReader.Create(path)) using var xmlReader = XmlReader.Create(path);
{ oldNetworkConfiguration = (OldNetworkConfiguration?)oldNetworkConfigSerializer.Deserialize(xmlReader);
oldNetworkConfiguration = (OldNetworkConfiguration?)oldNetworkConfigSerializer.Deserialize(xmlReader);
}
} }
catch (InvalidOperationException ex) catch (InvalidOperationException ex)
{ {
@ -97,10 +95,8 @@ public class MigrateNetworkConfiguration : IMigrationRoutine
var networkConfigSerializer = new XmlSerializer(typeof(NetworkConfiguration)); var networkConfigSerializer = new XmlSerializer(typeof(NetworkConfiguration));
var xmlWriterSettings = new XmlWriterSettings { Indent = true }; var xmlWriterSettings = new XmlWriterSettings { Indent = true };
using (var xmlWriter = XmlWriter.Create(path, xmlWriterSettings)) using var xmlWriter = XmlWriter.Create(path, xmlWriterSettings);
{ networkConfigSerializer.Serialize(xmlWriter, networkConfiguration);
networkConfigSerializer.Serialize(xmlWriter, networkConfiguration);
}
} }
} }

@ -489,10 +489,8 @@ public class SkiaEncoder : IImageEncoder
Directory.CreateDirectory(directory); Directory.CreateDirectory(directory);
using (var outputStream = new SKFileWStream(outputPath)) using (var outputStream = new SKFileWStream(outputPath))
{ {
using (var pixmap = new SKPixmap(new SKImageInfo(width, height), saveBitmap.GetPixels())) using var pixmap = new SKPixmap(new SKImageInfo(width, height), saveBitmap.GetPixels());
{ pixmap.Encode(outputStream, skiaOutputFormat, quality);
pixmap.Encode(outputStream, skiaOutputFormat, quality);
}
} }
return outputPath; return outputPath;

@ -111,10 +111,8 @@ public sealed class ImageProcessor : IImageProcessor, IDisposable
public async Task ProcessImage(ImageProcessingOptions options, Stream toStream) public async Task ProcessImage(ImageProcessingOptions options, Stream toStream)
{ {
var file = await ProcessImage(options).ConfigureAwait(false); var file = await ProcessImage(options).ConfigureAwait(false);
using (var fileStream = AsyncFile.OpenRead(file.Path)) using var fileStream = AsyncFile.OpenRead(file.Path);
{ await fileStream.CopyToAsync(toStream).ConfigureAwait(false);
await fileStream.CopyToAsync(toStream).ConfigureAwait(false);
}
} }
/// <inheritdoc /> /// <inheritdoc />

@ -26,10 +26,8 @@ namespace Jellyfin.Extensions
/// <returns>All lines in the stream.</returns> /// <returns>All lines in the stream.</returns>
public static string[] ReadAllLines(this Stream stream, Encoding encoding) public static string[] ReadAllLines(this Stream stream, Encoding encoding)
{ {
using (StreamReader reader = new StreamReader(stream, encoding)) using StreamReader reader = new StreamReader(stream, encoding);
{ return ReadAllLines(reader).ToArray();
return ReadAllLines(reader).ToArray();
}
} }
/// <summary> /// <summary>

@ -12,17 +12,16 @@ namespace Jellyfin.MediaEncoding.Subtitles.Tests
[Fact] [Fact]
public void Parse_Valid_Success() public void Parse_Valid_Success()
{ {
using (var stream = File.OpenRead("Test Data/example.ass")) using var stream = File.OpenRead("Test Data/example.ass");
{
var parsed = new SubtitleEditParser(new NullLogger<SubtitleEditParser>()).Parse(stream, "ass");
Assert.Single(parsed.TrackEvents);
var trackEvent = parsed.TrackEvents[0];
Assert.Equal("1", trackEvent.Id); var parsed = new SubtitleEditParser(new NullLogger<SubtitleEditParser>()).Parse(stream, "ass");
Assert.Equal(TimeSpan.Parse("00:00:01.18", CultureInfo.InvariantCulture).Ticks, trackEvent.StartPositionTicks); Assert.Single(parsed.TrackEvents);
Assert.Equal(TimeSpan.Parse("00:00:06.85", CultureInfo.InvariantCulture).Ticks, trackEvent.EndPositionTicks); var trackEvent = parsed.TrackEvents[0];
Assert.Equal("{\\pos(400,570)}Like an Angel with pity on nobody" + Environment.NewLine + "The second line in subtitle", trackEvent.Text);
} Assert.Equal("1", trackEvent.Id);
Assert.Equal(TimeSpan.Parse("00:00:01.18", CultureInfo.InvariantCulture).Ticks, trackEvent.StartPositionTicks);
Assert.Equal(TimeSpan.Parse("00:00:06.85", CultureInfo.InvariantCulture).Ticks, trackEvent.EndPositionTicks);
Assert.Equal("{\\pos(400,570)}Like an Angel with pity on nobody" + Environment.NewLine + "The second line in subtitle", trackEvent.Text);
} }
} }
} }

@ -12,45 +12,43 @@ namespace Jellyfin.MediaEncoding.Subtitles.Tests
[Fact] [Fact]
public void Parse_Valid_Success() public void Parse_Valid_Success()
{ {
using (var stream = File.OpenRead("Test Data/example.srt")) using var stream = File.OpenRead("Test Data/example.srt");
{
var parsed = new SubtitleEditParser(new NullLogger<SubtitleEditParser>()).Parse(stream, "srt"); var parsed = new SubtitleEditParser(new NullLogger<SubtitleEditParser>()).Parse(stream, "srt");
Assert.Equal(2, parsed.TrackEvents.Count); Assert.Equal(2, parsed.TrackEvents.Count);
var trackEvent1 = parsed.TrackEvents[0]; var trackEvent1 = parsed.TrackEvents[0];
Assert.Equal("1", trackEvent1.Id); Assert.Equal("1", trackEvent1.Id);
Assert.Equal(TimeSpan.Parse("00:02:17.440", CultureInfo.InvariantCulture).Ticks, trackEvent1.StartPositionTicks); Assert.Equal(TimeSpan.Parse("00:02:17.440", CultureInfo.InvariantCulture).Ticks, trackEvent1.StartPositionTicks);
Assert.Equal(TimeSpan.Parse("00:02:20.375", CultureInfo.InvariantCulture).Ticks, trackEvent1.EndPositionTicks); Assert.Equal(TimeSpan.Parse("00:02:20.375", CultureInfo.InvariantCulture).Ticks, trackEvent1.EndPositionTicks);
Assert.Equal("Senator, we're making" + Environment.NewLine + "our final approach into Coruscant.", trackEvent1.Text); Assert.Equal("Senator, we're making" + Environment.NewLine + "our final approach into Coruscant.", trackEvent1.Text);
var trackEvent2 = parsed.TrackEvents[1]; var trackEvent2 = parsed.TrackEvents[1];
Assert.Equal("2", trackEvent2.Id); Assert.Equal("2", trackEvent2.Id);
Assert.Equal(TimeSpan.Parse("00:02:20.476", CultureInfo.InvariantCulture).Ticks, trackEvent2.StartPositionTicks); Assert.Equal(TimeSpan.Parse("00:02:20.476", CultureInfo.InvariantCulture).Ticks, trackEvent2.StartPositionTicks);
Assert.Equal(TimeSpan.Parse("00:02:22.501", CultureInfo.InvariantCulture).Ticks, trackEvent2.EndPositionTicks); Assert.Equal(TimeSpan.Parse("00:02:22.501", CultureInfo.InvariantCulture).Ticks, trackEvent2.EndPositionTicks);
Assert.Equal("Very good, Lieutenant.", trackEvent2.Text); Assert.Equal("Very good, Lieutenant.", trackEvent2.Text);
}
} }
[Fact] [Fact]
public void Parse_EmptyNewlineBetweenText_Success() public void Parse_EmptyNewlineBetweenText_Success()
{ {
using (var stream = File.OpenRead("Test Data/example2.srt")) using var stream = File.OpenRead("Test Data/example2.srt");
{
var parsed = new SubtitleEditParser(new NullLogger<SubtitleEditParser>()).Parse(stream, "srt"); var parsed = new SubtitleEditParser(new NullLogger<SubtitleEditParser>()).Parse(stream, "srt");
Assert.Equal(2, parsed.TrackEvents.Count); Assert.Equal(2, parsed.TrackEvents.Count);
var trackEvent1 = parsed.TrackEvents[0]; var trackEvent1 = parsed.TrackEvents[0];
Assert.Equal("311", trackEvent1.Id); Assert.Equal("311", trackEvent1.Id);
Assert.Equal(TimeSpan.Parse("00:16:46.465", CultureInfo.InvariantCulture).Ticks, trackEvent1.StartPositionTicks); Assert.Equal(TimeSpan.Parse("00:16:46.465", CultureInfo.InvariantCulture).Ticks, trackEvent1.StartPositionTicks);
Assert.Equal(TimeSpan.Parse("00:16:49.009", CultureInfo.InvariantCulture).Ticks, trackEvent1.EndPositionTicks); Assert.Equal(TimeSpan.Parse("00:16:49.009", CultureInfo.InvariantCulture).Ticks, trackEvent1.EndPositionTicks);
Assert.Equal("Una vez que la gente se entere" + Environment.NewLine + Environment.NewLine + "de que ustedes están aquí,", trackEvent1.Text); Assert.Equal("Una vez que la gente se entere" + Environment.NewLine + Environment.NewLine + "de que ustedes están aquí,", trackEvent1.Text);
var trackEvent2 = parsed.TrackEvents[1]; var trackEvent2 = parsed.TrackEvents[1];
Assert.Equal("312", trackEvent2.Id); Assert.Equal("312", trackEvent2.Id);
Assert.Equal(TimeSpan.Parse("00:16:49.092", CultureInfo.InvariantCulture).Ticks, trackEvent2.StartPositionTicks); Assert.Equal(TimeSpan.Parse("00:16:49.092", CultureInfo.InvariantCulture).Ticks, trackEvent2.StartPositionTicks);
Assert.Equal(TimeSpan.Parse("00:16:51.470", CultureInfo.InvariantCulture).Ticks, trackEvent2.EndPositionTicks); Assert.Equal(TimeSpan.Parse("00:16:51.470", CultureInfo.InvariantCulture).Ticks, trackEvent2.EndPositionTicks);
Assert.Equal("este lugar se convertirá" + Environment.NewLine + Environment.NewLine + "en un maldito zoológico.", trackEvent2.Text); Assert.Equal("este lugar se convertirá" + Environment.NewLine + Environment.NewLine + "en un maldito zoológico.", trackEvent2.Text);
}
} }
} }
} }

@ -18,22 +18,21 @@ namespace Jellyfin.MediaEncoding.Subtitles.Tests
[MemberData(nameof(Parse_MultipleDialogues_TestData))] [MemberData(nameof(Parse_MultipleDialogues_TestData))]
public void Parse_MultipleDialogues_Success(string ssa, IReadOnlyList<SubtitleTrackEvent> expectedSubtitleTrackEvents) public void Parse_MultipleDialogues_Success(string ssa, IReadOnlyList<SubtitleTrackEvent> expectedSubtitleTrackEvents)
{ {
using (Stream stream = new MemoryStream(Encoding.UTF8.GetBytes(ssa))) using Stream stream = new MemoryStream(Encoding.UTF8.GetBytes(ssa));
{
SubtitleTrackInfo subtitleTrackInfo = _parser.Parse(stream, "ssa");
Assert.Equal(expectedSubtitleTrackEvents.Count, subtitleTrackInfo.TrackEvents.Count); SubtitleTrackInfo subtitleTrackInfo = _parser.Parse(stream, "ssa");
for (int i = 0; i < expectedSubtitleTrackEvents.Count; ++i) Assert.Equal(expectedSubtitleTrackEvents.Count, subtitleTrackInfo.TrackEvents.Count);
{
SubtitleTrackEvent expected = expectedSubtitleTrackEvents[i]; for (int i = 0; i < expectedSubtitleTrackEvents.Count; ++i)
SubtitleTrackEvent actual = subtitleTrackInfo.TrackEvents[i]; {
SubtitleTrackEvent expected = expectedSubtitleTrackEvents[i];
SubtitleTrackEvent actual = subtitleTrackInfo.TrackEvents[i];
Assert.Equal(expected.Id, actual.Id); Assert.Equal(expected.Id, actual.Id);
Assert.Equal(expected.Text, actual.Text); Assert.Equal(expected.Text, actual.Text);
Assert.Equal(expected.StartPositionTicks, actual.StartPositionTicks); Assert.Equal(expected.StartPositionTicks, actual.StartPositionTicks);
Assert.Equal(expected.EndPositionTicks, actual.EndPositionTicks); Assert.Equal(expected.EndPositionTicks, actual.EndPositionTicks);
}
} }
} }
@ -73,17 +72,16 @@ namespace Jellyfin.MediaEncoding.Subtitles.Tests
[Fact] [Fact]
public void Parse_Valid_Success() public void Parse_Valid_Success()
{ {
using (var stream = File.OpenRead("Test Data/example.ssa")) using var stream = File.OpenRead("Test Data/example.ssa");
{
var parsed = _parser.Parse(stream, "ssa");
Assert.Single(parsed.TrackEvents);
var trackEvent = parsed.TrackEvents[0];
Assert.Equal("1", trackEvent.Id); var parsed = _parser.Parse(stream, "ssa");
Assert.Equal(TimeSpan.Parse("00:00:01.18", CultureInfo.InvariantCulture).Ticks, trackEvent.StartPositionTicks); Assert.Single(parsed.TrackEvents);
Assert.Equal(TimeSpan.Parse("00:00:06.85", CultureInfo.InvariantCulture).Ticks, trackEvent.EndPositionTicks); var trackEvent = parsed.TrackEvents[0];
Assert.Equal("{\\pos(400,570)}Like an angel with pity on nobody", trackEvent.Text);
} Assert.Equal("1", trackEvent.Id);
Assert.Equal(TimeSpan.Parse("00:00:01.18", CultureInfo.InvariantCulture).Ticks, trackEvent.StartPositionTicks);
Assert.Equal(TimeSpan.Parse("00:00:06.85", CultureInfo.InvariantCulture).Ticks, trackEvent.EndPositionTicks);
Assert.Equal("{\\pos(400,570)}Like an angel with pity on nobody", trackEvent.Text);
} }
} }
} }

@ -488,16 +488,16 @@ namespace Jellyfin.Model.Tests
private static async ValueTask<T> TestData<T>(string name) private static async ValueTask<T> TestData<T>(string name)
{ {
var path = Path.Join("Test Data", typeof(T).Name + "-" + name + ".json"); var path = Path.Join("Test Data", typeof(T).Name + "-" + name + ".json");
using (var stream = File.OpenRead(path))
{
var value = await JsonSerializer.DeserializeAsync<T>(stream, JsonDefaults.Options);
if (value is not null)
{
return value;
}
throw new SerializationException("Invalid test data: " + name); using var stream = File.OpenRead(path);
var value = await JsonSerializer.DeserializeAsync<T>(stream, JsonDefaults.Options);
if (value is not null)
{
return value;
} }
throw new SerializationException("Invalid test data: " + name);
} }
private StreamBuilder GetStreamBuilder() private StreamBuilder GetStreamBuilder()

Loading…
Cancel
Save