diff --git a/UI/wcag_validator_ui.py b/UI/wcag_validator_ui.py index ed4ffad..39e097b 100644 --- a/UI/wcag_validator_ui.py +++ b/UI/wcag_validator_ui.py @@ -34,39 +34,40 @@ import sqlite3 from user_task_assignment.user_assignment_manager import UserAssignmentManager from dependences_ui.utils import load_users,get_user_assessments_done -users=load_users() -user_list=list(users.keys()) -print(f"Loaded users from simple JSON: {len(user_list)}") -user_assignment_manager = UserAssignmentManager( - db_path="persistence/wcag_validator_ui.db", - config_json_path="user_task_assignment/sites_config.json", - assignments_json_path="user_task_assignment/alt_text_assignments_output_target_overlap.json", - assignments_xlsx_path="user_task_assignment/alt_text_assignments_output_target_overlap.xlsx", - -) +def user_assigment_management(): + users=load_users() + user_list=list(users.keys()) + print(f"Loaded users from simple JSON: {len(user_list)}") -# Get current managed users -managed_users_number = user_assignment_manager.get_managed_user_count() -print(f"Currently managed users from db: {managed_users_number}") -if managed_users_number !=len(user_list):# rigenenerate files only if some user numbers disalignmnets. Avoid only updates on new user registration process - print(f"Warning: Number of users in db ({managed_users_number}) does not match number of users loaded from JSON ({len(user_list)}). Re-init user assignments files.") - user_assignment_manager.register_active_users(user_list)#on startup register users loaded from JSON into the manager (creating also assignments .json amd .xml files) - # Get current managed users after regsitration alignment + user_assignment_manager = UserAssignmentManager( + db_path="persistence/wcag_validator_ui.db", + config_json_path="user_task_assignment/sites_config.json", + assignments_json_path="user_task_assignment/alt_text_assignments_output_target_overlap.json", + assignments_xlsx_path="user_task_assignment/alt_text_assignments_output_target_overlap.xlsx", + + ) + + # Get current managed users managed_users_number = user_assignment_manager.get_managed_user_count() - print(f"Currently managed users from db after alignment: {managed_users_number}") + print(f"Currently managed users from db: {managed_users_number}") + if managed_users_number !=len(user_list):# rigenenerate files only if some user numbers disalignmnets. Avoid only updates on new user registration process + print(f"Warning: Number of users in db ({managed_users_number}) does not match number of users loaded from JSON ({len(user_list)}). Re-init user assignments files.") + user_assignment_manager.register_active_users(user_list)#on startup register users loaded from JSON into the manager (creating also assignments .json amd .xml files) + # Get current managed users after regsitration alignment + managed_users_number = user_assignment_manager.get_managed_user_count() + print(f"Currently managed users from db after alignment: {managed_users_number}") -# Get current managed users after regsitration alignment + # Get current managed users after regsitration alignment -print(f"Total managed users from db: {managed_users_number}\n") -if managed_users_number !=len(user_list): - print(f"Warning: Number of users in db ({managed_users_number}) does not match number of users loaded from JSON ({len(user_list)}). Check user assignment manager initialization.") - exit(1) + print(f"Total managed users from db: {managed_users_number}\n") + if managed_users_number !=len(user_list): + print(f"Warning: Number of users in db ({managed_users_number}) does not match number of users loaded from JSON ({len(user_list)}). Check user assignment manager initialization.") + exit(1) - - -user_assignment_stats = user_assignment_manager.get_statistics() -print(f"Current assignment stats:{user_assignment_stats} \n") + user_assignment_stats = user_assignment_manager.get_statistics() + print(f"Current assignment stats:{user_assignment_stats} \n") + return user_assignment_manager @@ -807,7 +808,6 @@ with gr.Blocks(theme=gr.themes.Glass(), title="WCAG AI Validator") as demo: llm_response_output = gr.State() alttext_popup_html_state = gr.State("") - user_assignment_manager_state = gr.State(value=user_assignment_manager) user_assignment_current_status = gr.State() process_dataframe_output_state = gr.State() make_alttext_llm_assessment_api_call_output_state = gr.State() @@ -843,6 +843,9 @@ with gr.Blocks(theme=gr.themes.Glass(), title="WCAG AI Validator") as demo: print("Database connection reference available:", connection_db) connection_db.close() + user_assignment_manager=user_assigment_management() + user_assignment_manager_state = gr.State(value=user_assignment_manager) + gr.Markdown("# WCAG AI Validator UI") # login section