Skip to content

Commit 5eec660

Browse files
committed
Fix default_metadata for files API.
Change-Id: Ibba74ccda137fe4ac62525868e036a0a0d612348
1 parent f03ef2d commit 5eec660

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

google/generativeai/client.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import os
44
import contextlib
5+
import inspect
56
import dataclasses
67
import pathlib
78
import types
@@ -78,6 +79,7 @@ def create_file(
7879
name: str | None = None,
7980
display_name: str | None = None,
8081
resumable: bool = True,
82+
metadata:Sequence[tuple[str, str]] = ()
8183
) -> protos.File:
8284
if self._discovery_api is None:
8385
self._setup_discovery_api()
@@ -92,6 +94,8 @@ def create_file(
9294
filename=path, mimetype=mime_type, resumable=resumable
9395
)
9496
request = self._discovery_api.media().upload(body={"file": file}, media_body=media)
97+
for key,value in metadata:
98+
request.headers[key]=value
9599
result = request.execute()
96100

97101
return self.get_file({"name": result["file"]["name"]})
@@ -226,8 +230,6 @@ def make_client(self, name):
226230
def keep(name, f):
227231
if name.startswith("_"):
228232
return False
229-
elif name == "create_file":
230-
return False
231233
elif not isinstance(f, types.FunctionType):
232234
return False
233235
elif isinstance(f, classmethod):
@@ -244,7 +246,7 @@ def call(*args, metadata=(), **kwargs):
244246

245247
return call
246248

247-
for name, value in cls.__dict__.items():
249+
for name, value in inspect.getmembers(cls):
248250
if not keep(name, value):
249251
continue
250252
f = getattr(client, name)

0 commit comments

Comments
 (0)