Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -14,13 +14,13 @@ from googleapiclient.errors import HttpError
|
|
14 |
|
15 |
def setup_kaggle_api():
|
16 |
try:
|
17 |
-
os.environ["KAGGLE_USERNAME"] =
|
18 |
-
os.environ["KAGGLE_KEY"] =
|
19 |
api = KaggleApi()
|
20 |
api.authenticate()
|
21 |
return api
|
22 |
except KeyError as e:
|
23 |
-
st.error(f"Missing Kaggle
|
24 |
st.stop()
|
25 |
except Exception as e:
|
26 |
st.error(f"Kaggle API setup failed: {e}")
|
@@ -28,7 +28,8 @@ def setup_kaggle_api():
|
|
28 |
|
29 |
def setup_drive_service():
|
30 |
try:
|
31 |
-
|
|
|
32 |
credentials = Credentials(
|
33 |
token=credentials_dict["access_token"],
|
34 |
refresh_token=credentials_dict["refresh_token"],
|
@@ -42,14 +43,18 @@ def setup_drive_service():
|
|
42 |
drive_service = build('drive', 'v3', credentials=credentials)
|
43 |
return drive_service
|
44 |
except KeyError as e:
|
45 |
-
st.error(f"Missing
|
|
|
|
|
|
|
46 |
st.stop()
|
47 |
except Exception as e:
|
48 |
st.error(f"Google Drive auth failed: {e}")
|
49 |
st.stop()
|
50 |
|
51 |
-
def upload_to_drive(drive_service, file_path, title, folder_id=
|
52 |
try:
|
|
|
53 |
file_metadata = {'name': title, 'parents': [folder_id]}
|
54 |
media = MediaFileUpload(file_path, resumable=True)
|
55 |
file = drive_service.files().create(
|
@@ -76,8 +81,9 @@ def delete_from_drive(drive_service, file_id):
|
|
76 |
except Exception as e:
|
77 |
st.error(f"Failed to delete file {file_id} from Drive: {e}")
|
78 |
|
79 |
-
def get_bvh_from_folder(drive_service, folder_id=
|
80 |
try:
|
|
|
81 |
query = f"'{folder_id}' in parents and name contains '.bvh'"
|
82 |
response = drive_service.files().list(q=query, fields="files(id, name, mimeType)", pageSize=1).execute()
|
83 |
files = response.get('files', [])
|
@@ -155,7 +161,7 @@ def process_video(api, drive_service, video_file):
|
|
155 |
video_file_id, video_shareable_link = upload_to_drive(drive_service, video_path, "input_video.mp4")
|
156 |
st.success(f"Video uploaded to Drive: {video_shareable_link}")
|
157 |
|
158 |
-
username =
|
159 |
notebook_slug = f"{username}/video-to-bvh-converter"
|
160 |
|
161 |
kernel_exists = check_kernel_exists(api, notebook_slug)
|
@@ -292,7 +298,7 @@ def main():
|
|
292 |
status_col1, status_col2 = st.columns(2)
|
293 |
with status_col1:
|
294 |
try:
|
295 |
-
username =
|
296 |
notebook_slug = f"{username}/video-to-bvh-converter"
|
297 |
kernel_exists = check_kernel_exists(api, notebook_slug)
|
298 |
if kernel_exists:
|
|
|
14 |
|
15 |
def setup_kaggle_api():
|
16 |
try:
|
17 |
+
os.environ["KAGGLE_USERNAME"] = os.environ.get("KAGGLE_USERNAME")
|
18 |
+
os.environ["KAGGLE_KEY"] = os.environ.get("KAGGLE_KEY")
|
19 |
api = KaggleApi()
|
20 |
api.authenticate()
|
21 |
return api
|
22 |
except KeyError as e:
|
23 |
+
st.error(f"Missing Kaggle environment variable: {e}")
|
24 |
st.stop()
|
25 |
except Exception as e:
|
26 |
st.error(f"Kaggle API setup failed: {e}")
|
|
|
28 |
|
29 |
def setup_drive_service():
|
30 |
try:
|
31 |
+
credentials_json = os.environ.get("GOOGLE_SERVICE_ACCOUNT")
|
32 |
+
credentials_dict = json.loads(credentials_json)
|
33 |
credentials = Credentials(
|
34 |
token=credentials_dict["access_token"],
|
35 |
refresh_token=credentials_dict["refresh_token"],
|
|
|
43 |
drive_service = build('drive', 'v3', credentials=credentials)
|
44 |
return drive_service
|
45 |
except KeyError as e:
|
46 |
+
st.error(f"Missing GOOGLE_SERVICE_ACCOUNT environment variable: {e}")
|
47 |
+
st.stop()
|
48 |
+
except json.JSONDecodeError as e:
|
49 |
+
st.error(f"Invalid JSON in GOOGLE_SERVICE_ACCOUNT: {e}")
|
50 |
st.stop()
|
51 |
except Exception as e:
|
52 |
st.error(f"Google Drive auth failed: {e}")
|
53 |
st.stop()
|
54 |
|
55 |
+
def upload_to_drive(drive_service, file_path, title, folder_id=None):
|
56 |
try:
|
57 |
+
folder_id = os.environ.get("DRIVE_FOLDER_ID", "1T6v7Iqc90-NA-F3I-HeHDSvEaIyFibKd")
|
58 |
file_metadata = {'name': title, 'parents': [folder_id]}
|
59 |
media = MediaFileUpload(file_path, resumable=True)
|
60 |
file = drive_service.files().create(
|
|
|
81 |
except Exception as e:
|
82 |
st.error(f"Failed to delete file {file_id} from Drive: {e}")
|
83 |
|
84 |
+
def get_bvh_from_folder(drive_service, folder_id=None):
|
85 |
try:
|
86 |
+
folder_id = os.environ.get("DRIVE_FOLDER_ID", "1T6v7Iqc90-NA-F3I-HeHDSvEaIyFibKd")
|
87 |
query = f"'{folder_id}' in parents and name contains '.bvh'"
|
88 |
response = drive_service.files().list(q=query, fields="files(id, name, mimeType)", pageSize=1).execute()
|
89 |
files = response.get('files', [])
|
|
|
161 |
video_file_id, video_shareable_link = upload_to_drive(drive_service, video_path, "input_video.mp4")
|
162 |
st.success(f"Video uploaded to Drive: {video_shareable_link}")
|
163 |
|
164 |
+
username = os.environ.get("KAGGLE_USERNAME")
|
165 |
notebook_slug = f"{username}/video-to-bvh-converter"
|
166 |
|
167 |
kernel_exists = check_kernel_exists(api, notebook_slug)
|
|
|
298 |
status_col1, status_col2 = st.columns(2)
|
299 |
with status_col1:
|
300 |
try:
|
301 |
+
username = os.environ.get("KAGGLE_USERNAME")
|
302 |
notebook_slug = f"{username}/video-to-bvh-converter"
|
303 |
kernel_exists = check_kernel_exists(api, notebook_slug)
|
304 |
if kernel_exists:
|