Fix incorrect error messages when certain requests fail (#1536)
- handle case where `Profile.from_id` works, but `Profile.from_username` doesn't - Handle case where `QueryReturnedNotFoundException` lies and `similar_profiles` contains the exact username - Still raises `ProfileNotExistsException` for compatibility.
This commit is contained in:
parent
0704602e50
commit
5a24064012
@ -1334,6 +1334,10 @@ class Instaloader:
|
||||
profile_id))
|
||||
profile_from_id = Profile.from_id(self.context, profile_id)
|
||||
newname = profile_from_id.username
|
||||
if profile_name == newname:
|
||||
self.context.error(
|
||||
f"Warning: Profile {profile_name} could not be retrieved by its name, but by its ID.")
|
||||
return profile_from_id
|
||||
self.context.error("Profile {0} has changed its name to {1}.".format(profile_name, newname))
|
||||
if latest_stamps is None:
|
||||
if ((format_string_contains_key(self.dirname_pattern, 'profile') or
|
||||
|
@ -771,6 +771,9 @@ class Profile:
|
||||
top_search_results = TopSearchResults(self._context, self.username)
|
||||
similar_profiles = [profile.username for profile in top_search_results.get_profiles()]
|
||||
if similar_profiles:
|
||||
if self.username in similar_profiles:
|
||||
raise ProfileNotExistsException(
|
||||
f"Profile {self.username} seems to exist, but could not be loaded.") from err
|
||||
raise ProfileNotExistsException('Profile {} does not exist.\nThe most similar profile{}: {}.'
|
||||
.format(self.username,
|
||||
's are' if len(similar_profiles) > 1 else ' is',
|
||||
|
Loading…
Reference in New Issue
Block a user