diff --git a/musik/list.py b/musik/list.py index 49fff2d..e5fc992 100644 --- a/musik/list.py +++ b/musik/list.py @@ -11,6 +11,15 @@ def bl_path(bl, user): return bl.joinpath(user).with_suffix(".txt") +def parse_musik(raw): + if "youtube.com" in raw: + return parse_qs(urlparse(raw).query).get("v", [None])[0] + elif "youtu.be" in raw: + return urlparse(raw).path[1:] + + return raw + + def generate_list(args): musik_list = [] user_list = [] @@ -27,10 +36,7 @@ def generate_list(args): logger.debug("Lecture de la liste") with q.open() as f: - _raw_musiks = [ - parse_qs(urlparse(_musik).query).get("v", [None])[0] or _musik - for _musik in f.read().splitlines() - ] + _raw_musiks = [parse_musik(_musik) for _musik in f.read().splitlines()] _musiks = list(set(filter(lambda _m: _m not in blacklist, _raw_musiks))) if len(_musiks) < args.number: