@@ -113,7 +113,7 @@ def _convert_dict(d: Mapping) -> glm.Content | glm.Part | glm.Blob:
113113 if "inline_data" in part :
114114 part ["inline_data" ] = to_blob (part ["inline_data" ])
115115 if "file_data" in part :
116- part ["file_data" ] = to_file_data (part ["file_data" ])
116+ part ["file_data" ] = file_types . to_file_data (part ["file_data" ])
117117 return glm .Part (part )
118118 elif is_blob_dict (d ):
119119 blob = d
@@ -161,43 +161,14 @@ def to_blob(blob: BlobType) -> glm.Blob:
161161 )
162162
163163
164- class FileDataDict (TypedDict ):
165- mime_type : str
166- file_uri : str
167-
168-
169- FileDataType = Union [FileDataDict , glm .FileData , file_types .File ]
170-
171-
172- def to_file_data (file_data : FileDataType ):
173- if isinstance (file_data , dict ):
174- if "file_uri" in file_data :
175- file_data = glm .FileData (file_data )
176- else :
177- file_data = glm .File (file_data )
178-
179- if isinstance (file_data , file_types .File ):
180- file_data = file_data .to_proto ()
181-
182- if isinstance (file_data , (glm .File , file_types .File )):
183- file_data = glm .FileData (
184- mime_type = file_data .mime_type ,
185- file_uri = file_data .uri ,
186- )
187-
188- if isinstance (file_data , glm .FileData ):
189- return file_data
190- else :
191- raise TypeError (f"Could not convert a { type (file_data )} to `FileData`" )
192-
193164
194165class PartDict (TypedDict ):
195166 text : str
196167 inline_data : BlobType
197168
198169
199170# When you need a `Part` accept a part object, part-dict, blob or string
200- PartType = Union [glm .Part , PartDict , BlobType , str , glm .FunctionCall , glm .FunctionResponse ]
171+ PartType = Union [glm .Part , PartDict , BlobType , str , glm .FunctionCall , glm .FunctionResponse , file_types . FileDataType ]
201172
202173
203174def is_part_dict (d ):
@@ -221,7 +192,7 @@ def to_part(part: PartType):
221192 elif isinstance (part , glm .FileData ):
222193 return glm .Part (file_data = part )
223194 elif isinstance (part , (glm .File , file_types .File )):
224- return glm .Part (file_data = to_file_data (part ))
195+ return glm .Part (file_data = file_types . to_file_data (part ))
225196 elif isinstance (part , glm .FunctionCall ):
226197 return glm .Part (function_call = part )
227198 elif isinstance (part , glm .FunctionResponse ):
0 commit comments