diff --git a/webapp_profile.py b/webapp_profile.py index 3113b495b..ae478e199 100644 --- a/webapp_profile.py +++ b/webapp_profile.py @@ -9,6 +9,8 @@ __module_group__ = "Web Interface" import os from pprint import pprint +from webfinger import webfingerHandle +from utils import getDisplayName from utils import isGroupAccount from utils import hasObjectDict from utils import getOccupationName @@ -33,10 +35,9 @@ from theme import getThemesList from person import personBoxJson from person import getActorJson from person import getPersonAvatarUrl -from webfinger import webfingerHandle +from posts import getPersonBox from posts import isModerator from posts import parseUserFeed -from posts import getPersonBox from posts import isCreateInsideAnnounce from donate import getDonationUrl from donate import getWebsite @@ -1102,6 +1103,7 @@ def _htmlProfileFollowing(translate: {}, baseDir: str, httpPrefix: str, translate['Page down'] + '" alt="' + \ translate['Page down'] + '">\n' + \ ' \n' + return profileStr @@ -2250,25 +2252,29 @@ def _individualFollowAsHtml(signingPrivateKeyPem: str, if not avatarUrl: avatarUrl = followUrl + '/avatar.png' - # lookup the correct webfinger for the followUrl - followUrlHandle = followUrlNickname + '@' + followUrlDomainFull - followUrlWf = \ - webfingerHandle(session, followUrlHandle, httpPrefix, - cachedWebfingers, - domain, __version__, debug, False, - signingPrivateKeyPem) + displayName = getDisplayName(baseDir, followUrl, personCache) + isGroup = False + if not displayName: + # lookup the correct webfinger for the followUrl + followUrlHandle = followUrlNickname + '@' + followUrlDomainFull + followUrlWf = \ + webfingerHandle(session, followUrlHandle, httpPrefix, + cachedWebfingers, + domain, __version__, debug, False, + signingPrivateKeyPem) + + originDomain = domain + (inboxUrl, pubKeyId, pubKey, fromPersonId, sharedInbox, avatarUrl2, + displayName, isGroup) = getPersonBox(signingPrivateKeyPem, + originDomain, + baseDir, session, + followUrlWf, + personCache, projectVersion, + httpPrefix, followUrlNickname, + domain, 'outbox', 43036) + if avatarUrl2: + avatarUrl = avatarUrl2 - originDomain = domain - (inboxUrl, pubKeyId, pubKey, fromPersonId, sharedInbox, avatarUrl2, - displayName, isGroup) = getPersonBox(signingPrivateKeyPem, - originDomain, - baseDir, session, - followUrlWf, - personCache, projectVersion, - httpPrefix, followUrlNickname, - domain, 'outbox', 43036) - if avatarUrl2: - avatarUrl = avatarUrl2 if displayName: displayName = \ addEmojiToDisplayName(None, baseDir, httpPrefix, @@ -2290,7 +2296,9 @@ def _individualFollowAsHtml(signingPrivateKeyPem: str, translate['Block'] + '\n' elif b == 'unfollow': unfollowStr = 'Unfollow' - if isGroup: + if isGroup or \ + isGroupAccount(baseDir, + followUrlNickname, followUrlDomain): unfollowStr = 'Leave' buttonsStr += \ '