seawolf2357 commited on
Commit
9a9ed4f
·
verified ·
1 Parent(s): ab49b09

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -9
app.py CHANGED
@@ -669,7 +669,7 @@ function addMedia(name, type, url, filePath) {{
669
  v.currentTime = 0.5;
670
  // 메타데이터 로드 후 클립 추가
671
  addClip(m);
672
- console.log('[VideoEditor] Video loaded:', m.name, m.dur);
673
  }};
674
 
675
  v.onseeked = function() {{
@@ -686,7 +686,7 @@ function addMedia(name, type, url, filePath) {{
686
  }};
687
 
688
  v.onerror = function() {{
689
- console.error('[VideoEditor] Video load error:', m.name);
690
  m.loaded = true;
691
  m.dur = 5;
692
  renderLib();
@@ -705,11 +705,11 @@ function addMedia(name, type, url, filePath) {{
705
  renderLib();
706
  // 메타데이터 로드 후 클립 추가
707
  addClip(m);
708
- console.log('[VideoEditor] Audio loaded:', m.name, m.dur);
709
  }};
710
 
711
  a.onerror = function() {{
712
- console.error('[VideoEditor] Audio load error:', m.name);
713
  m.loaded = true;
714
  m.dur = 5;
715
  renderLib();
@@ -723,10 +723,10 @@ function addMedia(name, type, url, filePath) {{
723
  renderLib();
724
  // 이미지 로드 후 클립 추가
725
  addClip(m);
726
- console.log('[VideoEditor] Image loaded:', m.name);
727
  }};
728
  img.onerror = function() {{
729
- console.error('[VideoEditor] Image load error:', m.name);
730
  m.loaded = true;
731
  addClip(m);
732
  }};
@@ -1365,10 +1365,12 @@ def process_files(files):
1365
 
1366
 
1367
  def make_iframe(data):
1368
- """에디터 iframe 생성"""
1369
  j = json.dumps(data, ensure_ascii=False)
1370
- h = get_editor_html(j).replace("'", "'")
1371
- return f"<iframe srcdoc='{h}' style='width:100%;height:700px;border:none;border-radius:10px'></iframe>"
 
 
1372
 
1373
 
1374
  def export_mp4(export_json):
 
669
  v.currentTime = 0.5;
670
  // 메타데이터 로드 후 클립 추가
671
  addClip(m);
672
+ console.log("[VideoEditor] Video loaded:", m.name, m.dur);
673
  }};
674
 
675
  v.onseeked = function() {{
 
686
  }};
687
 
688
  v.onerror = function() {{
689
+ console.error("[VideoEditor] Video load error:", m.name);
690
  m.loaded = true;
691
  m.dur = 5;
692
  renderLib();
 
705
  renderLib();
706
  // 메타데이터 로드 후 클립 추가
707
  addClip(m);
708
+ console.log("[VideoEditor] Audio loaded:", m.name, m.dur);
709
  }};
710
 
711
  a.onerror = function() {{
712
+ console.error("[VideoEditor] Audio load error:", m.name);
713
  m.loaded = true;
714
  m.dur = 5;
715
  renderLib();
 
723
  renderLib();
724
  // 이미지 로드 후 클립 추가
725
  addClip(m);
726
+ console.log("[VideoEditor] Image loaded:", m.name);
727
  }};
728
  img.onerror = function() {{
729
+ console.error("[VideoEditor] Image load error:", m.name);
730
  m.loaded = true;
731
  addClip(m);
732
  }};
 
1365
 
1366
 
1367
  def make_iframe(data):
1368
+ """에디터 iframe 생성 - data URL로 이스케이프 문제 완전 회피"""
1369
  j = json.dumps(data, ensure_ascii=False)
1370
+ html_content = get_editor_html(j)
1371
+ # base64 인코딩 후 data URL로 사용
1372
+ b64 = base64.b64encode(html_content.encode('utf-8')).decode('utf-8')
1373
+ return f'<iframe src="data:text/html;base64,{b64}" style="width:100%;height:700px;border:none;border-radius:10px"></iframe>'
1374
 
1375
 
1376
  def export_mp4(export_json):