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 }