@@ -19,11 +19,18 @@ def parse_library(root):
1919
2020 return output
2121
22- def parse_data (data , max , base_url , token , identifier , section_key , images_base_url ):
23- data = sorted (data , key = lambda i : i ['addedAt' ], reverse = True )[:max ]
22+ def parse_data (data , max , base_url , token , identifier , section_key , images_base_url , is_all = False ):
23+ if is_all :
24+ sorted_data = []
25+ for k in data .keys ():
26+ type_sorted = sorted (data [k ], key = lambda i : i ['addedAt' ], reverse = True )[:max ]
27+ sorted_data += type_sorted
28+ sorted_data = sorted (sorted_data , key = lambda i : i ['addedAt' ], reverse = True )
29+ else :
30+ sorted_data = sorted (data , key = lambda i : i ['addedAt' ], reverse = True )[:max ]
2431
2532 output = []
26- for item in data :
33+ for item in sorted_data :
2734 date = datetime .strptime (item .get ("originallyAvailableAt" , "1900-01-01" ), "%Y-%m-%d" ).strftime ('%Y-%m-%dT%H:%M:%SZ' )
2835 thumb = item .get ("thumb" , item .get ("parentThumb" , item .get ("grandparentThumb" , None )))
2936 art = item .get ("art" , item .get ("grandparentArt" , None ))
@@ -32,19 +39,22 @@ def parse_data(data, max, base_url, token, identifier, section_key, images_base_
3239 deep_link_position = - 2
3340 deep_link = f'{ base_url } /web/index.html#!/server/{ identifier } /details?key=%2Flibrary%2Fmetadata%2F{ item .get ("key" , "" ).split ("/" )[deep_link_position ]} '
3441
42+ if not item .get ("addedAt" , None ):
43+ continue
44+
3545 output .append (
3646 {
37- "airdate" : date ,
47+ "airdate" : datetime . utcfromtimestamp ( int ( item . get ( "addedAt" , 0 ))). strftime ( '%Y-%m-%dT%H:%M:%SZ' ) ,
3848 "title" : item .get ("grandparentTitle" , item .get ("parentTitle" , item .get ("title" , "" ))),
39- "release" : datetime . utcfromtimestamp ( int ( item . get ( "addedAt" , 0 ))). strftime ( '%Y-%m-%dT%H:%M:%SZ' ) ,
49+ "release" : '$day, $date $time' ,
4050 "episode" : item .get ("title" , "" ),
4151 "number" : f'S{ "{:0>2}" .format (item .get ("parentIndex" , "1" ))} E{ "{:0>2}" .format (item .get ("index" , "1" ))} ' if item .get ("parentIndex" , None ) and item .get ("index" , None ) else "" ,
4252 "season_num" : item .get ("parentIndex" , "" ),
4353 "season_num" : item .get ("parentIndex" , "1" ),
4454 "episode_num" : item .get ("index" , "1" ),
4555 "genres" : ", " .join ([genre ['tag' ] for genre in item .get ('Genre' , [])][:3 ]),
4656 "rating" : ('\N{BLACK STAR} ' + str (item .get ("rating" ))) if int (float (item .get ("rating" , 0 ))) > 0 else '' ,
47- "studio" : item .get ("grandparentTitle " , "" ),
57+ "studio" : item .get ("studio " , "" ),
4858 "aired" : date ,
4959 "runtime" : math .floor (int (item .get ("duration" , 0 )) / 60000 ),
5060 "poster" : (f'{ images_base_url } ?path={ thumb } ' ) if thumb else "" ,
0 commit comments