sudo-soldier commited on
Commit
16e732a
·
verified ·
1 Parent(s): fcdb38d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -27
app.py CHANGED
@@ -14,7 +14,7 @@ def process_youtube_url(url, uploaded_file, state):
14
  ydl_opts = {
15
  'format': 'bestaudio/best',
16
  'outtmpl': 'downloads/%(id)s.%(ext)s',
17
- 'cookiefile': 'cookies.txt' # Using YouTube cookies
18
  }
19
 
20
  with yt_dlp.YoutubeDL(ydl_opts) as ydl:
@@ -33,16 +33,12 @@ def process_youtube_url(url, uploaded_file, state):
33
  log.append("Converting audio to MP3 and creating ringtone...")
34
 
35
  mp3_filename = 'Ringtone.mp3'
36
- ffmpeg_command = [
37
- 'ffmpeg', '-i', filename, mp3_filename
38
- ]
39
  subprocess.run(ffmpeg_command, check=True)
40
  log.append(f"MP3 saved: {mp3_filename}")
41
 
42
  ringtone_filename_m4a = 'temp_ringtone.m4a'
43
- ffmpeg_ringtone_command = [
44
- 'ffmpeg', '-i', mp3_filename, '-t', '00:00:20', ringtone_filename_m4a
45
- ]
46
  subprocess.run(ffmpeg_ringtone_command, check=True)
47
  log.append(f"Ringtone saved as M4A: {ringtone_filename_m4a}")
48
 
@@ -56,22 +52,14 @@ def process_youtube_url(url, uploaded_file, state):
56
  log.append(f"Error: {str(e)}")
57
  return '\n'.join(log), None, None, state
58
 
59
- def push_to_android(mp3_filename):
60
- log = []
61
- try:
62
- adb_push_command = f'adb push {mp3_filename} /sdcard/Ringtones/'
63
- subprocess.run(adb_push_command, shell=True, check=True)
64
- log.append(f"Successfully pushed {mp3_filename} to Android device.")
65
- except Exception as e:
66
- log.append(f"Error pushing to Android device: {str(e)}")
67
-
68
- return '\n'.join(log)
69
-
70
  with gr.Blocks() as interface:
71
- gr.HTML("<h1>Python Ringtones</h1><br/>Download and convert YouTube audio to MP3 (Ringtone.mp3) and create an iPhone-compatible M4R ringtone (Apple.m4r). Upload an MP3 file to convert it too.")
 
 
 
72
 
73
  with gr.Row():
74
- youtube_url = gr.Textbox(label="Enter YouTube or Song URL to create a ringtone", placeholder="Paste the URL here...")
75
  mp3_upload = gr.File(label="Upload MP3 (Optional)", type="filepath")
76
  state = gr.State()
77
 
@@ -80,14 +68,8 @@ with gr.Blocks() as interface:
80
  mp3_download = gr.File(label="Download Android Ringtone")
81
  iphone_ringtone = gr.File(label="Download iPhone Ringtone")
82
 
83
- def on_process_button_click(url, uploaded_file):
84
- return process_youtube_url(url, uploaded_file, state)
85
-
86
  process_button = gr.Button("Create Ringtone")
87
- process_button.click(on_process_button_click, inputs=[youtube_url, mp3_upload], outputs=[status_log, mp3_download, iphone_ringtone])
88
-
89
- push_button = gr.Button("Push to Android")
90
- push_button.click(push_to_android, inputs=mp3_download, outputs=status_log)
91
 
92
  interface.launch()
93
 
@@ -98,3 +80,4 @@ interface.launch()
98
 
99
 
100
 
 
 
14
  ydl_opts = {
15
  'format': 'bestaudio/best',
16
  'outtmpl': 'downloads/%(id)s.%(ext)s',
17
+ 'cookiefile': 'cookies.txt' #YT
18
  }
19
 
20
  with yt_dlp.YoutubeDL(ydl_opts) as ydl:
 
33
  log.append("Converting audio to MP3 and creating ringtone...")
34
 
35
  mp3_filename = 'Ringtone.mp3'
36
+ ffmpeg_command = ['ffmpeg', '-i', filename, mp3_filename]
 
 
37
  subprocess.run(ffmpeg_command, check=True)
38
  log.append(f"MP3 saved: {mp3_filename}")
39
 
40
  ringtone_filename_m4a = 'temp_ringtone.m4a'
41
+ ffmpeg_ringtone_command = ['ffmpeg', '-i', mp3_filename, '-t', '00:00:20', ringtone_filename_m4a]
 
 
42
  subprocess.run(ffmpeg_ringtone_command, check=True)
43
  log.append(f"Ringtone saved as M4A: {ringtone_filename_m4a}")
44
 
 
52
  log.append(f"Error: {str(e)}")
53
  return '\n'.join(log), None, None, state
54
 
 
 
 
 
 
 
 
 
 
 
 
55
  with gr.Blocks() as interface:
56
+ gr.HTML("""
57
+ <h1>PYTR</h1>
58
+ <p>Python YouTube Ringtones<br/>Insert the URL to make ringtones. Upload an MP3 file to convert it too.</p>
59
+ """)
60
 
61
  with gr.Row():
62
+ youtube_url = gr.Textbox(label="Enter YouTube URL ", placeholder="Paste the URL here...")
63
  mp3_upload = gr.File(label="Upload MP3 (Optional)", type="filepath")
64
  state = gr.State()
65
 
 
68
  mp3_download = gr.File(label="Download Android Ringtone")
69
  iphone_ringtone = gr.File(label="Download iPhone Ringtone")
70
 
 
 
 
71
  process_button = gr.Button("Create Ringtone")
72
+ process_button.click(process_youtube_url, inputs=[youtube_url, mp3_upload, state], outputs=[status_log, mp3_download, iphone_ringtone])
 
 
 
73
 
74
  interface.launch()
75
 
 
80
 
81
 
82
 
83
+