[mixcloud] Detect restrictions (#2169)

Authored by; llacb47
This commit is contained in:
LE 2021-12-31 15:11:35 -05:00 committed by GitHub
parent 6134fbeb65
commit 9040e2d6e3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -12,6 +12,7 @@ from ..compat import (
compat_zip
)
from ..utils import (
ExtractorError,
int_or_none,
parse_iso8601,
strip_or_none,
@ -125,7 +126,20 @@ class MixcloudIE(MixcloudBaseIE):
tag {
name
}
}''', track_id, username, slug)
}
restrictedReason
id''', track_id, username, slug)
if not cloudcast:
raise ExtractorError('Track not found', expected=True)
reason = cloudcast.get('restrictedReason')
if reason == 'tracklist':
raise ExtractorError('Track unavailable in your country due to licensing restrictions', expected=True)
elif reason == 'repeat_play':
raise ExtractorError('You have reached your play limit for this track', expected=True)
elif reason:
raise ExtractorError('Track is restricted', expected=True)
title = cloudcast['name']