{"record":{"id":"b7ab4cc1d56398b1","repo":"ytdl-org/youtube-dl","slug":"s-said-s-b7ab4c","errorCode":null,"errorMessage":"%s said: %s","messagePattern":"%s said: %s","errorType":"exception","errorClass":"ExtractorError","httpStatus":null,"severity":"error","filePath":"youtube_dl/extractor/curiositystream.py","lineNumber":25,"sourceCode":"from ..utils import (\n    int_or_none,\n    urlencode_postdata,\n    compat_str,\n    ExtractorError,\n)\n\n\nclass CuriosityStreamBaseIE(InfoExtractor):\n    _NETRC_MACHINE = 'curiositystream'\n    _auth_token = None\n    _API_BASE_URL = 'https://api.curiositystream.com/v1/'\n\n    def _handle_errors(self, result):\n        error = result.get('error', {}).get('message')\n        if error:\n            if isinstance(error, dict):\n                error = ', '.join(error.values())\n            raise ExtractorError(\n                '%s said: %s' % (self.IE_NAME, error), expected=True)\n\n    def _call_api(self, path, video_id, query=None):\n        headers = {}\n        if self._auth_token:\n            headers['X-Auth-Token'] = self._auth_token\n        result = self._download_json(\n            self._API_BASE_URL + path, video_id, headers=headers, query=query)\n        self._handle_errors(result)\n        return result['data']\n\n    def _real_initialize(self):\n        email, password = self._get_login_info()\n        if email is None:\n            return\n        result = self._download_json(\n            self._API_BASE_URL + 'login', None, data=urlencode_postdata({\n                'email': email,","sourceCodeStart":7,"sourceCodeEnd":43,"githubUrl":"https://github.com/ytdl-org/youtube-dl/blob/956b8c585591b401a543e409accb163eeaaa1193/youtube_dl/extractor/curiositystream.py#L7-L43","documentation":"Error \"%s said: %s\" thrown in ytdl-org/youtube-dl.","triggerScenarios":"Thrown at youtube_dl/extractor/curiositystream.py:25 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Read the CuriosityStream error; ensure you are logged in with valid credentials or cookies."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"956b8c585591b401a543e409accb163eeaaa1193","analyzedAt":"2026-08-14T18:59:47.863Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}