bluenevus commited on
Commit
c8ceed5
·
verified ·
1 Parent(s): 3418430

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -36
app.py CHANGED
@@ -10,47 +10,18 @@ import dash_bootstrap_components as dbc
10
  from pydub import AudioSegment
11
  import requests
12
  from pytube import YouTube
13
- import subprocess
14
- import sys
15
 
16
  # Configure logging
17
  logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
18
  logger = logging.getLogger(__name__)
19
 
20
- # Function to install a package using pip
21
- def install_package(package):
22
- logger.info(f"Attempting to install {package}")
23
- try:
24
- subprocess.check_call([sys.executable, "-m", "pip", "install", package])
25
- logger.info(f"Successfully installed {package}")
26
- return True
27
- except subprocess.CalledProcessError as e:
28
- logger.error(f"Failed to install {package}. Error: {str(e)}")
29
- return False
30
-
31
- # Try to import moviepy, install if not found
32
- try:
33
- import moviepy.editor as mp
34
- logger.info("Moviepy successfully imported")
35
- except ImportError:
36
- logger.warning("Moviepy not found. Attempting to install...")
37
- if install_package("moviepy"):
38
- try:
39
- import moviepy.editor as mp
40
- logger.info("Moviepy successfully imported after installation")
41
- except ImportError as e:
42
- logger.error(f"Failed to import moviepy after installation. Error: {str(e)}")
43
- raise
44
- else:
45
- logger.error("Failed to install moviepy. Please install it manually.")
46
- raise ImportError("Could not import or install moviepy")
47
-
48
- # Initialize moviepy
49
  try:
50
- mp.config.change_settings({"FFMPEG_BINARY": "ffmpeg"})
51
- logger.info("Moviepy successfully initialized")
52
- except Exception as e:
53
- logger.error(f"Failed to initialize moviepy. Error: {str(e)}")
 
54
  raise
55
 
56
  # Initialize the Dash app
@@ -122,7 +93,7 @@ def process_media(file_path, is_url=False):
122
  file_extension = os.path.splitext(temp_audio_file.name)[1].lower()
123
 
124
  if file_extension in ['.mp4', '.avi', '.mov', '.flv', '.wmv']:
125
- video = mp.VideoFileClip(temp_audio_file.name)
126
  audio = video.audio
127
  wav_path = temp_audio_file.name + ".wav"
128
  audio.write_audiofile(wav_path)
 
10
  from pydub import AudioSegment
11
  import requests
12
  from pytube import YouTube
 
 
13
 
14
  # Configure logging
15
  logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
16
  logger = logging.getLogger(__name__)
17
 
18
+ # Try to import moviepy with the simpler import statement
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  try:
20
+ from moviepy import VideoFileClip
21
+ logger.info("MoviePy (VideoFileClip) successfully imported")
22
+ except ImportError as e:
23
+ logger.error(f"Error importing MoviePy (VideoFileClip): {str(e)}")
24
+ logger.error("Please ensure moviepy is installed correctly")
25
  raise
26
 
27
  # Initialize the Dash app
 
93
  file_extension = os.path.splitext(temp_audio_file.name)[1].lower()
94
 
95
  if file_extension in ['.mp4', '.avi', '.mov', '.flv', '.wmv']:
96
+ video = VideoFileClip(temp_audio_file.name)
97
  audio = video.audio
98
  wav_path = temp_audio_file.name + ".wav"
99
  audio.write_audiofile(wav_path)