@@ -40,8 +40,8 @@ def print_footer():
4040 print ("═" * 60 )
4141
4242def list_projects_by_category (category_name ):
43- filtered = [p for p in PROJECTS if p [ "category" ] == category_name ]
44- filtered_sorted = sorted (filtered , key = lambda p : p [ "name" ] )
43+ filtered = [p for p in PROJECTS if p . get ( "category" , "" ) == category_name ]
44+ filtered_sorted = sorted (filtered , key = lambda p : p . get ( "name" , "" ) )
4545 return filtered_sorted
4646
4747def launch_project (path ):
@@ -100,9 +100,9 @@ def category_menu(category_key, category_title):
100100
101101 items = list_projects_by_category (category_key )
102102 for idx , item in enumerate (items , start = 1 ):
103- difficulty = DIFFICULTY_BADGES .get (item [ "difficulty" ], item [ "difficulty" ] )
104- print (f" [{ idx :2d} ] { item [ 'emoji' ] } { item [ 'name' ] :30s} [{ difficulty } ]" )
105- print (f" { item [ 'description' ] } " )
103+ difficulty = DIFFICULTY_BADGES .get (item . get ( "difficulty" , "Unknown" ), item . get ( "difficulty" , "Unknown" ) )
104+ print (f" [{ idx :2d} ] { item . get ( 'emoji' , '' ) } { item . get ( 'name' , '' ) :30s} [{ difficulty } ]" )
105+ print (f" { item . get ( 'description' , '' ) } " )
106106 print ()
107107
108108 print (f" [B] 🔙 Back to Main Menu" )
@@ -148,10 +148,10 @@ def search_menu():
148148 print ("─" * 60 )
149149
150150 for idx , item in enumerate (results , start = 1 ):
151- cat_emoji = CATEGORY_EMOJIS .get (item [ "category" ] , "" )
152- difficulty = DIFFICULTY_BADGES .get (item [ "difficulty" ], item [ "difficulty" ] )
153- print (f" [{ idx :2d} ] { cat_emoji } { item [ 'name' ] :30s} [{ difficulty } ]" )
154- print (f" { item [ 'description' ] } " )
151+ cat_emoji = CATEGORY_EMOJIS .get (item . get ( "category" , "" ) , "" )
152+ difficulty = DIFFICULTY_BADGES .get (item . get ( "difficulty" , "Unknown" ), item . get ( "difficulty" , "Unknown" ) )
153+ print (f" [{ idx :2d} ] { cat_emoji } { item . get ( 'name' , '' ) :30s} [{ difficulty } ]" )
154+ print (f" { item . get ( 'description' , '' ) } " )
155155 print ()
156156
157157 print (f" [B] 🔙 Back to Main Menu" )
@@ -177,12 +177,12 @@ def list_all_menu():
177177 print (" 📋 All Projects" )
178178 print ("─" * 60 )
179179
180- sorted_all = sorted (PROJECTS , key = lambda p : (p [ "category" ], p [ "name" ] ))
180+ sorted_all = sorted (PROJECTS , key = lambda p : (p . get ( "category" , "" ), p . get ( "name" , "" ) ))
181181 for idx , item in enumerate (sorted_all , start = 1 ):
182- cat_emoji = CATEGORY_EMOJIS .get (item [ "category" ] , "" )
183- difficulty = DIFFICULTY_BADGES .get (item [ "difficulty" ], item [ "difficulty" ] )
184- print (f" [{ idx :2d} ] { cat_emoji } { item [ 'name' ] :30s} [{ difficulty } ]" )
185- print (f" { item [ 'description' ] } " )
182+ cat_emoji = CATEGORY_EMOJIS .get (item . get ( "category" , "" ) , "" )
183+ difficulty = DIFFICULTY_BADGES .get (item . get ( "difficulty" , "Unknown" ), item . get ( "difficulty" , "Unknown" ) )
184+ print (f" [{ idx :2d} ] { cat_emoji } { item . get ( 'name' , '' ) :30s} [{ difficulty } ]" )
185+ print (f" { item . get ( 'description' , '' ) } " )
186186 print ()
187187
188188 print (f" [B] 🔙 Back to Main Menu" )
0 commit comments