diff --git a/kagglesdk/competitions/types/competition_api_service.py b/kagglesdk/competitions/types/competition_api_service.py index ee3d102..e73319d 100644 --- a/kagglesdk/competitions/types/competition_api_service.py +++ b/kagglesdk/competitions/types/competition_api_service.py @@ -680,6 +680,10 @@ def endpoint(self): def endpoint_path(): return '/api/v1/competitions/data/download/{competition_name}/{file_name}' + @staticmethod + def stream(): + return True + class ApiDownloadDataFilesRequest(KaggleObject): r""" @@ -714,6 +718,10 @@ def endpoint(self): def endpoint_path(): return '/api/v1/competitions/data/download-all/{competition_name}' + @staticmethod + def stream(): + return True + class ApiDownloadLeaderboardRequest(KaggleObject): r""" @@ -2238,4 +2246,3 @@ def creation_date(self, creation_date: datetime): FieldMetadata("url", "url", "_url", str, None, PredefinedSerializer(), optional=True), FieldMetadata("creationDate", "creation_date", "_creation_date", datetime, None, DateTimeSerializer()), ] - diff --git a/kagglesdk/datasets/types/dataset_api_service.py b/kagglesdk/datasets/types/dataset_api_service.py index 9346757..0e70ee5 100644 --- a/kagglesdk/datasets/types/dataset_api_service.py +++ b/kagglesdk/datasets/types/dataset_api_service.py @@ -1622,6 +1622,10 @@ def endpoint(self): def endpoint_path(): return '/api/v1/datasets/download/{owner_slug}/{dataset_slug}' + @staticmethod + def stream(): + return True + class ApiGetDatasetMetadataRequest(KaggleObject): r""" @@ -3054,4 +3058,3 @@ def files(self, files: Optional[List[Optional['ApiDatasetNewFile']]]): FieldMetadata("directories", "directories", "_directories", ApiUploadDirectoryInfo, [], ListSerializer(KaggleObjectSerializer())), FieldMetadata("files", "files", "_files", ApiDatasetNewFile, [], ListSerializer(KaggleObjectSerializer())), ] - diff --git a/kagglesdk/kaggle_http_client.py b/kagglesdk/kaggle_http_client.py index 29a3b50..a673e43 100644 --- a/kagglesdk/kaggle_http_client.py +++ b/kagglesdk/kaggle_http_client.py @@ -81,7 +81,7 @@ def call( http_request = self._prepare_request(service_name, request_name, request) # Merge environment settings into session - settings = self._session.merge_environment_settings(http_request.url, {}, None, None, None) + settings = self._session.merge_environment_settings(http_request.url, {}, request.stream(), None, None) http_response = self._session.send(http_request, **settings) response = self._prepare_response(response_type, http_response) diff --git a/kagglesdk/kaggle_object.py b/kagglesdk/kaggle_object.py index 6f050e8..7c42b02 100644 --- a/kagglesdk/kaggle_object.py +++ b/kagglesdk/kaggle_object.py @@ -286,6 +286,10 @@ def prepare_from(cls, http_response): def method(): return "GET" + @staticmethod + def stream(): + return False + def _freeze(self): self._is_frozen = True