fix reported SonarQube issues

This commit is contained in:
dkanada
2026-05-08 12:51:34 +09:00
parent a0d1e05696
commit df751af194
4 changed files with 15 additions and 23 deletions

View File

@@ -236,7 +236,7 @@ public class ComicBookInfoProvider : IComicProvider
try
{
// use first day of the month because this format doesn't include a day
return new DateTime(year, month, 1);
return new DateTime(year, month, 1, 0, 0, 0, DateTimeKind.Unspecified);
}
catch (ArgumentOutOfRangeException)
{

View File

@@ -14,7 +14,7 @@ namespace MediaBrowser.Providers.Books.ComicInfo;
/// <summary>
/// ComicInfo reader.
/// </summary>
public class ComicInfoReader
public static class ComicInfoReader
{
/// <summary>
/// Filename to check for comic metadata either next to the comic file or inside the archive.
@@ -26,7 +26,7 @@ public class ComicInfoReader
/// </summary>
/// <param name="xml">The XDocument to read for comic metadata.</param>
/// <returns>The resulting book.</returns>
public Book? ReadComicBookMetadata(XDocument xml)
public static Book? ReadComicBookMetadata(XDocument xml)
{
var book = new Book();
var hasFoundMetadata = false;
@@ -67,7 +67,7 @@ public class ComicInfoReader
/// </summary>
/// <param name="xml">The XDocument to read for people metadata.</param>
/// <param name="metadataResult">The metadata result to update.</param>
public void ReadPeopleMetadata(XDocument xml, MetadataResult<Book> metadataResult)
public static void ReadPeopleMetadata(XDocument xml, MetadataResult<Book> metadataResult)
{
ReadCommaSeparatedStringsInto(xml, "ComicInfo/Writer", authors =>
{
@@ -106,7 +106,7 @@ public class ComicInfoReader
/// <param name="xml">the XDocument to read for metadata.</param>
/// <param name="xPath">The path to search.</param>
/// <param name="commitResult">The action to take after parsing all metadata.</param>
public void ReadCultureInfoInto(XDocument xml, string xPath, Action<CultureInfo> commitResult)
public static void ReadCultureInfoInto(XDocument xml, string xPath, Action<CultureInfo> commitResult)
{
string? culture = null;
@@ -115,14 +115,8 @@ public class ComicInfoReader
return;
}
try
{
// culture cannot be null here as the method would have returned earlier
commitResult(new CultureInfo(culture!));
}
catch (CultureNotFoundException)
{
}
// culture cannot be null here as the method would have returned earlier
commitResult(new CultureInfo(culture!));
}
private static bool ReadStringInto(XDocument xml, string xPath, Action<string> commitResult)
@@ -194,7 +188,7 @@ public class ComicInfoReader
try
{
var dateTime = new DateTime(year, month, day);
var dateTime = new DateTime(year, month, day, 0, 0, 0, DateTimeKind.Unspecified);
commitResult(dateTime);
return true;

View File

@@ -19,7 +19,6 @@ public class ExternalComicInfoProvider : IComicProvider
{
private readonly IFileSystem _fileSystem;
private readonly ILogger<ExternalComicInfoProvider> _logger;
private readonly ComicInfoReader _utilities = new();
/// <summary>
/// Initializes a new instance of the <see cref="ExternalComicInfoProvider"/> class.
@@ -43,7 +42,7 @@ public class ExternalComicInfoProvider : IComicProvider
return new MetadataResult<Book> { HasMetadata = false };
}
var book = _utilities.ReadComicBookMetadata(comicInfoXml);
var book = ComicInfoReader.ReadComicBookMetadata(comicInfoXml);
if (book is null)
{
@@ -52,8 +51,8 @@ public class ExternalComicInfoProvider : IComicProvider
var metadataResult = new MetadataResult<Book> { Item = book, HasMetadata = true };
_utilities.ReadPeopleMetadata(comicInfoXml, metadataResult);
_utilities.ReadCultureInfoInto(comicInfoXml, "ComicInfo/LanguageISO", cultureInfo => metadataResult.ResultLanguage = cultureInfo.ThreeLetterISOLanguageName);
ComicInfoReader.ReadPeopleMetadata(comicInfoXml, metadataResult);
ComicInfoReader.ReadCultureInfoInto(comicInfoXml, "ComicInfo/LanguageISO", cultureInfo => metadataResult.ResultLanguage = cultureInfo.ThreeLetterISOLanguageName);
return metadataResult;
}
@@ -84,7 +83,7 @@ public class ExternalComicInfoProvider : IComicProvider
}
catch (Exception e)
{
_logger.LogInformation(e, "Could not load external xml from {Path}. This could mean there is no separate ComicInfo metadata file for this comic or the metadata is bundled within the comic.", path);
_logger.LogInformation(e, "Could not load external XML from {Path}. This could mean there is no separate ComicInfo metadata file for this comic or the metadata is bundled within the comic.", path);
return null;
}
}

View File

@@ -17,7 +17,6 @@ public class InternalComicInfoProvider : IComicProvider
{
private readonly IFileSystem _fileSystem;
private readonly ILogger<InternalComicInfoProvider> _logger;
private readonly ComicInfoReader _utilities = new();
/// <summary>
/// Initializes a new instance of the <see cref="InternalComicInfoProvider"/> class.
@@ -41,7 +40,7 @@ public class InternalComicInfoProvider : IComicProvider
return new MetadataResult<Book> { HasMetadata = false };
}
var book = _utilities.ReadComicBookMetadata(comicInfoXml);
var book = ComicInfoReader.ReadComicBookMetadata(comicInfoXml);
if (book is null)
{
@@ -50,8 +49,8 @@ public class InternalComicInfoProvider : IComicProvider
var metadataResult = new MetadataResult<Book> { Item = book, HasMetadata = true };
_utilities.ReadPeopleMetadata(comicInfoXml, metadataResult);
_utilities.ReadCultureInfoInto(comicInfoXml, "ComicInfo/LanguageISO", cultureInfo => metadataResult.ResultLanguage = cultureInfo.ThreeLetterISOLanguageName);
ComicInfoReader.ReadPeopleMetadata(comicInfoXml, metadataResult);
ComicInfoReader.ReadCultureInfoInto(comicInfoXml, "ComicInfo/LanguageISO", cultureInfo => metadataResult.ResultLanguage = cultureInfo.ThreeLetterISOLanguageName);
return metadataResult;
}