@@ -8,6 +8,7 @@ import { TmdbService } from '@pct-org/services/tmdb'
8
8
import { FanartService } from '@pct-org/services/fanart'
9
9
import { TvdbService } from '@pct-org/services/tvdb'
10
10
import { SeasonHelperService } from '@pct-org/scraper/helpers/season'
11
+ import { defaultShowImages } from '@pct-org/constants/default-image-sizes'
11
12
12
13
@Injectable ( )
13
14
export class ShowHelperService extends BaseHelper {
@@ -33,16 +34,26 @@ export class ShowHelperService extends BaseHelper {
33
34
protected readonly logger = new Logger ( 'ShowHelper' )
34
35
35
36
public async getItem ( imdb ?: string , slug ?: string ) : Promise < Show | undefined > {
37
+ const or = [ ]
38
+
39
+ if ( imdb ) {
40
+ or . push ( { _id : imdb } )
41
+ }
42
+
43
+ if ( slug ) {
44
+ or . push ( { slug } )
45
+ }
46
+
36
47
return this . showModel . findOne ( {
37
- [ imdb ? '_id' : 'slug' ] : imdb || slug
48
+ $or : or
38
49
} ,
39
50
{ } ,
40
51
{ lean : true }
41
52
)
42
53
}
43
54
44
55
public shouldUpdateExistingItem ( item : Show ) : boolean {
45
- // Shows depends more heavily on the blacklist so we
56
+ // Shows depends more heavily on the blacklist so
46
57
// if we have a existing item we need to update it.
47
58
return true
48
59
}
@@ -86,8 +97,6 @@ export class ShowHelperService extends BaseHelper {
86
97
}
87
98
88
99
if ( ! traktShow ) {
89
- // Try again in 1 week
90
- await this . addToBlacklist ( item , ShowType , '404' , 1 )
91
100
return
92
101
}
93
102
@@ -114,8 +123,8 @@ export class ShowHelperService extends BaseHelper {
114
123
await this . addShowToBlackListIfNeeded ( item , traktShow , traktNextEpisode , traktLastEpisode )
115
124
116
125
return {
117
- _id : traktShow . ids . imdb ,
118
- slug : traktShow . ids . slug ,
126
+ _id : traktShow . ids . imdb || item . imdb ,
127
+ slug : item . slug ,
119
128
imdbId : traktShow . ids . imdb ,
120
129
tmdbId : traktShow . ids . tmdb ,
121
130
tvdbId : traktShow . ids . tvdb ,
@@ -132,10 +141,7 @@ export class ShowHelperService extends BaseHelper {
132
141
watching : traktWatchers ?. length ?? 0 ,
133
142
percentage : ratingPercentage
134
143
} ,
135
- images : {
136
- backdrop : BaseHelper . DefaultImageSizes ,
137
- poster : BaseHelper . DefaultImageSizes
138
- } ,
144
+ images : defaultShowImages ,
139
145
type : ShowType ,
140
146
genres : traktShow . genres
141
147
? traktShow . genres
@@ -258,6 +264,7 @@ export class ShowHelperService extends BaseHelper {
258
264
* - The show has a airing episode in the future
259
265
*/
260
266
private async addShowToBlackListIfNeeded ( item : Pick < ScrapedItem , 'imdb' | 'slug' | 'title' > , show : TraktShow , nextEpisode ?: TraktEpisode , lastEpisode ?: TraktEpisode ) {
267
+ // Show is ended or canceled
261
268
if ( [ 'ended' , 'canceled' ] . includes ( show . status ) ) {
262
269
await this . addToBlacklist (
263
270
item ,
0 commit comments