Skip to content

Commit 1a47e6b

Browse files
authored
GDrive exception handling
1 parent 405c4c7 commit 1a47e6b

1 file changed

Lines changed: 45 additions & 38 deletions

File tree

controllable_talknet.py

Lines changed: 45 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -715,46 +715,53 @@ def debug_pitch(n_clicks, pitch_clicks, current_f0s):
715715

716716

717717
def download_model(model, custom_model):
718-
global hifigan_sr, h2, denoiser_sr
719-
d = "https://drive.google.com/uc?id="
720-
if model == "Custom":
721-
drive_id = custom_model
722-
else:
723-
drive_id = model
724-
if not os.path.exists(os.path.join(UPLOAD_DIRECTORY, "models")):
725-
os.mkdir(os.path.join(UPLOAD_DIRECTORY, "models"))
726-
if not os.path.exists(os.path.join(UPLOAD_DIRECTORY, "models", drive_id)):
727-
os.mkdir(os.path.join(UPLOAD_DIRECTORY, "models", drive_id))
728-
zip_path = os.path.join(UPLOAD_DIRECTORY, "models", drive_id, "model.zip")
729-
gdown.download(
730-
d + drive_id,
731-
zip_path,
732-
quiet=False,
733-
)
734-
if not os.path.exists(zip_path):
735-
os.rmdir(os.path.join(UPLOAD_DIRECTORY, "models", drive_id))
736-
return ("Model download failed", None, None)
737-
if os.stat(zip_path).st_size < 16:
718+
try:
719+
global hifigan_sr, h2, denoiser_sr
720+
d = "https://drive.google.com/uc?id="
721+
if model == "Custom":
722+
drive_id = custom_model
723+
else:
724+
drive_id = model
725+
if drive_id == "":
726+
return ("Missing Drive ID", None, None)
727+
if not os.path.exists(os.path.join(UPLOAD_DIRECTORY, "models")):
728+
os.mkdir(os.path.join(UPLOAD_DIRECTORY, "models"))
729+
if not os.path.exists(os.path.join(UPLOAD_DIRECTORY, "models", drive_id)):
730+
os.mkdir(os.path.join(UPLOAD_DIRECTORY, "models", drive_id))
731+
zip_path = os.path.join(UPLOAD_DIRECTORY, "models", drive_id, "model.zip")
732+
gdown.download(
733+
d + drive_id,
734+
zip_path,
735+
quiet=False,
736+
)
737+
if not os.path.exists(zip_path):
738+
os.rmdir(os.path.join(UPLOAD_DIRECTORY, "models", drive_id))
739+
return ("Model download failed", None, None)
740+
if os.stat(zip_path).st_size < 16:
741+
os.remove(zip_path)
742+
os.rmdir(os.path.join(UPLOAD_DIRECTORY, "models", drive_id))
743+
return ("Model zip is empty", None, None)
744+
with zipfile.ZipFile(zip_path, "r") as zip_ref:
745+
zip_ref.extractall(os.path.join(UPLOAD_DIRECTORY, "models", drive_id))
738746
os.remove(zip_path)
739-
os.rmdir(os.path.join(UPLOAD_DIRECTORY, "models", drive_id))
740-
return ("Model zip is empty", None, None)
741-
with zipfile.ZipFile(zip_path, "r") as zip_ref:
742-
zip_ref.extractall(os.path.join(UPLOAD_DIRECTORY, "models", drive_id))
743-
os.remove(zip_path)
744-
745-
# Download super-resolution HiFi-GAN
746-
sr_path = "hifi-gan/hifisr"
747-
if not os.path.exists(sr_path):
748-
gdown.download(d + "14fOprFAIlCQkVRxsfInhEPG0n-xN4QOa", sr_path, quiet=False)
749-
if not os.path.exists(sr_path):
750-
raise Exception("HiFI-GAN model failed to download!")
751-
hifigan_sr, h2, denoiser_sr = load_hifigan(sr_path, "config_32k")
752747

753-
return (
754-
None,
755-
os.path.join(UPLOAD_DIRECTORY, "models", drive_id, "TalkNetSpect.nemo"),
756-
os.path.join(UPLOAD_DIRECTORY, "models", drive_id, "hifiganmodel"),
757-
)
748+
# Download super-resolution HiFi-GAN
749+
sr_path = "hifi-gan/hifisr"
750+
if not os.path.exists(sr_path):
751+
gdown.download(
752+
d + "14fOprFAIlCQkVRxsfInhEPG0n-xN4QOa", sr_path, quiet=False
753+
)
754+
if not os.path.exists(sr_path):
755+
raise Exception("HiFI-GAN model failed to download!")
756+
hifigan_sr, h2, denoiser_sr = load_hifigan(sr_path, "config_32k")
757+
758+
return (
759+
None,
760+
os.path.join(UPLOAD_DIRECTORY, "models", drive_id, "TalkNetSpect.nemo"),
761+
os.path.join(UPLOAD_DIRECTORY, "models", drive_id, "hifiganmodel"),
762+
)
763+
except Exception as e:
764+
return (str(e), None, None)
758765

759766

760767
tnmodel, tnpath, tndurs, tnpitch = None, None, None, None

0 commit comments

Comments
 (0)