diff options
| author | 1hitsong <3330318+1hitsong@users.noreply.github.com> | 2022-09-19 16:26:38 -0400 |
|---|---|---|
| committer | 1hitsong <3330318+1hitsong@users.noreply.github.com> | 2022-09-19 16:26:38 -0400 |
| commit | d7fedf35128a4400dfd4c4e72bbfee3f362d565d (patch) | |
| tree | 3f1e9cb47d4cd79f6028ee1612810234e5edbda0 | |
| parent | 28d017865b7f51babc7c13dbfaf71a660d834d46 (diff) | |
Variable declaration cleanup
| -rw-r--r-- | MediaBrowser.Providers/Lyric/LrcLyricProvider.cs | 65 | ||||
| -rw-r--r-- | MediaBrowser.Providers/Lyric/TxtLyricProvider.cs | 4 |
2 files changed, 33 insertions, 36 deletions
diff --git a/MediaBrowser.Providers/Lyric/LrcLyricProvider.cs b/MediaBrowser.Providers/Lyric/LrcLyricProvider.cs index 9d622a1cd..ea10749b9 100644 --- a/MediaBrowser.Providers/Lyric/LrcLyricProvider.cs +++ b/MediaBrowser.Providers/Lyric/LrcLyricProvider.cs @@ -7,7 +7,6 @@ using LrcParser.Parser; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Lyrics; using MediaBrowser.Controller.Resolvers; -using MediaBrowser.Model.Entities; using Microsoft.Extensions.Logging; namespace MediaBrowser.Providers.Lyric; @@ -54,49 +53,45 @@ public class LrcLyricProvider : ILyricProvider return null; } - List<LyricLine> lyricList = new(); - List<LrcParser.Model.Lyric> sortedLyricData = new(); - IDictionary<string, string> fileMetaData = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase); string lrcFileContent = System.IO.File.ReadAllText(lyricFilePath); + Song lyricData; + try { // Parse and sort lyric rows LyricParser lrcLyricParser = new LrcParser.Parser.Lrc.LrcParser(); - Song lyricData = lrcLyricParser.Decode(lrcFileContent); - sortedLyricData = lyricData.Lyrics.Where(x => x.TimeTags.Count > 0).OrderBy(x => x.TimeTags.First().Value).ToList(); - - // Parse metadata rows - var metaDataRows = lyricData.Lyrics - .Where(x => x.TimeTags.Count == 0) - .Where(x => x.Text.StartsWith('[') && x.Text.EndsWith(']')) - .Select(x => x.Text) - .ToList(); - - foreach (string metaDataRow in metaDataRows) - { - int colonCount = metaDataRow.Count(f => (f == ':')); - if (colonCount == 0) - { - continue; - } - - string[] metaDataField; - string metaDataFieldName; - string metaDataFieldValue; - string[] test; - - metaDataField = metaDataRow.Split(':', 2, StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries); - metaDataFieldName = metaDataField[0][1..].Trim(); - metaDataFieldValue = metaDataField[1][..^1].Trim(); - - fileMetaData.Add(metaDataFieldName, metaDataFieldValue); - } + lyricData = lrcLyricParser.Decode(lrcFileContent); } catch (Exception ex) { _logger.LogError(ex, "Error parsing lyric data from {Provider}", Name); + return null; + } + + List<LrcParser.Model.Lyric> sortedLyricData = lyricData.Lyrics.Where(x => x.TimeTags.Count > 0).OrderBy(x => x.TimeTags.First().Value).ToList(); + + // Parse metadata rows + var metaDataRows = lyricData.Lyrics + .Where(x => x.TimeTags.Count == 0) + .Where(x => x.Text.StartsWith('[') && x.Text.EndsWith(']')) + .Select(x => x.Text) + .ToList(); + + foreach (string metaDataRow in metaDataRows) + { + int colonCount = metaDataRow.Count(f => (f == ':')); + if (colonCount == 0) + { + continue; + } + + string[] metaDataField = metaDataRow.Split(':', 2, StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries); + string metaDataFieldName = metaDataField[0][1..].Trim(); + string metaDataFieldValue = metaDataField[1][..^1].Trim(); + + fileMetaData.Add(metaDataFieldName, metaDataFieldValue); } if (sortedLyricData.Count == 0) @@ -104,6 +99,8 @@ public class LrcLyricProvider : ILyricProvider return null; } + List<LyricLine> lyricList = new(); + for (int i = 0; i < sortedLyricData.Count; i++) { var timeData = sortedLyricData[i].TimeTags.First().Value; @@ -132,7 +129,7 @@ public class LrcLyricProvider : ILyricProvider /// </summary> /// <param name="metaData">The metadata from the LRC file.</param> /// <returns>A lyricMetadata object with mapped property data.</returns> - private LyricMetadata MapMetadataValues(IDictionary<string, string> metaData) + private static LyricMetadata MapMetadataValues(IDictionary<string, string> metaData) { LyricMetadata lyricMetadata = new(); diff --git a/MediaBrowser.Providers/Lyric/TxtLyricProvider.cs b/MediaBrowser.Providers/Lyric/TxtLyricProvider.cs index 542df1387..6a189e132 100644 --- a/MediaBrowser.Providers/Lyric/TxtLyricProvider.cs +++ b/MediaBrowser.Providers/Lyric/TxtLyricProvider.cs @@ -38,13 +38,13 @@ public class TxtLyricProvider : ILyricProvider string[] lyricTextLines = System.IO.File.ReadAllLines(lyricFilePath); - List<LyricLine> lyricList = new(); - if (lyricTextLines.Length == 0) { return null; } + List<LyricLine> lyricList = new(lyricTextLines.Length); + foreach (string lyricTextLine in lyricTextLines) { lyricList.Add(new LyricLine(lyricTextLine)); |
