Spaces:
				
			
			
	
			
			
		Running
		
			on 
			
			Zero
	
	
	
			
			
	
	
	
	
		
		
		Running
		
			on 
			
			Zero
	Update breed_recommendation.py
Browse files- breed_recommendation.py +13 -8
    	
        breed_recommendation.py
    CHANGED
    
    | @@ -214,12 +214,8 @@ def create_recommendation_tab(UserPreferences, get_breed_recommendations, format | |
| 214 | 
             
                                elem_id="recommendation-output"  
         | 
| 215 | 
             
                            )
         | 
| 216 |  | 
| 217 | 
            -
                    def show_loading_status():
         | 
| 218 | 
            -
                        return gr.HTML.update(visible=True)
         | 
| 219 | 
            -
             | 
| 220 | 
             
                    def on_find_match_click(*args):
         | 
| 221 | 
             
                        try:
         | 
| 222 | 
            -
                            yield ["", gr.HTML.update(visible=True)]
         | 
| 223 | 
             
                            print("Starting breed matching process...")
         | 
| 224 | 
             
                            user_prefs = UserPreferences(
         | 
| 225 | 
             
                            living_space=args[0],
         | 
| @@ -269,9 +265,9 @@ def create_recommendation_tab(UserPreferences, get_breed_recommendations, format | |
| 269 | 
             
                                results=history_results
         | 
| 270 | 
             
                            )
         | 
| 271 |  | 
| 272 | 
            -
                             | 
| 273 | 
             
                                format_recommendation_html(recommendations, is_description_search=False),
         | 
| 274 | 
            -
                                gr.HTML.update(visible=False)
         | 
| 275 | 
             
                            ]
         | 
| 276 |  | 
| 277 | 
             
                        except Exception as e:
         | 
| @@ -279,8 +275,18 @@ def create_recommendation_tab(UserPreferences, get_breed_recommendations, format | |
| 279 | 
             
                            import traceback
         | 
| 280 | 
             
                            print(traceback.format_exc())
         | 
| 281 | 
             
                            return ["Error getting recommendations", gr.HTML.update(visible=False)]
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 282 |  | 
| 283 | 
             
                    get_recommendations_btn.click(
         | 
|  | |
|  | |
|  | |
|  | |
| 284 | 
             
                        fn=on_find_match_click,
         | 
| 285 | 
             
                        inputs=[
         | 
| 286 | 
             
                            living_space,
         | 
| @@ -295,8 +301,7 @@ def create_recommendation_tab(UserPreferences, get_breed_recommendations, format | |
| 295 | 
             
                            children_age,
         | 
| 296 | 
             
                            noise_tolerance
         | 
| 297 | 
             
                        ],
         | 
| 298 | 
            -
                        outputs=[recommendation_output, search_status] | 
| 299 | 
            -
                        queue=True  # 確保異步處理
         | 
| 300 | 
             
                    )
         | 
| 301 |  | 
| 302 | 
             
                return {
         | 
|  | |
| 214 | 
             
                                elem_id="recommendation-output"  
         | 
| 215 | 
             
                            )
         | 
| 216 |  | 
|  | |
|  | |
|  | |
| 217 | 
             
                    def on_find_match_click(*args):
         | 
| 218 | 
             
                        try:
         | 
|  | |
| 219 | 
             
                            print("Starting breed matching process...")
         | 
| 220 | 
             
                            user_prefs = UserPreferences(
         | 
| 221 | 
             
                            living_space=args[0],
         | 
|  | |
| 265 | 
             
                                results=history_results
         | 
| 266 | 
             
                            )
         | 
| 267 |  | 
| 268 | 
            +
                            return [
         | 
| 269 | 
             
                                format_recommendation_html(recommendations, is_description_search=False),
         | 
| 270 | 
            +
                                gr.HTML.update(visible=False)  # 隱藏搜尋狀態
         | 
| 271 | 
             
                            ]
         | 
| 272 |  | 
| 273 | 
             
                        except Exception as e:
         | 
|  | |
| 275 | 
             
                            import traceback
         | 
| 276 | 
             
                            print(traceback.format_exc())
         | 
| 277 | 
             
                            return ["Error getting recommendations", gr.HTML.update(visible=False)]
         | 
| 278 | 
            +
             | 
| 279 | 
            +
                    def update_status_and_process(*args):
         | 
| 280 | 
            +
                        return [
         | 
| 281 | 
            +
                            "",  # 清空現有結果
         | 
| 282 | 
            +
                            gr.HTML.update(visible=True)  # 顯示載入狀態
         | 
| 283 | 
            +
                        ]
         | 
| 284 |  | 
| 285 | 
             
                    get_recommendations_btn.click(
         | 
| 286 | 
            +
                        fn=update_status_and_process,  # 先更新狀態
         | 
| 287 | 
            +
                        outputs=[recommendation_output, search_status],
         | 
| 288 | 
            +
                        queue=False  # 確保立即執行
         | 
| 289 | 
            +
                    ).then(  # 然後執行主要處理
         | 
| 290 | 
             
                        fn=on_find_match_click,
         | 
| 291 | 
             
                        inputs=[
         | 
| 292 | 
             
                            living_space,
         | 
|  | |
| 301 | 
             
                            children_age,
         | 
| 302 | 
             
                            noise_tolerance
         | 
| 303 | 
             
                        ],
         | 
| 304 | 
            +
                        outputs=[recommendation_output, search_status]
         | 
|  | |
| 305 | 
             
                    )
         | 
| 306 |  | 
| 307 | 
             
                return {
         | 
