@@ -290,41 +290,61 @@ def display_episodes_list(episodes_manager) -> str:
290290 # Set up table for displaying episodes
291291 table_show_manager = TVShowManager ()
292292
293- # Check if any episode has a non-empty category
293+ # Check if any episode has non-empty fields
294294 has_category = False
295+ has_number = False
296+ has_duration = False
297+
295298 for media in episodes_manager :
296299 category = media .get ('category' ) if isinstance (media , dict ) else getattr (media , 'category' , None )
300+ number = media .get ('number' ) if isinstance (media , dict ) else getattr (media , 'number' , None )
301+ duration = media .get ('duration' ) if isinstance (media , dict ) else getattr (media , 'duration' , None )
302+
297303 if category is not None and str (category ).strip () != '' :
298304 has_category = True
299- break
305+ if number is not None and str (number ).strip () != '' :
306+ has_number = True
307+ if duration is not None and str (duration ).strip () != '' :
308+ has_duration = True
300309
301310 # Add columns to the table
302311 column_info = {
303312 "Index" : {'color' : 'red' },
304- "Name" : {'color' : 'magenta' },
305313 }
306314
315+ if has_number :
316+ column_info ["Number" ] = {'color' : 'cyan' }
317+
318+ column_info ["Name" ] = {'color' : 'magenta' }
319+
307320 if has_category :
308321 column_info ["Category" ] = {'color' : 'green' }
309322
310- column_info ["Duration" ] = {'color' : 'blue' }
323+ if has_duration :
324+ column_info ["Duration" ] = {'color' : 'blue' }
311325
312326 table_show_manager .add_column (column_info )
313327
314328 # Populate the table with episodes information
315329 for i , media in enumerate (episodes_manager ):
316330 name = media .get ('name' ) if isinstance (media , dict ) else getattr (media , 'name' , None )
331+ number = media .get ('number' ) if isinstance (media , dict ) else getattr (media , 'number' , None )
317332 duration = media .get ('duration' ) if isinstance (media , dict ) else getattr (media , 'duration' , None )
318333 category = media .get ('category' ) if isinstance (media , dict ) else getattr (media , 'category' , None )
319334
320335 episode_info = {
321336 'Index' : str (i + 1 ),
322337 'Name' : name ,
323- 'Duration' : duration ,
324338 }
325339
340+ if has_number :
341+ episode_info ['Number' ] = number
342+
326343 if has_category :
327344 episode_info ['Category' ] = category
345+
346+ if has_duration :
347+ episode_info ['Duration' ] = duration
328348
329349 table_show_manager .add_tv_show (episode_info )
330350
0 commit comments