mirror of https://gitlab.com/bashrc2/epicyon
Show emoji to indicate new follower domain
parent
135f0f760f
commit
3548b8795c
22
follow.py
22
follow.py
|
@ -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?
|
||||
|
|
|
@ -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 + '">'
|
||||
|
|
Loading…
Reference in New Issue