Show emoji to indicate new follower domain

merge-requests/30/head
Bob Mottram 2021-11-08 14:49:18 +00:00
parent 135f0f760f
commit 3548b8795c
2 changed files with 38 additions and 1 deletions

View File

@ -209,6 +209,28 @@ def followerOfPerson(baseDir: str, nickname: str, domain: str,
federationList, debug, groupAccount, 'followers.txt')
def getFollowerDomains(baseDir: str, nickname: str, domain: str) -> []:
"""Returns a list of domains for followers
"""
domain = removeDomainPort(domain)
followersFile = acctDir(baseDir, nickname, domain) + '/followers.txt'
if not os.path.isfile(followersFile):
return []
lines = []
with open(followersFile, 'r') as fpFollowers:
lines = fpFollowers.readlines()
domainsList = []
for handle in lines:
followerDomain, _ = getDomainFromActor(handle)
if not followerDomain:
continue
if followerDomain not in domainsList:
domainsList.append(followerDomain)
return domainsList
def isFollowerOfPerson(baseDir: str, nickname: str, domain: str,
followerNickname: str, followerDomain: str) -> bool:
"""is the given nickname a follower of followerNickname?

View File

@ -53,6 +53,7 @@ from jami import getJamiAddress
from cwtch import getCwtchAddress
from filters import isFiltered
from follow import isFollowerOfPerson
from follow import getFollowerDomains
from webapp_frontscreen import htmlFrontScreen
from webapp_utils import htmlKeyboardNavigation
from webapp_utils import htmlHideFromScreenReader
@ -716,6 +717,8 @@ def htmlProfile(signingPrivateKeyPem: str,
break
if selected == 'followers':
if followApprovals:
currFollowerDomains = \
getFollowerDomains(baseDir, nickname, domain)
with open(followRequestsFilename, 'r') as f:
for followerHandle in f:
if len(line) > 0:
@ -726,13 +729,25 @@ def htmlProfile(signingPrivateKeyPem: str,
dom = followerHandle.split('@')[1]
followerActor = \
localActorUrl(httpPrefix, nick, dom)
# is this a new domain?
# if so then append a new instance indicator
followerDomain, _ = \
getDomainFromActor(followerActor)
newFollowerDomain = ''
if followerDomain not in currFollowerDomains:
newFollowerDomain = ''
basePath = '/users/' + nickname
followApprovalsSection += '<div class="container">'
followApprovalsSection += \
'<a href="' + followerActor + '">'
followApprovalsSection += \
'<span class="followRequestHandle">' + \
followerHandle + '</span></a>'
followerHandle + \
newFollowerDomain + '</span></a>'
# show Approve and Deny buttons
followApprovalsSection += \
'<a href="' + basePath + \
'/followapprove=' + followerHandle + '">'