File tree Expand file tree Collapse file tree 2 files changed +24
-8
lines changed
Expand file tree Collapse file tree 2 files changed +24
-8
lines changed Original file line number Diff line number Diff line change @@ -164,13 +164,20 @@ def process_result(x):
164164
165165
166166def get_folder_metadata (project , folder_name ):
167- folders = search_folders (project , folder_name , return_metadata = True )
168- if len (folders ) == 0 :
169- raise SABaseException (0 , "Folder doesn't exist" )
170- elif len (folders ) > 1 :
171- raise SABaseException (0 , "Multiple folders with the same name" )
172- else :
173- return folders [0 ]
167+ if not isinstance (project , dict ):
168+ project = get_project_metadata_bare (project )
169+ team_id , project_id = project ["team_id" ], project ["id" ]
170+ params = {'team_id' : team_id , 'project_id' : project_id , 'name' : folder_name }
171+ response = _api .send_request (
172+ req_type = 'GET' , path = '/folder/getFolderByName' , params = params
173+ )
174+ if not response .ok :
175+ raise SABaseException (
176+ response .status_code ,
177+ "Couldn't get folder metadata " + response .text
178+ )
179+ res = response .json ()
180+ return res
174181
175182
176183def search_folders (project , folder_name = None , return_metadata = False ):
Original file line number Diff line number Diff line change 11from pathlib import Path
22import json
3+ from superannotate .exceptions import SABaseException
34
45import pytest
56
@@ -40,4 +41,12 @@ def test_basic_folders(tmpdir):
4041 assert folders [0 ] == "folder1"
4142
4243 images = sa .search_images (project , "example_image_1" , folder = "folder1" )
43- assert len (images ) == 0
44+ assert len (images ) == 0
45+
46+ folder = sa .get_folder_metadata (project , "folder1" )
47+ assert isinstance (folder , dict )
48+ assert folder ["name" ] == "folder1"
49+
50+ with pytest .raises (SABaseException ) as e :
51+ folder = sa .get_folder_metadata (project , "folder2" )
52+ assert 'Folder not found' in str (e )
You can’t perform that action at this time.
0 commit comments