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')
|
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,
|
def isFollowerOfPerson(baseDir: str, nickname: str, domain: str,
|
||||||
followerNickname: str, followerDomain: str) -> bool:
|
followerNickname: str, followerDomain: str) -> bool:
|
||||||
"""is the given nickname a follower of followerNickname?
|
"""is the given nickname a follower of followerNickname?
|
||||||
|
|
|
@ -53,6 +53,7 @@ from jami import getJamiAddress
|
||||||
from cwtch import getCwtchAddress
|
from cwtch import getCwtchAddress
|
||||||
from filters import isFiltered
|
from filters import isFiltered
|
||||||
from follow import isFollowerOfPerson
|
from follow import isFollowerOfPerson
|
||||||
|
from follow import getFollowerDomains
|
||||||
from webapp_frontscreen import htmlFrontScreen
|
from webapp_frontscreen import htmlFrontScreen
|
||||||
from webapp_utils import htmlKeyboardNavigation
|
from webapp_utils import htmlKeyboardNavigation
|
||||||
from webapp_utils import htmlHideFromScreenReader
|
from webapp_utils import htmlHideFromScreenReader
|
||||||
|
@ -716,6 +717,8 @@ def htmlProfile(signingPrivateKeyPem: str,
|
||||||
break
|
break
|
||||||
if selected == 'followers':
|
if selected == 'followers':
|
||||||
if followApprovals:
|
if followApprovals:
|
||||||
|
currFollowerDomains = \
|
||||||
|
getFollowerDomains(baseDir, nickname, domain)
|
||||||
with open(followRequestsFilename, 'r') as f:
|
with open(followRequestsFilename, 'r') as f:
|
||||||
for followerHandle in f:
|
for followerHandle in f:
|
||||||
if len(line) > 0:
|
if len(line) > 0:
|
||||||
|
@ -726,13 +729,25 @@ def htmlProfile(signingPrivateKeyPem: str,
|
||||||
dom = followerHandle.split('@')[1]
|
dom = followerHandle.split('@')[1]
|
||||||
followerActor = \
|
followerActor = \
|
||||||
localActorUrl(httpPrefix, nick, dom)
|
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
|
basePath = '/users/' + nickname
|
||||||
followApprovalsSection += '<div class="container">'
|
followApprovalsSection += '<div class="container">'
|
||||||
followApprovalsSection += \
|
followApprovalsSection += \
|
||||||
'<a href="' + followerActor + '">'
|
'<a href="' + followerActor + '">'
|
||||||
followApprovalsSection += \
|
followApprovalsSection += \
|
||||||
'<span class="followRequestHandle">' + \
|
'<span class="followRequestHandle">' + \
|
||||||
followerHandle + '</span></a>'
|
followerHandle + \
|
||||||
|
newFollowerDomain + '</span></a>'
|
||||||
|
|
||||||
|
# show Approve and Deny buttons
|
||||||
followApprovalsSection += \
|
followApprovalsSection += \
|
||||||
'<a href="' + basePath + \
|
'<a href="' + basePath + \
|
||||||
'/followapprove=' + followerHandle + '">'
|
'/followapprove=' + followerHandle + '">'
|
||||||
|
|
Loading…
Reference in New Issue