fix: trim and lowercase tags and genres in metadata

closes #302
This commit is contained in:
Gauthier Roebroeck 2020-09-06 12:39:11 +08:00
parent e1e251ec2f
commit 656f23a64a
3 changed files with 43 additions and 3 deletions

View file

@ -0,0 +1,37 @@
UPDATE BOOK_METADATA_TAG
SET tag = lower(trim(tag));
delete
from BOOK_METADATA_TAG
where ROWID not in
(
select min(rowid)
from BOOK_METADATA_TAG
group by tag, BOOK_ID
);
UPDATE SERIES_METADATA_TAG
SET tag = lower(trim(tag));
delete
from SERIES_METADATA_TAG
where ROWID not in
(
select min(rowid)
from SERIES_METADATA_TAG
group by tag, SERIES_ID
);
UPDATE SERIES_METADATA_GENRE
SET GENRE = lower(trim(GENRE));
delete
from SERIES_METADATA_GENRE
where ROWID not in
(
select min(rowid)
from SERIES_METADATA_GENRE
group by GENRE, SERIES_ID
);

View file

@ -10,7 +10,7 @@ class BookMetadata(
val numberSort: Float,
val releaseDate: LocalDate? = null,
val authors: List<Author> = emptyList(),
val tags: Set<String> = emptySet(),
tags: Set<String> = emptySet(),
val titleLock: Boolean = false,
val summaryLock: Boolean = false,
@ -29,6 +29,7 @@ class BookMetadata(
val title = title.trim()
val summary = summary.trim()
val number = number.trim()
val tags = tags.map { it.toLowerCase().trim() }.filter { it.isNotBlank() }.toSet()
fun copy(
title: String = this.title,

View file

@ -11,8 +11,8 @@ class SeriesMetadata(
publisher: String = "",
val ageRating: Int? = null,
val language: String = "",
val genres: Set<String> = emptySet(),
val tags: Set<String> = emptySet(),
genres: Set<String> = emptySet(),
tags: Set<String> = emptySet(),
val statusLock: Boolean = false,
val titleLock: Boolean = false,
@ -34,6 +34,8 @@ class SeriesMetadata(
val titleSort = titleSort.trim()
val summary = summary.trim()
val publisher = publisher.trim()
val tags = tags.map { it.toLowerCase().trim() }.filter { it.isNotBlank() }.toSet()
val genres = genres.map { it.toLowerCase().trim() }.filter { it.isNotBlank() }.toSet()
fun copy(
status: Status = this.status,