From 63db3c0758c836758d5cc1bc35c33a216f0642d9 Mon Sep 17 00:00:00 2001 From: Stanislav Hejny Date: Wed, 9 Apr 2025 20:19:50 +0100 Subject: [PATCH] Added support for file download --- amqp/adapter/cleverthis_service_adapter.py | 5 ++++- cleverswarm/clever_swarm_adapter.py | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/amqp/adapter/cleverthis_service_adapter.py b/amqp/adapter/cleverthis_service_adapter.py index 9eebb88..9c236ab 100644 --- a/amqp/adapter/cleverthis_service_adapter.py +++ b/amqp/adapter/cleverthis_service_adapter.py @@ -20,7 +20,6 @@ from fastapi import HTTPException from starlette.responses import FileResponse from amqp.adapter.data_response_factory import DataResponseFactory -from amqp.adapter.pydantic_serializer import JSONConverter from amqp.config.amq_configuration import AMQConfiguration from amqp.model.model import DataMessage, DataResponse from amqp.adapter.multipart_parser import CleverMultiPartParser, process_form_data @@ -29,6 +28,10 @@ from amqp.adapter.file_uploader import publish_file_to_rabbitmq @dataclass class AMQMessage(DataMessage): + """ + Expand the core DataMessage type to include the channel, which is required to create a dedicated queue + in case the response should initiate file download. + """ def __init__(self, data_message: DataMessage, channel: AbstractRobustChannel): # Copy all fields from DataMessage self.magic = data_message.magic diff --git a/cleverswarm/clever_swarm_adapter.py b/cleverswarm/clever_swarm_adapter.py index 49e7e6b..84d852a 100644 --- a/cleverswarm/clever_swarm_adapter.py +++ b/cleverswarm/clever_swarm_adapter.py @@ -21,10 +21,10 @@ from schemas.user_schema import UserSchema # AMQP specific imports from amqp.adapter.data_response_factory import AMQResponseFactory from amqp.adapter.cleverthis_service_adapter import CleverThisServiceAdapter, \ - parse_get_url, call_cleverthis_api, AMQMessage + parse_get_url, call_cleverthis_api from amqp.adapter.multipart_parser import CleverMultiPartParser from amqp.config.amq_configuration import AMQConfiguration -from amqp.model.model import AMQResponse +from amqp.model.model import AMQMessage, AMQResponse from amqp.service.amq_service import AMQService