1414
1515from . import db_file_meta_data
1616from .exceptions import FileMetaDataNotFoundError
17- from .models import FileMetaData , FileMetaDataAtDB , UserID
17+ from .models import FileMetaData , FileMetaDataAtDB
1818from .utils import convert_db_to_model
1919
2020
@@ -78,6 +78,16 @@ async def expand_directory(
7878 return result
7979
8080
81+ async def get_fmd (
82+ conn : SAConnection , s3_file_id : StorageFileID
83+ ) -> FileMetaDataAtDB | None :
84+ with suppress (FileMetaDataNotFoundError ):
85+ return await db_file_meta_data .get (
86+ conn , TypeAdapter (SimcoreS3FileID ).validate_python (s3_file_id )
87+ )
88+ return None
89+
90+
8191def get_simcore_directory (file_id : SimcoreS3FileID ) -> str :
8292 try :
8393 directory_id = SimcoreS3DirectoryID .from_simcore_s3_object (file_id )
@@ -94,16 +104,7 @@ async def get_directory_file_id(
94104 in the `file_meta_data` table
95105 """
96106
97- async def _get_fmd (
98- conn : SAConnection , s3_file_id : StorageFileID
99- ) -> FileMetaDataAtDB | None :
100- with suppress (FileMetaDataNotFoundError ):
101- return await db_file_meta_data .get (
102- conn , TypeAdapter (SimcoreS3FileID ).validate_python (s3_file_id )
103- )
104- return None
105-
106- provided_file_id_fmd = await _get_fmd (conn , file_id )
107+ provided_file_id_fmd = await get_fmd (conn , file_id )
107108 if provided_file_id_fmd :
108109 # file_meta_data exists it is not a directory
109110 return None
@@ -116,23 +117,6 @@ async def _get_fmd(
116117 directory_file_id = TypeAdapter (SimcoreS3FileID ).validate_python (
117118 directory_file_id_str
118119 )
119- directory_file_id_fmd = await _get_fmd (conn , directory_file_id )
120+ directory_file_id_fmd = await get_fmd (conn , directory_file_id )
120121
121122 return directory_file_id if directory_file_id_fmd else None
122-
123-
124- async def find_enclosing_file (
125- conn : SAConnection , user_id : UserID , file_id : SimcoreS3FileID
126- ) -> FileMetaDataAtDB | None :
127- known_files = {
128- Path (known_file .file_id ): known_file
129- for known_file in await db_file_meta_data .list_fmds (conn , user_id = user_id )
130- }
131- current_path = Path (file_id )
132- while current_path and current_path != Path (current_path ).parent :
133- if current_path in known_files :
134- return known_files .get (current_path )
135-
136- current_path = Path (current_path ).parent
137-
138- return None
0 commit comments