Comic Rework, New Scanner, Foundation Overahul (is this a full release?) (#2780)
This commit is contained in:
parent
d7e9e7c832
commit
7552c3f5fa
182 changed files with 27630 additions and 3046 deletions
|
|
@ -13,14 +13,25 @@ public class ChapterDto : IHasReadTimeEstimate
|
|||
{
|
||||
public int Id { get; init; }
|
||||
/// <summary>
|
||||
/// Range of chapters. Chapter 2-4 -> "2-4". Chapter 2 -> "2".
|
||||
/// Range of chapters. Chapter 2-4 -> "2-4". Chapter 2 -> "2". If special, will be special name.
|
||||
/// </summary>
|
||||
/// <remarks>This can be something like 19.HU or Alpha as some comics are like this</remarks>
|
||||
public string Range { get; init; } = default!;
|
||||
/// <summary>
|
||||
/// Smallest number of the Range.
|
||||
/// </summary>
|
||||
[Obsolete("Use MinNumber and MaxNumber instead")]
|
||||
public string Number { get; init; } = default!;
|
||||
/// <summary>
|
||||
/// This may be 0 under the circumstance that the Issue is "Alpha" or other non-standard numbers.
|
||||
/// </summary>
|
||||
public float MinNumber { get; init; }
|
||||
public float MaxNumber { get; init; }
|
||||
/// <summary>
|
||||
/// The sorting order of the Chapter. Inherits from MinNumber, but can be overridden.
|
||||
/// </summary>
|
||||
public float SortOrder { get; set; }
|
||||
/// <summary>
|
||||
/// Total number of pages in all MangaFiles
|
||||
/// </summary>
|
||||
public int Pages { get; init; }
|
||||
|
|
|
|||
|
|
@ -48,6 +48,9 @@ public enum FilterField
|
|||
/// <summary>
|
||||
/// Average rating from Kavita+ - Not usable for non-licensed users
|
||||
/// </summary>
|
||||
AverageRating = 28
|
||||
AverageRating = 28,
|
||||
Imprint = 29,
|
||||
Team = 30,
|
||||
Location = 31
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,10 +18,13 @@ public class ChapterMetadataDto
|
|||
public ICollection<PersonDto> Characters { get; set; } = new List<PersonDto>();
|
||||
public ICollection<PersonDto> Pencillers { get; set; } = new List<PersonDto>();
|
||||
public ICollection<PersonDto> Inkers { get; set; } = new List<PersonDto>();
|
||||
public ICollection<PersonDto> Imprints { get; set; } = new List<PersonDto>();
|
||||
public ICollection<PersonDto> Colorists { get; set; } = new List<PersonDto>();
|
||||
public ICollection<PersonDto> Letterers { get; set; } = new List<PersonDto>();
|
||||
public ICollection<PersonDto> Editors { get; set; } = new List<PersonDto>();
|
||||
public ICollection<PersonDto> Translators { get; set; } = new List<PersonDto>();
|
||||
public ICollection<PersonDto> Teams { get; set; } = new List<PersonDto>();
|
||||
public ICollection<PersonDto> Locations { get; set; } = new List<PersonDto>();
|
||||
|
||||
public ICollection<GenreTagDto> Genres { get; set; } = new List<GenreTagDto>();
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using System.Xml.Serialization;
|
||||
using API.Data.Metadata;
|
||||
|
||||
namespace API.DTOs.ReadingLists.CBL;
|
||||
|
||||
|
|
@ -21,6 +22,12 @@ public class CblBook
|
|||
[XmlAttribute("Year")]
|
||||
public string Year { get; set; }
|
||||
/// <summary>
|
||||
/// Main Series, Annual, Limited Series
|
||||
/// </summary>
|
||||
/// <remarks>This maps to <see cref="ComicInfo">Format</see> tag</remarks>
|
||||
[XmlAttribute("Format")]
|
||||
public string Format { get; set; }
|
||||
/// <summary>
|
||||
/// The underlying filetype
|
||||
/// </summary>
|
||||
/// <remarks>This is not part of the standard and explicitly for Kavita to support non cbz/cbr files</remarks>
|
||||
|
|
|
|||
|
|
@ -22,4 +22,5 @@ public class RelatedSeriesDto
|
|||
public IEnumerable<SeriesDto> Doujinshis { get; set; } = default!;
|
||||
public IEnumerable<SeriesDto> Parent { get; set; } = default!;
|
||||
public IEnumerable<SeriesDto> Editions { get; set; } = default!;
|
||||
public IEnumerable<SeriesDto> Annuals { get; set; } = default!;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,4 +17,5 @@ public class UpdateRelatedSeriesDto
|
|||
public IList<int> AlternativeVersions { get; set; } = default!;
|
||||
public IList<int> Doujinshis { get; set; } = default!;
|
||||
public IList<int> Editions { get; set; } = default!;
|
||||
public IList<int> Annuals { get; set; } = default!;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,10 +30,14 @@ public class SeriesMetadataDto
|
|||
public ICollection<PersonDto> Characters { get; set; } = new List<PersonDto>();
|
||||
public ICollection<PersonDto> Pencillers { get; set; } = new List<PersonDto>();
|
||||
public ICollection<PersonDto> Inkers { get; set; } = new List<PersonDto>();
|
||||
public ICollection<PersonDto> Imprints { get; set; } = new List<PersonDto>();
|
||||
public ICollection<PersonDto> Colorists { get; set; } = new List<PersonDto>();
|
||||
public ICollection<PersonDto> Letterers { get; set; } = new List<PersonDto>();
|
||||
public ICollection<PersonDto> Editors { get; set; } = new List<PersonDto>();
|
||||
public ICollection<PersonDto> Translators { get; set; } = new List<PersonDto>();
|
||||
public ICollection<PersonDto> Teams { get; set; } = new List<PersonDto>();
|
||||
public ICollection<PersonDto> Locations { get; set; } = new List<PersonDto>();
|
||||
|
||||
/// <summary>
|
||||
/// Highest Age Rating from all Chapters
|
||||
/// </summary>
|
||||
|
|
@ -80,10 +84,13 @@ public class SeriesMetadataDto
|
|||
public bool ColoristLocked { get; set; }
|
||||
public bool EditorLocked { get; set; }
|
||||
public bool InkerLocked { get; set; }
|
||||
public bool ImprintLocked { get; set; }
|
||||
public bool LettererLocked { get; set; }
|
||||
public bool PencillerLocked { get; set; }
|
||||
public bool PublisherLocked { get; set; }
|
||||
public bool TranslatorLocked { get; set; }
|
||||
public bool TeamLocked { get; set; }
|
||||
public bool LocationLocked { get; set; }
|
||||
public bool CoverArtistLocked { get; set; }
|
||||
public bool ReleaseYearLocked { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -14,5 +14,5 @@ public class ReadHistoryEvent
|
|||
public required string SeriesName { get; set; } = default!;
|
||||
public DateTime ReadDate { get; set; }
|
||||
public int ChapterId { get; set; }
|
||||
public required string ChapterNumber { get; set; } = default!;
|
||||
public required float ChapterNumber { get; set; } = default!;
|
||||
}
|
||||
|
|
|
|||
12
API/DTOs/TachiyomiChapterDto.cs
Normal file
12
API/DTOs/TachiyomiChapterDto.cs
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
namespace API.DTOs;
|
||||
|
||||
/// <summary>
|
||||
/// This is explicitly for Tachiyomi. Number field was removed in v0.8.0, but Tachiyomi needs it for the hacks.
|
||||
/// </summary>
|
||||
public class TachiyomiChapterDto : ChapterDto
|
||||
{
|
||||
/// <summary>
|
||||
/// Smallest number of the Range.
|
||||
/// </summary>
|
||||
public string Number { get; init; } = default!;
|
||||
}
|
||||
|
|
@ -3,6 +3,7 @@ using System;
|
|||
using System.Collections.Generic;
|
||||
using API.Entities;
|
||||
using API.Entities.Interfaces;
|
||||
using API.Extensions;
|
||||
using API.Services.Tasks.Scanner.Parser;
|
||||
|
||||
namespace API.DTOs;
|
||||
|
|
@ -20,7 +21,7 @@ public class VolumeDto : IHasReadTimeEstimate
|
|||
/// This will map to MinNumber. Number was removed in v0.7.13.8/v0.7.14
|
||||
/// </summary>
|
||||
[Obsolete("Use MinNumber")]
|
||||
public float Number { get; set; }
|
||||
public int Number { get; set; }
|
||||
public int Pages { get; set; }
|
||||
public int PagesRead { get; set; }
|
||||
public DateTime LastModifiedUtc { get; set; }
|
||||
|
|
@ -50,6 +51,15 @@ public class VolumeDto : IHasReadTimeEstimate
|
|||
/// <returns></returns>
|
||||
public bool IsLooseLeaf()
|
||||
{
|
||||
return Math.Abs(this.MinNumber - Parser.LooseLeafVolumeNumber) < 0.001f;
|
||||
return MinNumber.Is(Parser.LooseLeafVolumeNumber);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Does this volume hold only specials?
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public bool IsSpecial()
|
||||
{
|
||||
return MinNumber.Is(Parser.SpecialVolumeNumber);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue