aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--yt_dlp/extractor/iwara.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/yt_dlp/extractor/iwara.py b/yt_dlp/extractor/iwara.py
index 62a179700..23f92786f 100644
--- a/yt_dlp/extractor/iwara.py
+++ b/yt_dlp/extractor/iwara.py
@@ -4,6 +4,7 @@ import hashlib
from .common import InfoExtractor
from ..utils import (
+ ExtractorError,
OnDemandPagedList,
int_or_none,
mimetype2ext,
@@ -75,7 +76,13 @@ class IwaraIE(InfoExtractor):
def _real_extract(self, url):
video_id = self._match_id(url)
- video_data = self._download_json(f'http://api.iwara.tv/video/{video_id}', video_id)
+ video_data = self._download_json(f'http://api.iwara.tv/video/{video_id}', video_id, expected_status=lambda x: True)
+ errmsg = video_data.get('message')
+ # at this point we can actually get uploaded user info, but do we need it?
+ if errmsg == 'errors.privateVideo':
+ self.raise_login_required('Private video. Login if you have permissions to watch')
+ elif errmsg:
+ raise ExtractorError(f'Iwara says: {errmsg}')
return {
'id': video_id,