amanpreet7 commited on
Commit
573e319
·
verified ·
1 Parent(s): b25cdd0

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +25 -6
app.py CHANGED
@@ -97,16 +97,32 @@ def get_bvh_from_folder(drive_service, folder_id=None):
97
  st.error(f"Error checking folder for BVH: {e}")
98
  return None, None
99
 
100
- def push_kaggle_kernel(api, temp_dir, notebook_slug):
101
  try:
102
- local_notebook_path = os.path.join(os.path.dirname(__file__), 'video-to-bvh-converter.ipynb')
103
- if not os.path.exists(local_notebook_path):
104
- st.error(f"Notebook file not found")
105
- raise FileNotFoundError
 
 
 
 
 
 
 
 
 
 
 
106
 
 
 
 
 
 
107
  kernel_file = os.path.join(temp_dir, 'kernel.ipynb')
108
  shutil.copy(local_notebook_path, kernel_file)
109
-
110
  code_file = "kernel.ipynb"
111
  kernel_type = "notebook"
112
 
@@ -133,6 +149,9 @@ def push_kaggle_kernel(api, temp_dir, notebook_slug):
133
  st.error(f"kernel push failed: {result.stderr}")
134
  raise Exception
135
 
 
 
 
136
  kernel_url = f"https://www.kaggle.com/code/{notebook_slug}"
137
  return kernel_url
138
  except Exception as e:
 
97
  st.error(f"Error checking folder for BVH: {e}")
98
  return None, None
99
 
100
+ def download_notebook_from_drive(drive_service, temp_dir):
101
  try:
102
+ notebook_file_id = os.environ.get("NOTEBOOK_FILE_ID")
103
+ if not notebook_file_id:
104
+ st.error("NOTEBOOK_FILE_ID environment variable not set")
105
+ raise KeyError("NOTEBOOK_FILE_ID not set")
106
+
107
+ request = drive_service.files().get_media(fileId=notebook_file_id)
108
+ notebook_path = os.path.join(temp_dir, 'video-to-bvh-converter.ipynb')
109
+ with open(notebook_path, 'wb') as f:
110
+ downloader = MediaFileUpload(notebook_path)
111
+ downloader.stream = request.execute()
112
+ f.write(downloader.stream)
113
+ return notebook_path
114
+ except Exception as e:
115
+ st.error(f"Failed to download notebook from Drive: {e}")
116
+ raise
117
 
118
+ def push_kaggle_kernel(api, temp_dir, notebook_slug):
119
+ try:
120
+ drive_service = setup_drive_service()
121
+ local_notebook_path = download_notebook_from_drive(drive_service, temp_dir)
122
+
123
  kernel_file = os.path.join(temp_dir, 'kernel.ipynb')
124
  shutil.copy(local_notebook_path, kernel_file)
125
+
126
  code_file = "kernel.ipynb"
127
  kernel_type = "notebook"
128
 
 
149
  st.error(f"kernel push failed: {result.stderr}")
150
  raise Exception
151
 
152
+ os.remove(local_notebook_path)
153
+ os.remove(kernel_file)
154
+
155
  kernel_url = f"https://www.kaggle.com/code/{notebook_slug}"
156
  return kernel_url
157
  except Exception as e: