deepvoice_detection / soundbay /utils /files_handler.py
tomerdv's picture
Upload 90 files
11f3b89 verified
Raw
History Blame Contribute Delete
1.05 kB
import json
import yaml
import urllib
def load_config(filepath: str):
assert filepath.endswith(("json", "yaml", "yml")), "Only json and yaml files are supported."
is_url = filepath.startswith("http")
is_json = filepath.endswith("json")
is_yaml = filepath.endswith(("yaml", "yml"))
if is_url and is_json:
return load_json_from_url(filepath)
elif is_url and is_yaml:
return load_yaml_from_url(filepath)
elif is_json:
return load_json(filepath)
elif is_yaml:
return load_yaml(filepath)
else:
raise ValueError("File format not supported.")
def load_json_from_url(url: str):
with urllib.request.urlopen(url) as url:
return json.load(url)
def load_yaml_from_url(url: str):
with urllib.request.urlopen(url) as url:
return yaml.safe_load(url)
def load_json(filepath: str):
with open(filepath, "r") as file:
return json.load(file)
def load_yaml(filepath: str):
with open(filepath, "r") as file:
return yaml.safe_load(file)