From 7acd1b6a75d9964b6e7bf91c0769e172e2a64359 Mon Sep 17 00:00:00 2001 From: Alexander Graf <17130992+aandergr@users.noreply.github.com> Date: Sun, 1 Nov 2026 18:23:08 +0000 Subject: [PATCH] Raise LoginRequiredException for Profile fields that require login --- instaloader/structures.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/instaloader/structures.py b/instaloader/structures.py index 0057ab3..4412944 100644 --- a/instaloader/structures.py +++ b/instaloader/structures.py @@ -1257,16 +1257,27 @@ class Profile: @property def external_url(self) -> Optional[str]: + """:raises LoginRequiredException: When not logged in.""" + if not self._context.is_logged_in: + raise LoginRequiredException("Login required to access the external URL of a profile.") return self._metadata('external_url') @property def is_business_account(self) -> bool: - """.. versionadded:: 4.4""" + """.. versionadded:: 4.4 + + :raises LoginRequiredException: When not logged in.""" + if not self._context.is_logged_in: + raise LoginRequiredException("Login required to access whether a profile is a business account.") return self._metadata('is_business_account') @property def business_category_name(self) -> str: - """.. versionadded:: 4.4""" + """.. versionadded:: 4.4 + + :raises LoginRequiredException: When not logged in.""" + if not self._context.is_logged_in: + raise LoginRequiredException("Login required to access the business category of a profile.") return self._metadata('business_category_name') @property