From 75ad6db67723ca34f931c598bef9c8637d1e5004 Mon Sep 17 00:00:00 2001 From: ltctceplrm <14954927+ltctceplrm@users.noreply.github.com> Date: Thu, 7 Dec 2023 22:31:42 +0100 Subject: [PATCH 1/7] Added covers and url to music albums --- src/api/apis/MusicBrainzAPI.ts | 6 ++++-- src/models/MusicReleaseModel.ts | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/api/apis/MusicBrainzAPI.ts b/src/api/apis/MusicBrainzAPI.ts index a731ecc..4ac4f31 100644 --- a/src/api/apis/MusicBrainzAPI.ts +++ b/src/api/apis/MusicBrainzAPI.ts @@ -49,8 +49,9 @@ export class MusicBrainzAPI extends APIModel { englishTitle: result.title, year: new Date(result['first-release-date']).getFullYear().toString(), dataSource: this.apiName, - url: '', + url: 'https://musicbrainz.org/release-group/' + result.id, id: result.id, + image: 'https://coverartarchive.org/release-group/' + result.id + '/front', artists: result['artist-credit'].map((a: any) => a.name), subType: result['primary-type'], @@ -86,8 +87,9 @@ export class MusicBrainzAPI extends APIModel { englishTitle: result.title, year: new Date(result['first-release-date']).getFullYear().toString(), dataSource: this.apiName, - url: '', + url: 'https://musicbrainz.org/release-group/' + result.id, id: result.id, + image: 'https://coverartarchive.org/release-group/' + result.id + '/front', artists: result['artist-credit'].map((a: any) => a.name), genres: result.genres.map((g: any) => g.name), diff --git a/src/models/MusicReleaseModel.ts b/src/models/MusicReleaseModel.ts index 687bbdc..fc14032 100644 --- a/src/models/MusicReleaseModel.ts +++ b/src/models/MusicReleaseModel.ts @@ -11,6 +11,7 @@ export class MusicReleaseModel extends MediaTypeModel { dataSource: string; url: string; id: string; + image: string; genres: string[]; artists: string[]; @@ -25,6 +26,7 @@ export class MusicReleaseModel extends MediaTypeModel { this.genres = undefined; this.artists = undefined; + this.image = undefined; this.rating = undefined; this.userData = { personalRating: undefined, From 826566c87486c6411173719d25817ef99a5ee795 Mon Sep 17 00:00:00 2001 From: ltctceplrm <14954927+ltctceplrm@users.noreply.github.com> Date: Thu, 7 Dec 2023 22:31:52 +0100 Subject: [PATCH 2/7] Added missing manga media type --- src/utils/MediaType.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/utils/MediaType.ts b/src/utils/MediaType.ts index dd39945..edd8ec8 100644 --- a/src/utils/MediaType.ts +++ b/src/utils/MediaType.ts @@ -7,4 +7,5 @@ export enum MediaType { Wiki = 'wiki', BoardGame = 'boardgame', Book = 'book', + Manga = 'manga', } From a31a6191cd62e6a9341acaed925c40e2c687c63e Mon Sep 17 00:00:00 2001 From: ltctceplrm <14954927+ltctceplrm@users.noreply.github.com> Date: Fri, 8 Dec 2023 02:24:00 +0100 Subject: [PATCH 3/7] Removed duplicate media type I added The "missing" media type wasn't actually missing --- src/utils/MediaType.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/utils/MediaType.ts b/src/utils/MediaType.ts index edd8ec8..dd39945 100644 --- a/src/utils/MediaType.ts +++ b/src/utils/MediaType.ts @@ -7,5 +7,4 @@ export enum MediaType { Wiki = 'wiki', BoardGame = 'boardgame', Book = 'book', - Manga = 'manga', } From 57de3d614c3ef0a2c777d61cbe2c65972adce2eb Mon Sep 17 00:00:00 2001 From: ltctceplrm <14954927+ltctceplrm@users.noreply.github.com> Date: Fri, 8 Dec 2023 03:32:07 +0100 Subject: [PATCH 4/7] Modified the PR by onesvat to add plot to media I modified synopsis in manga to plot and added the plot in MALapi that also uses the movie model, I did the same thing for series --- src/api/apis/MALAPI.ts | 2 ++ src/api/apis/MALAPIManga.ts | 4 ++-- src/api/apis/OMDbAPI.ts | 2 ++ src/models/MangaModel.ts | 3 ++- src/models/MovieModel.ts | 4 +++- src/models/SeriesModel.ts | 2 ++ 6 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/api/apis/MALAPI.ts b/src/api/apis/MALAPI.ts index 50566cc..f5c1793 100644 --- a/src/api/apis/MALAPI.ts +++ b/src/api/apis/MALAPI.ts @@ -108,6 +108,7 @@ export class MALAPI extends APIModel { url: result.url, id: result.mal_id, + plot: result.synopsis, genres: result.genres?.map((x: any) => x.name) ?? [], producer: result.studios?.map((x: any) => x.name).join(', ') ?? 'unknown', duration: result.duration ?? 'unknown', @@ -139,6 +140,7 @@ export class MALAPI extends APIModel { url: result.url, id: result.mal_id, + plot: result.synopsis, genres: result.genres?.map((x: any) => x.name) ?? [], producer: result.studios?.map((x: any) => x.name).join(', ') ?? 'unknown', duration: result.duration ?? 'unknown', diff --git a/src/api/apis/MALAPIManga.ts b/src/api/apis/MALAPIManga.ts index ee34817..b2fd80a 100644 --- a/src/api/apis/MALAPIManga.ts +++ b/src/api/apis/MALAPIManga.ts @@ -48,7 +48,7 @@ export class MALAPIManga extends APIModel { new MangaModel({ subType: type, title: result.title, - synopsis: result.synopsis, + plot: result.synopsis, englishTitle: result.title_english ?? result.title, alternateTitles: result.titles?.map((x: any) => x.title) ?? [], year: result.year ?? result.published?.prop?.from?.year ?? '', @@ -98,7 +98,6 @@ export class MALAPIManga extends APIModel { const model = new MangaModel({ subType: type, title: result.title, - synopsis: result.synopsis, englishTitle: result.title_english ?? result.title, alternateTitles: result.titles?.map((x: any) => x.title) ?? [], year: result.year ?? result.published?.prop?.from?.year ?? '', @@ -106,6 +105,7 @@ export class MALAPIManga extends APIModel { url: result.url, id: result.mal_id, + plot: result.synopsis, genres: result.genres?.map((x: any) => x.name) ?? [], authors: result.authors?.map((x: any) => x.name) ?? [], chapters: result.chapters, diff --git a/src/api/apis/OMDbAPI.ts b/src/api/apis/OMDbAPI.ts index ad3fb45..1e73787 100644 --- a/src/api/apis/OMDbAPI.ts +++ b/src/api/apis/OMDbAPI.ts @@ -134,6 +134,7 @@ export class OMDbAPI extends APIModel { url: `https://www.imdb.com/title/${result.imdbID}/`, id: result.imdbID, + plot: result.Plot ?? '', genres: result.Genre?.split(', ') ?? [], producer: result.Director ?? 'unknown', duration: result.Runtime ?? 'unknown', @@ -163,6 +164,7 @@ export class OMDbAPI extends APIModel { url: `https://www.imdb.com/title/${result.imdbID}/`, id: result.imdbID, + plot: result.Plot ?? '', genres: result.Genre?.split(', ') ?? [], studios: [result.Director] ?? 'unknown', episodes: 0, diff --git a/src/models/MangaModel.ts b/src/models/MangaModel.ts index c43f7be..244a7af 100644 --- a/src/models/MangaModel.ts +++ b/src/models/MangaModel.ts @@ -6,7 +6,7 @@ export class MangaModel extends MediaTypeModel { type: string; subType: string; title: string; - synopsis: string; + plot: string; englishTitle: string; alternateTitles: string[]; year: string; @@ -35,6 +35,7 @@ export class MangaModel extends MediaTypeModel { constructor(obj: any = {}) { super(); + this.plot = undefined; this.genres = undefined; this.authors = undefined; this.alternateTitles = undefined; diff --git a/src/models/MovieModel.ts b/src/models/MovieModel.ts index 83d874f..716161d 100644 --- a/src/models/MovieModel.ts +++ b/src/models/MovieModel.ts @@ -3,6 +3,7 @@ import { mediaDbTag, migrateObject } from '../utils/Utils'; import { MediaType } from '../utils/MediaType'; export class MovieModel extends MediaTypeModel { + plot: string; genres: string[]; producer: string; duration: string; @@ -23,6 +24,7 @@ export class MovieModel extends MediaTypeModel { constructor(obj: any = {}) { super(); + this.plot = undefined; this.genres = undefined; this.producer = undefined; this.duration = undefined; @@ -60,4 +62,4 @@ export class MovieModel extends MediaTypeModel { getSummary(): string { return this.englishTitle + ' (' + this.year + ')'; } -} +} \ No newline at end of file diff --git a/src/models/SeriesModel.ts b/src/models/SeriesModel.ts index 5132f1e..0e2224e 100644 --- a/src/models/SeriesModel.ts +++ b/src/models/SeriesModel.ts @@ -12,6 +12,7 @@ export class SeriesModel extends MediaTypeModel { url: string; id: string; + plot: string; genres: string[]; studios: string[]; episodes: number; @@ -35,6 +36,7 @@ export class SeriesModel extends MediaTypeModel { constructor(obj: any = {}) { super(); + this.plot = undefined; this.genres = undefined; this.studios = undefined; this.episodes = undefined; From 18f441215809538464961096338f41ea5fbf1450 Mon Sep 17 00:00:00 2001 From: ltctceplrm <14954927+ltctceplrm@users.noreply.github.com> Date: Sat, 9 Dec 2023 15:20:21 +0100 Subject: [PATCH 5/7] Added plot section for books --- src/api/apis/OpenLibraryAPI.ts | 1 + src/models/BookModel.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/src/api/apis/OpenLibraryAPI.ts b/src/api/apis/OpenLibraryAPI.ts index a0d0507..1ddd32e 100644 --- a/src/api/apis/OpenLibraryAPI.ts +++ b/src/api/apis/OpenLibraryAPI.ts @@ -72,6 +72,7 @@ export class OpenLibraryAPI extends APIModel { englishTitle: result.title_english ?? result.title, author: result.author_name ?? 'unknown', + plot: result.description ?? 'unknown', pages: result.number_of_pages_median ?? 'unknown', onlineRating: Number.parseFloat(Number(result.ratings_average ?? 0).toFixed(2)), image: `https://covers.openlibrary.org/b/OLID/` + result.cover_edition_key + `-L.jpg` ?? '', diff --git a/src/models/BookModel.ts b/src/models/BookModel.ts index c0c9c4e..00f7834 100644 --- a/src/models/BookModel.ts +++ b/src/models/BookModel.ts @@ -4,6 +4,7 @@ import { MediaType } from '../utils/MediaType'; export class BookModel extends MediaTypeModel { author: string; + plot:string; pages: number; image: string; onlineRating: number; From 5f6f875b86bd1516b4e0b949ca3f39df42042555 Mon Sep 17 00:00:00 2001 From: ltctceplrm <14954927+ltctceplrm@users.noreply.github.com> Date: Sat, 9 Dec 2023 20:47:00 +0100 Subject: [PATCH 6/7] Replaced the producer field by director and added writer and studio fields --- src/api/apis/MALAPI.ts | 11 ++++++++--- src/api/apis/OMDbAPI.ts | 7 +++++-- src/models/MovieModel.ts | 8 ++++++-- src/models/SeriesModel.ts | 6 ++++-- 4 files changed, 23 insertions(+), 9 deletions(-) diff --git a/src/api/apis/MALAPI.ts b/src/api/apis/MALAPI.ts index f5c1793..2af5fc9 100644 --- a/src/api/apis/MALAPI.ts +++ b/src/api/apis/MALAPI.ts @@ -110,7 +110,9 @@ export class MALAPI extends APIModel { plot: result.synopsis, genres: result.genres?.map((x: any) => x.name) ?? [], - producer: result.studios?.map((x: any) => x.name).join(', ') ?? 'unknown', + director: [], + writer: [], + studio: result.studios?.map((x: any) => x.name).join(', ') ?? 'unknown', duration: result.duration ?? 'unknown', onlineRating: result.score ?? 0, actors: [], @@ -142,7 +144,9 @@ export class MALAPI extends APIModel { plot: result.synopsis, genres: result.genres?.map((x: any) => x.name) ?? [], - producer: result.studios?.map((x: any) => x.name).join(', ') ?? 'unknown', + director: [], + writer: [], + studio: result.studios?.map((x: any) => x.name).join(', ') ?? 'unknown', duration: result.duration ?? 'unknown', onlineRating: result.score ?? 0, actors: [], @@ -171,7 +175,8 @@ export class MALAPI extends APIModel { id: result.mal_id, genres: result.genres?.map((x: any) => x.name) ?? [], - studios: result.studios?.map((x: any) => x.name) ?? [], + writer: [], + studio: result.studios?.map((x: any) => x.name) ?? [], episodes: result.episodes, duration: result.duration ?? 'unknown', onlineRating: result.score ?? 0, diff --git a/src/api/apis/OMDbAPI.ts b/src/api/apis/OMDbAPI.ts index 1e73787..578cc31 100644 --- a/src/api/apis/OMDbAPI.ts +++ b/src/api/apis/OMDbAPI.ts @@ -136,7 +136,9 @@ export class OMDbAPI extends APIModel { plot: result.Plot ?? '', genres: result.Genre?.split(', ') ?? [], - producer: result.Director ?? 'unknown', + director: result.Director?.split(', ') ?? [], + writer: result.Writer?.split(', ') ?? [], + studio: ['N/A'], duration: result.Runtime ?? 'unknown', onlineRating: Number.parseFloat(result.imdbRating ?? 0), actors: result.Actors?.split(', ') ?? [], @@ -166,7 +168,8 @@ export class OMDbAPI extends APIModel { plot: result.Plot ?? '', genres: result.Genre?.split(', ') ?? [], - studios: [result.Director] ?? 'unknown', + writer: result.Writer?.split(', ') ?? [], + studio: [], episodes: 0, duration: result.Runtime ?? 'unknown', onlineRating: Number.parseFloat(result.imdbRating ?? 0), diff --git a/src/models/MovieModel.ts b/src/models/MovieModel.ts index 716161d..7735244 100644 --- a/src/models/MovieModel.ts +++ b/src/models/MovieModel.ts @@ -5,7 +5,9 @@ import { MediaType } from '../utils/MediaType'; export class MovieModel extends MediaTypeModel { plot: string; genres: string[]; - producer: string; + director: string[]; + writer: string[]; + studio: string[]; duration: string; onlineRating: number; actors: string[]; @@ -26,7 +28,9 @@ export class MovieModel extends MediaTypeModel { this.plot = undefined; this.genres = undefined; - this.producer = undefined; + this.director = undefined; + this.writer = undefined; + this.studio = undefined; this.duration = undefined; this.onlineRating = undefined; this.actors = undefined; diff --git a/src/models/SeriesModel.ts b/src/models/SeriesModel.ts index 0e2224e..edc222e 100644 --- a/src/models/SeriesModel.ts +++ b/src/models/SeriesModel.ts @@ -14,7 +14,8 @@ export class SeriesModel extends MediaTypeModel { plot: string; genres: string[]; - studios: string[]; + writer: string[]; + studio: string[]; episodes: number; duration: string; onlineRating: number; @@ -38,7 +39,8 @@ export class SeriesModel extends MediaTypeModel { this.plot = undefined; this.genres = undefined; - this.studios = undefined; + this.writer = undefined; + this.studio = undefined; this.episodes = undefined; this.duration = undefined; this.onlineRating = undefined; From e13d9e56c0658b24baa664167fef23ed373bfd37 Mon Sep 17 00:00:00 2001 From: ltctceplrm <14954927+ltctceplrm@users.noreply.github.com> Date: Sat, 9 Dec 2023 23:39:25 +0100 Subject: [PATCH 7/7] Fixed formatting --- src/models/BookModel.ts | 2 +- src/models/MovieModel.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/models/BookModel.ts b/src/models/BookModel.ts index 00f7834..0c603c6 100644 --- a/src/models/BookModel.ts +++ b/src/models/BookModel.ts @@ -4,7 +4,7 @@ import { MediaType } from '../utils/MediaType'; export class BookModel extends MediaTypeModel { author: string; - plot:string; + plot: string; pages: number; image: string; onlineRating: number; diff --git a/src/models/MovieModel.ts b/src/models/MovieModel.ts index 7735244..a4db8a7 100644 --- a/src/models/MovieModel.ts +++ b/src/models/MovieModel.ts @@ -66,4 +66,4 @@ export class MovieModel extends MediaTypeModel { getSummary(): string { return this.englishTitle + ' (' + this.year + ')'; } -} \ No newline at end of file +}