@@ -23,9 +23,8 @@ public class Utils
23
23
public static ILogger Logger { get ; set ; } = null ;
24
24
25
25
public static PersonInfo CreatePerson ( string name , string provider_id )
26
-
27
26
{
28
- return new PersonInfo
27
+ return new ( )
29
28
{
30
29
Name = name ,
31
30
Type = PersonKind . Director ,
@@ -80,11 +79,7 @@ public static MetadataResult<Series> ToSeries(DTO data)
80
79
item . ProductionYear = int . Parse ( date . ToString ( "yyyy" ) ) ;
81
80
}
82
81
83
- return new MetadataResult < Series >
84
- {
85
- HasMetadata = true ,
86
- Item = item
87
- } ;
82
+ return new ( ) { HasMetadata = true , Item = item } ;
88
83
}
89
84
90
85
public static EpisodeInfo FileToInfo ( string file , DateTime ? file_date = null )
@@ -107,7 +102,7 @@ public static EpisodeInfo FileToInfo(string file, DateTime? file_date = null)
107
102
108
103
if ( ! matcher . Success )
109
104
{
110
- Logger ? . LogInformation ( $ "No match found for { file } .") ;
105
+ Logger ? . LogError ( $ "No match found for ' { file } ' .") ;
111
106
return new EpisodeInfo ( ) ;
112
107
}
113
108
@@ -162,7 +157,7 @@ public static EpisodeInfo FileToInfo(string file, DateTime? file_date = null)
162
157
// get the modified date of the file
163
158
if ( System . IO . File . Exists ( file ) || file_date != null )
164
159
{
165
- episode += ( file_date ?? System . IO . File . GetLastWriteTimeUtc ( file ) ) . ToString ( "mmss" ) ;
160
+ episode += ( file_date ?? System . IO . File . GetCreationTimeUtc ( file ) ) . ToString ( "mmss" ) ;
166
161
}
167
162
}
168
163
@@ -185,6 +180,14 @@ public static EpisodeInfo FileToInfo(string file, DateTime? file_date = null)
185
180
item . PremiereDate = new DateTime ( int . Parse ( year ) , int . Parse ( month ) , int . Parse ( day ) ) ;
186
181
}
187
182
183
+ if ( ! item . IndexNumber . HasValue || item . IndexNumber . GetValueOrDefault ( ) == 0 )
184
+ {
185
+ Logger ? . LogError ( $ "No episode number found for '{ file } '.") ;
186
+ return new EpisodeInfo ( ) ;
187
+ }
188
+
189
+ Logger ? . LogInformation ( $ "Parsed '{ System . IO . Path . GetFileName ( file ) } ' as 'S{ item . ParentIndexNumber } E{ item . IndexNumber } ' - { item . Name } '.") ;
190
+
188
191
return item ;
189
192
}
190
193
@@ -211,7 +214,8 @@ public static MetadataResult<Episode> ToEpisode(EpisodeInfo data)
211
214
{
212
215
item . PremiereDate = time ;
213
216
item . ProductionYear = time . Year ;
214
- item . ForcedSortName = time . ToString ( "yyyyMMdd" ) + '-' + item . Name ;
217
+ item . SortName = $ "{ time : yyyyMMdd} -{ item . IndexNumber } -{ item . Name } ";
218
+ item . ForcedSortName = $ "{ time : yyyyMMdd} -{ item . IndexNumber } -{ item . Name } ";
215
219
}
216
220
217
221
data . TryGetProviderId ( Constants . PLUGIN_EXTERNAL_ID , out string id ) ;
@@ -220,29 +224,10 @@ public static MetadataResult<Episode> ToEpisode(EpisodeInfo data)
220
224
item . SetProviderId ( Constants . PLUGIN_EXTERNAL_ID , id ) ;
221
225
}
222
226
223
- return new MetadataResult < Episode >
224
- {
225
- HasMetadata = true ,
226
- Item = item
227
- } ;
227
+ return new ( ) { HasMetadata = true , Item = item } ;
228
228
}
229
229
230
- private static MetadataResult < Series > ErrorOut ( )
231
- {
232
- return new MetadataResult < Series >
233
- {
234
- HasMetadata = false ,
235
- Item = new Series ( )
236
- } ;
237
- }
238
-
239
- private static MetadataResult < Episode > ErrorOutEpisode ( )
240
- {
241
- return new MetadataResult < Episode >
242
- {
243
- HasMetadata = false ,
244
- Item = new Episode ( )
245
- } ;
246
- }
230
+ private static MetadataResult < Series > ErrorOut ( ) => new ( ) { HasMetadata = false , Item = new Series ( ) } ;
231
+ private static MetadataResult < Episode > ErrorOutEpisode ( ) => new ( ) { HasMetadata = false , Item = new Episode ( ) } ;
247
232
}
248
233
}
0 commit comments