@@ -79,17 +79,45 @@ def title_search(query: str) -> int:
7979
8080 for i , dict_title in enumerate (data ):
8181 try :
82+ images = dict_title .get ('images' ) or []
83+ filename = None
84+ preferred_types = ['poster' , 'cover' , 'cover_mobile' , 'background' ]
85+ for ptype in preferred_types :
86+ for img in images :
87+ if img .get ('type' ) == ptype and img .get ('filename' ):
88+ filename = img .get ('filename' )
89+ break
90+
91+ if filename :
92+ break
93+
94+ if not filename and images :
95+ filename = images [0 ].get ('filename' )
96+
97+ image_url = None
98+ if filename :
99+ image_url = f"{ site_constant .FULL_URL .replace ('stream' , 'cdn.stream' )} /images/{ filename } "
100+
101+ # Extract date: prefer last_air_date, otherwise try translations (last_air_date or release_date)
102+ date = dict_title .get ('last_air_date' )
103+ if not date :
104+ for trans in dict_title .get ('translations' ) or []:
105+ if trans .get ('key' ) in ('last_air_date' , 'release_date' ) and trans .get ('value' ):
106+ date = trans .get ('value' )
107+ break
108+
82109 media_search_manager .add_media ({
83110 'id' : dict_title .get ('id' ),
84111 'slug' : dict_title .get ('slug' ),
85112 'name' : dict_title .get ('name' ),
86113 'type' : dict_title .get ('type' ),
87- 'date' : dict_title . get ( 'last_air_date' ) ,
88- 'image' : f" { site_constant . FULL_URL . replace ( 'stream' , 'cdn.stream' ) } /images/ { dict_title . get ( 'images' )[ 0 ]. get ( 'filename' ) } "
114+ 'date' : date ,
115+ 'image' : image_url
89116 })
90117
91118 if site_constant .TELEGRAM_BOT :
92- choice_text = f"{ i } - { dict_title .get ('name' )} ({ dict_title .get ('type' )} ) - { dict_title .get ('last_air_date' )} "
119+ choice_date = date if date else "N/A"
120+ choice_text = f"{ i } - { dict_title .get ('name' )} ({ dict_title .get ('type' )} ) - { choice_date } "
93121 choices .append (choice_text )
94122
95123 except Exception as e :
0 commit comments