diff --git a/eas/api/instagram/__init__.py b/eas/api/instagram/__init__.py index 585937c..8be573e 100644 --- a/eas/api/instagram/__init__.py +++ b/eas/api/instagram/__init__.py @@ -28,7 +28,11 @@ class Comment: def _extract_media_pk(url): - return _CLIENT.media_pk_from_url(url) + try: + return _CLIENT.media_pk_from_url(url) + except ValueError as e: + LOG.info("Invalid instagram URL %r: %s", url, e) + raise InvalidURL(f"Invalid URL: {url}") from e def _fetch_comments(url): diff --git a/eas/api/tests/int/test_lamadava.py b/eas/api/tests/int/test_lamadava.py index 23cdf98..12e45d8 100644 --- a/eas/api/tests/int/test_lamadava.py +++ b/eas/api/tests/int/test_lamadava.py @@ -102,3 +102,9 @@ def test_fail_on_disabled_comments(requestsm): ) with pytest.raises(InvalidURL): get_comments(url) + + +def test_fail_on_invalid_url_decode(): + url = "https://www.instagram.com/p/รก/" + with pytest.raises(InvalidURL): + get_comments(url)