admin commited on
Commit
b975738
·
1 Parent(s): b76d40c
Files changed (1) hide show
  1. app.py +15 -1
app.py CHANGED
@@ -5,10 +5,18 @@ import requests
5
  import gradio as gr
6
  from bs4 import BeautifulSoup
7
  from pydub import AudioSegment
 
8
 
9
  TMP_DIR = "./__pycache__"
10
 
11
 
 
 
 
 
 
 
 
12
  def remove_end_seconds(input_file: str, output_file: str, seconds: float):
13
  audio = AudioSegment.from_file(input_file)
14
  remove_ms = seconds * 1000
@@ -43,9 +51,16 @@ def download_mp3(url: str, local_filename: str):
43
  f.write(response.content)
44
 
45
  print(f"Successfully downloaded: {local_filename}")
 
46
  return True
47
 
48
  else:
 
 
 
 
 
 
49
  print(f"Error: {response.status_code}, {response.text}")
50
  return False
51
 
@@ -85,7 +100,6 @@ def infer(page_url: str, date: str):
85
  outpath = f"{TMP_DIR}/{sound_id}.mp3"
86
  create_dir()
87
  if download_mp3(mp3_url, outpath):
88
- remove_end_seconds(outpath, outpath, 3.1)
89
  return outpath
90
 
91
  else:
 
5
  import gradio as gr
6
  from bs4 import BeautifulSoup
7
  from pydub import AudioSegment
8
+ from datetime import datetime, timedelta
9
 
10
  TMP_DIR = "./__pycache__"
11
 
12
 
13
+ def get_prev_day(date_str):
14
+ date_format = "%Y/%m/%d"
15
+ date_obj = datetime.strptime(date_str, date_format)
16
+ previous_day = date_obj - timedelta(days=1)
17
+ return previous_day.strftime(date_format)
18
+
19
+
20
  def remove_end_seconds(input_file: str, output_file: str, seconds: float):
21
  audio = AudioSegment.from_file(input_file)
22
  remove_ms = seconds * 1000
 
51
  f.write(response.content)
52
 
53
  print(f"Successfully downloaded: {local_filename}")
54
+ remove_end_seconds(local_filename, local_filename, 3.1)
55
  return True
56
 
57
  else:
58
+ if response.status_code == 404:
59
+ bad_date = "/".join(url.split("/audio/")[-1].split("/")[:-1])
60
+ fixed_date = get_prev_day(bad_date)
61
+ fixed_url = url.replace(bad_date, fixed_date)
62
+ return download_mp3(fixed_url, local_filename)
63
+
64
  print(f"Error: {response.status_code}, {response.text}")
65
  return False
66
 
 
100
  outpath = f"{TMP_DIR}/{sound_id}.mp3"
101
  create_dir()
102
  if download_mp3(mp3_url, outpath):
 
103
  return outpath
104
 
105
  else: