@@ -121,34 +121,40 @@ FileWriter writer
121
121
{
122
122
_shows . Add ( episodeData . SeriesName , ShowResults . FromSearchResults ( seriesResults ) ) ;
123
123
}
124
-
124
+
125
125
if ( config . EpisodeGroup )
126
126
{
127
127
var seriesResult = _shows [ episodeData . SeriesName ] [ 0 ] ;
128
128
var tvShow = await _tmdb . GetTvShowAsync ( seriesResult . TvSearchResult . Id , TvShowMethods . EpisodeGroups ) ;
129
129
var groups = tvShow . EpisodeGroups ;
130
-
131
- var chosenGroup = selectResult ( groups . Results . Select ( group =>
132
- ( $ "[{ group . Type } ] { group . Name } ", $ "S: { group . GroupCount } E: { group . EpisodeCount } ") ) . ToList ( ) ) ;
133
-
134
- if ( chosenGroup . HasValue )
130
+
131
+ if ( groups . Results . Any ( ) )
135
132
{
136
- var groupInfo = await _tmdb . GetTvEpisodeGroupsAsync ( groups . Results [ 0 ] . Id , config . Language ) ;
137
- if ( ! seriesResult . AddEpisodeGroup ( groupInfo ) )
133
+ var chosenGroup = selectResult ( groups . Results . Select ( group =>
134
+ ( $ "[{ group . Type } ] { group . Name } ", $ "{ group . GroupCount } seasons, { group . EpisodeCount } episodes") ) . ToList ( ) ) ;
135
+
136
+ if ( chosenGroup . HasValue )
138
137
{
139
- setStatus ( $ "Error: Episode Group { groupInfo . Name } is not containing Seasons or Volumes! ", MessageType . Error ) ;
140
- result . Success = false ;
141
- return false ;
138
+ var groupInfo = await _tmdb . GetTvEpisodeGroupsAsync ( groups . Results [ chosenGroup . Value ] . Id , config . Language ) ;
139
+ if ( ! seriesResult . AddEpisodeGroup ( groupInfo ) )
140
+ {
141
+ setStatus ( $ "Error: Unable to parse required information from episode group { groupInfo . Name } ", MessageType . Error ) ;
142
+ result . Success = false ;
143
+ return false ;
144
+ }
145
+ }
146
+ else
147
+ {
148
+ setStatus ( "File skipped" , MessageType . Warning ) ;
149
+ return true ;
142
150
}
143
151
}
144
152
else
145
153
{
146
- setStatus ( "File skipped" , MessageType . Warning ) ;
147
- return true ;
154
+ setStatus ( $ "No episode groups found for series", MessageType . Warning ) ;
148
155
}
149
156
}
150
157
}
151
-
152
158
153
159
// try searching for each series search result
154
160
foreach ( var show in _shows [ episodeData . SeriesName ] )
@@ -157,8 +163,8 @@ FileWriter writer
157
163
158
164
var lookupSeason = episodeData . Season ;
159
165
var lookupEpisode = episodeData . Episode ;
160
-
161
- if ( config . EpisodeGroup )
166
+
167
+ if ( show . EpisodeGroupMappingTable != null )
162
168
{
163
169
if ( ! show . TryGetMapping ( episodeData . Season , episodeData . Episode , out var groupNumbering ) )
164
170
{
@@ -168,7 +174,7 @@ FileWriter writer
168
174
lookupSeason = groupNumbering ! . Value . season ;
169
175
lookupEpisode = groupNumbering . Value . episode ;
170
176
}
171
-
177
+
172
178
result . Id = showData . Id ;
173
179
result . SeriesName = showData . Name ;
174
180
@@ -242,7 +248,7 @@ FileWriter writer
242
248
if ( seriesImages . Posters . Any ( ) )
243
249
{
244
250
var bestVotedImage = seriesImages . Posters . OrderByDescending ( p => p . VoteAverage ) . First ( ) ;
245
-
251
+
246
252
result . CoverURL = $ "https://image.tmdb.org/t/p/original/{ bestVotedImage . FilePath } ";
247
253
_seasonPosters . Add ( ( result . SeriesName , result . Season ) , result . CoverURL ) ;
248
254
}
@@ -255,13 +261,13 @@ FileWriter writer
255
261
}
256
262
#endregion
257
263
258
- result . CoverFilename = result . CoverURL ? . Split ( '/' ) [ - 1 ] ;
264
+ result . CoverFilename = result . CoverURL ? . Split ( '/' ) [ ^ 1 ] ;
259
265
260
266
var taggingSuccess = await writer . WriteAsync ( file , result , setPath , setStatus , config ) ;
261
267
262
268
return taggingSuccess && result . Success && result . Complete ;
263
269
}
264
-
270
+
265
271
private static double SeriesNameSimilarity ( string parsedName , string seriesName )
266
272
{
267
273
if ( seriesName . ToLower ( ) . Contains ( parsedName . ToLower ( ) ) )
0 commit comments