Spaces:
Running
Running
parse_time
Browse files
app.py
CHANGED
@@ -22,6 +22,7 @@ import os
|
|
22 |
import io
|
23 |
import time
|
24 |
import json
|
|
|
25 |
from urllib.parse import urlparse, parse_qs
|
26 |
|
27 |
from google.cloud import storage
|
@@ -347,6 +348,18 @@ def docx_to_text(file):
|
|
347 |
|
348 |
|
349 |
# ---- YouTube link ----
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
350 |
def format_seconds_to_time(seconds):
|
351 |
"""将秒数格式化为 时:分:秒 的形式"""
|
352 |
hours = int(seconds // 3600)
|
@@ -1188,10 +1201,13 @@ def generate_key_moments(formatted_simple_transcript, formatted_transcript):
|
|
1188 |
print(key_moments)
|
1189 |
print("=====key_moments=====")
|
1190 |
image_links = {entry['start_time']: entry['screenshot_path'] for entry in formatted_transcript}
|
|
|
1191 |
for moment in key_moments:
|
1192 |
-
start_time = moment['start']
|
1193 |
-
end_time = moment['end']
|
1194 |
-
|
|
|
|
|
1195 |
moment['images'] = moment_images
|
1196 |
|
1197 |
return key_moments
|
|
|
22 |
import io
|
23 |
import time
|
24 |
import json
|
25 |
+
from datetime import timedelta
|
26 |
from urllib.parse import urlparse, parse_qs
|
27 |
|
28 |
from google.cloud import storage
|
|
|
348 |
|
349 |
|
350 |
# ---- YouTube link ----
|
351 |
+
def parse_time(time_str):
|
352 |
+
"""將時間字符串 'HH:MM:SS' 或 'MM:SS' 轉換為 timedelta 物件。"""
|
353 |
+
parts = list(map(int, time_str.split(':')))
|
354 |
+
if len(parts) == 3:
|
355 |
+
hours, minutes, seconds = parts
|
356 |
+
elif len(parts) == 2:
|
357 |
+
hours = 0 # 沒有小時部分時,將小時設為0
|
358 |
+
minutes, seconds = parts
|
359 |
+
else:
|
360 |
+
raise ValueError("時間格式不正確,應為 'HH:MM:SS' 或 'MM:SS'")
|
361 |
+
return timedelta(hours=hours, minutes=minutes, seconds=seconds)
|
362 |
+
|
363 |
def format_seconds_to_time(seconds):
|
364 |
"""将秒数格式化为 时:分:秒 的形式"""
|
365 |
hours = int(seconds // 3600)
|
|
|
1201 |
print(key_moments)
|
1202 |
print("=====key_moments=====")
|
1203 |
image_links = {entry['start_time']: entry['screenshot_path'] for entry in formatted_transcript}
|
1204 |
+
|
1205 |
for moment in key_moments:
|
1206 |
+
start_time = parse_time(moment['start'])
|
1207 |
+
end_time = parse_time(moment['end'])
|
1208 |
+
# 使用轉換後的 timedelta 物件進行時間比較
|
1209 |
+
moment_images = [image_links[time] for time in image_links
|
1210 |
+
if start_time <= parse_time(time) <= end_time]
|
1211 |
moment['images'] = moment_images
|
1212 |
|
1213 |
return key_moments
|