From 164c2c34df38788d7a2df3322ad19183e56f1ac3 Mon Sep 17 00:00:00 2001 From: Maria Khrustaleva Date: Mon, 1 Aug 2022 11:00:29 +0200 Subject: [PATCH] Images should be searched relative to the manifest file on cloud storage (#8) --- CHANGELOG.md | 1 + cvat-sdk/.openapi-generator/VERSION | 2 +- cvat-sdk/cvat_sdk/api/cloud_storages_api.py | 10 +--- cvat-sdk/docs/CloudStoragesApi.md | 4 +- cvat/apps/engine/task.py | 14 ++++- cvat/apps/engine/views.py | 10 +++- tests/rest_api/assets/cloudstorages.json | 4 +- .../rest_api/assets/cvat_db/cvat_data.tar.bz2 | Bin 50225 -> 54868 bytes tests/rest_api/assets/cvat_db/data.json | 4 +- tests/rest_api/assets/users.json | 2 +- tests/rest_api/docker-compose.minio.yml | 10 +++- tests/rest_api/test_cloud_storages.py | 17 ++++-- tests/rest_api/test_tasks.py | 55 ++++++++++++++---- 13 files changed, 96 insertions(+), 37 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1d99f09644f8..5132de4e35dd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -45,6 +45,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Request Status Code 500 "StopIteration" when exporting dataset - Generated OpenAPI schema for several endpoints - Annotation window might have top offset if try to move a locked object +- Image search in cloud storage () ### Security - TDB diff --git a/cvat-sdk/.openapi-generator/VERSION b/cvat-sdk/.openapi-generator/VERSION index 89648de3311c..66672d4e9d31 100644 --- a/cvat-sdk/.openapi-generator/VERSION +++ b/cvat-sdk/.openapi-generator/VERSION @@ -1 +1 @@ -6.0.1-SNAPSHOT \ No newline at end of file +6.1.0-SNAPSHOT \ No newline at end of file diff --git a/cvat-sdk/cvat_sdk/api/cloud_storages_api.py b/cvat-sdk/cvat_sdk/api/cloud_storages_api.py index 21f6cb567d8f..25027c63230f 100644 --- a/cvat-sdk/cvat_sdk/api/cloud_storages_api.py +++ b/cvat-sdk/cvat_sdk/api/cloud_storages_api.py @@ -385,9 +385,7 @@ def __init__(self, api_client=None): ) self.cloudstorages_retrieve_content_endpoint = _Endpoint( settings={ - "response_schema": ( - {str: (bool, date, datetime, dict, float, int, list, str, none_type)}, - ), + "response_schema": ([str],), "auth": ["SignatureAuthentication", "basicAuth", "cookieAuth", "tokenAuth"], "endpoint_path": "/api/cloudstorages/{id}/content", "operation_id": "cloudstorages_retrieve_content", @@ -1050,9 +1048,7 @@ def cloudstorages_retrieve_content( _request_auths: typing.Optional[typing.List] = None, _async_call: bool = False, **kwargs, - ) -> typing.Tuple[ - typing.Optional[typing.Dict[str, typing.Union[typing.Any, none_type]]], urllib3.HTTPResponse - ]: + ) -> typing.Tuple[typing.Optional[typing.List[str]], urllib3.HTTPResponse]: """Method returns a manifest content # noqa: E501 This method makes a synchronous HTTP request by default. To make an @@ -1102,7 +1098,7 @@ def cloudstorages_retrieve_content( _async_call (bool): execute request asynchronously Returns: - ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}, HTTPResponse) + ([str], HTTPResponse) If the method is called asynchronously, returns the request thread. """ diff --git a/cvat-sdk/docs/CloudStoragesApi.md b/cvat-sdk/docs/CloudStoragesApi.md index 233641ba39eb..cf5f3caa1cdb 100644 --- a/cvat-sdk/docs/CloudStoragesApi.md +++ b/cvat-sdk/docs/CloudStoragesApi.md @@ -734,7 +734,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **cloudstorages_retrieve_content** -> {str: (bool, date, datetime, dict, float, int, list, str, none_type)} cloudstorages_retrieve_content(id) +> [str] cloudstorages_retrieve_content(id) Method returns a manifest content @@ -826,7 +826,7 @@ Name | Type | Description | Notes ### Return type -**{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** +**[str]** ### Authorization diff --git a/cvat/apps/engine/task.py b/cvat/apps/engine/task.py index 269323f16f1d..9f11db2e4b16 100644 --- a/cvat/apps/engine/task.py +++ b/cvat/apps/engine/task.py @@ -348,8 +348,20 @@ def _create_thread(db_task, data, isBackupRestore=False, isDatasetImport=False): os.path.join(db_data.cloud_storage.get_storage_dirname(), manifest_file), db_data.cloud_storage.get_storage_dirname() ) + cloud_storage_manifest_prefix = os.path.dirname(manifest_file) cloud_storage_manifest.set_index() - sequence, content = cloud_storage_manifest.get_subset(sorted_media) + if cloud_storage_manifest_prefix: + sorted_media_without_manifest_prefix = [ + os.path.relpath(i, cloud_storage_manifest_prefix) for i in sorted_media + ] + sequence, raw_content = cloud_storage_manifest.get_subset(sorted_media_without_manifest_prefix) + def _add_prefix(properties): + file_name = properties['name'] + properties['name'] = os.path.join(cloud_storage_manifest_prefix, file_name) + return properties + content = list(map(_add_prefix, raw_content)) + else: + sequence, content = cloud_storage_manifest.get_subset(sorted_media) sorted_content = (i[1] for i in sorted(zip(sequence, content))) manifest.create(sorted_content) diff --git a/cvat/apps/engine/views.py b/cvat/apps/engine/views.py index d4e4abccf62b..f516d86219fb 100644 --- a/cvat/apps/engine/views.py +++ b/cvat/apps/engine/views.py @@ -30,6 +30,7 @@ OpenApiParameter, OpenApiResponse, PolymorphicProxySerializer, extend_schema_view, extend_schema ) +from drf_spectacular.plumbing import build_array_type, build_basic_type from rest_framework import mixins, serializers, status, viewsets from rest_framework.decorators import action @@ -1895,7 +1896,7 @@ def create(self, request, *args, **kwargs): location=OpenApiParameter.QUERY, type=OpenApiTypes.STR), ], responses={ - '200': OpenApiResponse(response=OpenApiTypes.OBJECT, description='A manifest content'), + '200': OpenApiResponse(response=build_array_type(build_basic_type(OpenApiTypes.STR)), description='A manifest content'), }) @action(detail=True, methods=['GET'], url_path='content') def content(self, request, pk): @@ -1906,6 +1907,7 @@ def content(self, request, pk): if not db_storage.manifests.count(): raise Exception('There is no manifest file') manifest_path = request.query_params.get('manifest_path', db_storage.manifests.first().filename) + manifest_prefix = os.path.dirname(manifest_path) file_status = storage.get_file_status(manifest_path) if file_status == CloudStorageStatus.NOT_FOUND: raise FileNotFoundError(errno.ENOENT, @@ -1921,7 +1923,7 @@ def content(self, request, pk): manifest = ImageManifestManager(full_manifest_path, db_storage.get_storage_dirname()) # need to update index manifest.set_index() - manifest_files = manifest.data + manifest_files = [os.path.join(manifest_prefix, f) for f in manifest.data] return Response(data=manifest_files, content_type="text/plain") except CloudStorageModel.DoesNotExist: @@ -1958,6 +1960,7 @@ def preview(self, request, pk): raise Exception('Cannot get the cloud storage preview. There is no manifest file') preview_path = None for manifest_model in db_storage.manifests.all(): + manifest_prefix = os.path.dirname(manifest_model.filename) full_manifest_path = os.path.join(db_storage.get_storage_dirname(), manifest_model.filename) if not os.path.exists(full_manifest_path) or \ datetime.utcfromtimestamp(os.path.getmtime(full_manifest_path)).replace(tzinfo=pytz.UTC) < storage.get_file_last_modified(manifest_model.filename): @@ -1971,7 +1974,8 @@ def preview(self, request, pk): if not len(manifest): continue preview_info = manifest[0] - preview_path = ''.join([preview_info['name'], preview_info['extension']]) + preview_filename = ''.join([preview_info['name'], preview_info['extension']]) + preview_path = os.path.join(manifest_prefix, preview_filename) break if not preview_path: msg = 'Cloud storage {} does not contain any images'.format(pk) diff --git a/tests/rest_api/assets/cloudstorages.json b/tests/rest_api/assets/cloudstorages.json index ad27a81e721d..4cda853ec930 100644 --- a/tests/rest_api/assets/cloudstorages.json +++ b/tests/rest_api/assets/cloudstorages.json @@ -32,7 +32,7 @@ "display_name": "Bucket 2", "id": 2, "manifests": [ - "manifest.jsonl" + "sub/manifest.jsonl" ], "organization": 2, "owner": { @@ -45,7 +45,7 @@ "provider_type": "AWS_S3_BUCKET", "resource": "private", "specific_attributes": "endpoint_url=http%3A%2F%2Fminio%3A9000", - "updated_date": "2022-03-17T07:23:59.309000Z" + "updated_date": "2022-07-13T12:46:45.587000Z" }, { "created_date": "2022-03-17T07:22:49.519000Z", diff --git a/tests/rest_api/assets/cvat_db/cvat_data.tar.bz2 b/tests/rest_api/assets/cvat_db/cvat_data.tar.bz2 index 79c5b0f9c73f9677a7348b937b166e3074e6358a..5736377960d58cdf054ddad7d4fbce05fb519181 100644 GIT binary patch literal 54868 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�E@B}19;xKQKq5*itAc!DeCx2))E57)>G1-Er-H$#pmBYFS2I$+Qx#bo`1NMXA z(-k(_bI01Bo35p-*HhemR_LK_@|^dOO*!nW{!D+zC5v_7(ca_i<9>V*gCk+WYX>@Z zHx_>baFB$SWEen_6!Y!=dLF?_0Pm;S)E|HDHxYvJe^`8e>%Fv@ zA|CT`SSj~_EJEu2>8w1mbIN|GC4{uvkb{7Ej(ntG|8An~!zcY?YsKXM+ZyZzDtFtL zGR<-DSxNNRq`S}mwL?PXD`5ms`%&)Z16;v^jrTNZ-V8K=C=Vr*L&-m>e9+JF=iWP3 zBECJnx0|pn?v<;)ZFW$z{8R-KD`|Kn|E&F{0Gx+d`c&;iIbN~1bKj{*5=qLyFJ^2@*cS=kHy1TwXs<;`iL=+?K;j9lXg^s zZgc{iZ!x=C$wW`<2%-Hqp8s&Ih~vH)xp>yzcOXw<*ZS4T!Li~$>CCMI-H`;KB#s5G zVGG~ayGtx6HQ6`XW$h;MCUHgyXR5zjR!gR!8O}oTTC8yC`Eij z*$pD1V!=*9@<)WH6_fy$jpGW0gcL3f_X+?dvij1{kw2rGvFPrC6r~=5af%7?re#Ux zQ1w}D6icx$cAd^Kyc?VaIpaIu#Blk8p=!iq#0On?ugzgLIl35o9(M;dUFYxaR&H%L zAm~6qL?O8pS=u-G9c4Bx^pzM6kY`OST~)5n#hmtHE|IwUt#HEazPte-_j8?IsHJ0d zI6N;cNo>32W7pcqp&JBp941hdJT0<`p3(z`vvXNzd4sK1G}BDBT>js& z#+(1K67bi7wENoDQia{kbO?<6!{5viQW6k^P6Po3s1P8B-s9i$*@>&~^#V!qB7?cL zdO}3uoK?E;HK*Nm*vaiKKZ13bPRcqb7&HAmTmI%j=+@YztJoh8!FoIw=ALMtSg$(T z_fQfV-S>B$!1@a-W?VvZn^G>!n>acM0WWRTD#VkPs=JWbJ>B{7s6ZZ*;l4STKMU1- zFu<$S=0Q%71u;SZZrCbw7d|2&CmqCR#E}pJ3)PCWR6)t;LP!x{j{WCNE~}$B79Gk8998v;~~LR3OXcJ}S2kkANh5QbIUXr@c3d_+9`(%NJMdWAxyK z-qh%2dA+Ap>-~xJ-@Wr)&jsVgdk3*{K@dPe34fQGa(QdQN6Q}N) z+hwhME>(I$#1R$s!UROtz^DetOY(9D4{OruGhUBgAZqGk_ZeNRO|OqT^MC5v`!Ues z=rBKn*l)8G8s17t)#N}4Xs7r}rqbmzw6U1b5LaWb)fmei$@;IAqJ3_W+)=)nfjjl= z-!0C!|E9fK%(Pr}qA#<`^)$26ba{*dp3>|Y+qItmBKe%6?ml%s4fbQ1rEZ~5rN0H| zo&pch2rvNxPx;71B1XhT97Xd*df#iO Vj${e7BMp!L7ji{7P>?LO>9ReMONsyh literal 50225 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

T;5{@%aZRX3GR&Qra) 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 RqStatus: for _ in range(100): @@ -282,14 +291,14 @@ def _wait_until_task_is_created(api: TasksApi, task_id: int) -> RqStatus: sleep(1) raise Exception('Cannot create task') - def _test_create_task(self, username, spec, data, files): + def _test_create_task(self, username, spec, data, content_type, **kwargs): with make_api_client(username) as api_client: - (task, response) = api_client.tasks_api.create(TaskWriteRequest(**spec)) + (task, response) = api_client.tasks_api.create(TaskWriteRequest(**spec), **kwargs) assert response.status == HTTPStatus.CREATED - task_data = DataRequest(**data, client_files=list(files.values())) + task_data = DataRequest(**data) (_, response) = api_client.tasks_api.create_data(task.id, task_data, - _content_type="multipart/form-data") + _content_type=content_type, **kwargs) assert response.status == HTTPStatus.ACCEPTED status = self._wait_until_task_is_created(api_client.tasks_api, task.id) @@ -298,9 +307,8 @@ def _test_create_task(self, username, spec, data, files): return task.id def test_can_create_task_with_defined_start_and_stop_frames(self): - username = 'admin1' task_spec = { - 'name': f'test {username} to create a task with defined start and stop frames', + 'name': f'test {self._USERNAME} to create a task with defined start and stop frames', "labels": [{ "name": "car", "color": "#ff00ff", @@ -319,15 +327,38 @@ def test_can_create_task_with_defined_start_and_stop_frames(self): task_data = { 'image_quality': 75, 'start_frame': 2, - 'stop_frame': 5 - } - task_files = { - f'client_files[{i}]': image for i, image in enumerate(generate_image_files(7)) + 'stop_frame': 5, + 'client_files': generate_image_files(7), } - task_id = self._test_create_task(username, task_spec, task_data, task_files) + task_id = self._test_create_task(self._USERNAME, task_spec, task_data, content_type="multipart/form-data") # check task size - with make_api_client(username) as api_client: + with make_api_client(self._USERNAME) as api_client: (task, _) = api_client.tasks_api.retrieve(task_id) assert task.size == 4 + + @pytest.mark.parametrize('cloud_storage_id, manifest, org', [ + (1, 'manifest.jsonl', ''), # public bucket + (2, 'sub/manifest.jsonl', 'org2'), # private bucket + ]) + def test_create_task_with_cloud_storage_files(self, cloud_storage_id, manifest, org): + cloud_storage_content = get_cloud_storage_content(self._USERNAME, cloud_storage_id, manifest) + cloud_storage_content.append(manifest) + + task_spec = { + "name": f"Task with files from cloud storage {cloud_storage_id}", + "labels": [{ + "name": "car", + }], + } + + data_spec = { + 'image_quality': 75, + 'use_cache': True, + 'storage': 'cloud_storage', + 'cloud_storage_id': cloud_storage_id, + 'server_files': cloud_storage_content, + } + + _ = self._test_create_task(self._USERNAME, task_spec, data_spec, content_type="application/json", org=org)