from toloka2MediaServer.config_parser import load_configurations, get_toloka_client from toloka2MediaServer.logger_setup import setup_logging from toloka2MediaServer.models.config import Config from toloka2MediaServer.clients.dynamic import dynamic_client_init def initiate_config(): app_config_path = "data/app.ini" title_config_path = "data/titles.ini" logger_path = "data/app_web.log" app_config, titles_config, application_config = load_configurations( app_config_path, title_config_path ) toloka = get_toloka_client(application_config) logger = setup_logging(logger_path) config = Config( logger=logger, toloka=toloka, app_config=app_config, titles_config=titles_config, application_config=application_config, ) client = dynamic_client_init(config) config.client = client return config def serialize_operation_result(operation_result): return { "operation_type": ( operation_result.operation_type.name if operation_result.operation_type else None ), "torrent_references": [ str(torrent) for torrent in operation_result.torrent_references ], "titles_references": [ str(titles) for titles in operation_result.titles_references ], "status_message": operation_result.status_message, "response_code": ( operation_result.response_code.name if operation_result.response_code else None ), "operation_logs": operation_result.operation_logs, "start_time": ( operation_result.start_time.isoformat() if operation_result.start_time else None ), "end_time": ( operation_result.end_time.isoformat() if operation_result.end_time else None ), }