Skip to content

Commit d334ace

Browse files
authored
Merge pull request #12 from Integration-Automation/dev
Add upload dir
2 parents 786913d + 1074240 commit d334ace

3 files changed

Lines changed: 41 additions & 11 deletions

File tree

.idea/misc.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

file_automation/remote/google_drive/upload/upload_to_driver.py

Lines changed: 38 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@
66
from file_automation.remote.google_drive.driver_instance import driver_instance
77

88

9-
def upload_to_drive(file_name: str, file_path: str):
9+
def upload_to_drive(file_path: str, file_name: str = None):
1010
try:
11-
if Path(file_path).exists():
11+
file_path = Path(file_path)
12+
if file_path.is_file():
1213
file_metadata = {
13-
"name": file_name,
14+
"name": file_path.name if file_name is None else file_name,
1415
"mimeType": "*/*"
1516
}
1617
media = MediaFileUpload(
@@ -24,17 +25,19 @@ def upload_to_drive(file_name: str, file_path: str):
2425
fields="id"
2526
).execute()
2627
return file_id
27-
return False
28+
else:
29+
raise FileNotFoundError
2830
except HttpError as error:
2931
print(f"An error occurred: {error}")
3032
return None
3133

3234

33-
def upload_to_dir(folder_id: str, file_name: str, file_path: str):
35+
def upload_to_folder(folder_id: str, file_path: str, file_name: str = None):
3436
try:
35-
if Path(file_path).exists():
37+
file_path = Path(file_path)
38+
if file_path.is_file():
3639
file_metadata = {
37-
"name": file_name,
40+
"name": file_path.name if file_name is None else file_name,
3841
"mimeType": "*/*",
3942
"parents": [f"{folder_id}"]
4043
}
@@ -49,7 +52,34 @@ def upload_to_dir(folder_id: str, file_name: str, file_path: str):
4952
fields="id"
5053
).execute()
5154
return file_id
52-
return False
55+
else:
56+
raise FileNotFoundError
5357
except HttpError as error:
5458
print(f"An error occurred: {error}")
5559
return None
60+
61+
62+
def upload_dir_to_drive(dir_path: str):
63+
dir_path = Path(dir_path)
64+
ids = list()
65+
if dir_path.is_dir():
66+
path_list = dir_path.iterdir()
67+
for path in path_list:
68+
if path.is_file():
69+
ids.append(upload_to_drive(str(path.absolute()), path.name))
70+
return ids
71+
else:
72+
raise FileNotFoundError
73+
74+
75+
def upload_dir_to_folder(folder_id: str, dir_path: str):
76+
dir_path = Path(dir_path)
77+
ids = list()
78+
if dir_path.is_dir():
79+
path_list = dir_path.iterdir()
80+
for path in path_list:
81+
if path.is_file():
82+
ids.append(upload_to_folder(folder_id, str(path.absolute()), path.name))
83+
return ids
84+
else:
85+
raise FileNotFoundError
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
from file_automation.remote.google_drive.download.download_file import download_file_from_folder
21
from file_automation.remote.google_drive.search.search_drive import search_all_file
2+
from file_automation.remote.google_drive.upload.upload_to_driver import upload_dir_to_folder
33

44
print(search_all_file())
5-
print(download_file_from_folder("new_folder"))
5+
print(upload_dir_to_folder(r"1J-m5cHqkXumaHqlHfL90BySEqWsG9zbP", r"C:\Users\JeffreyChen\Desktop\Paper"))

0 commit comments

Comments
 (0)