Skip to content

Commit bbca562

Browse files
find file in folder method
1 parent 7556b0d commit bbca562

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

parsons/google/google_drive.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,30 @@ def find_subfolder(self, subfolder_name: str, parent_folder_id: str) -> str | No
7575
result = None
7676
return result
7777

78+
def find_file_in_folder(
79+
self, file_name: str, folder_id: str, fields: list[str] | None = None
80+
) -> list[dict[str, str]]:
81+
if not fields:
82+
fields = ["id", "name"]
83+
page_token = None
84+
results = []
85+
while True:
86+
response = (
87+
self.client.files()
88+
.list(
89+
q=f"'{folder_id}' in parents and name = '{file_name}'",
90+
spaces="drive",
91+
fields="nextPageToken, files({})".format(",".join(fields)),
92+
pageToken=page_token,
93+
)
94+
.execute()
95+
)
96+
results.extend(response.get("files", []))
97+
page_token = response.get("nextPageToken")
98+
if page_token is None:
99+
break
100+
return results
101+
78102
def list_files_in_folder(
79103
self, folder_id: str, fields: list[str] | None = None
80104
) -> list[dict[str, str]]:

0 commit comments

Comments
 (0)