forked from indymedia/epicyon
Better handling of actor parsing
parent
f083b9c666
commit
8f346fffef
|
@ -109,6 +109,9 @@ def acceptFollow(baseDir: str,domain : str,messageJson: {}, \
|
|||
print('DEBUG: follow Accept received')
|
||||
thisActor=messageJson['object']['actor']
|
||||
nickname=getNicknameFromActor(thisActor)
|
||||
if not nickname:
|
||||
print('WARN: no nickname found in '+thisActor)
|
||||
return
|
||||
acceptedDomain,acceptedPort=getDomainFromActor(thisActor)
|
||||
if not acceptedDomain:
|
||||
if debug:
|
||||
|
|
16
announce.py
16
announce.py
|
@ -33,8 +33,11 @@ def outboxAnnounce(baseDir: str,messageJson: {},debug: bool) -> bool:
|
|||
return False
|
||||
if messageJson['type']=='Announce':
|
||||
if not isinstance(messageJson['object'], str):
|
||||
return
|
||||
return False
|
||||
nickname=getNicknameFromActor(messageJson['actor'])
|
||||
if not nickname:
|
||||
print('WARN: no nickname found in '+messageJson['actor'])
|
||||
return False
|
||||
domain,port=getDomainFromActor(messageJson['actor'])
|
||||
postFilename=locatePost(baseDir,nickname,domain,messageJson['object'])
|
||||
if postFilename:
|
||||
|
@ -42,13 +45,16 @@ def outboxAnnounce(baseDir: str,messageJson: {},debug: bool) -> bool:
|
|||
return True
|
||||
if messageJson['type']=='Undo':
|
||||
if not isinstance(messageJson['object'], dict):
|
||||
return
|
||||
return False
|
||||
if not messageJson['object'].get('type'):
|
||||
return False
|
||||
if messageJson['object']['type']=='Announce':
|
||||
if not isinstance(messageJson['object']['object'], str):
|
||||
return
|
||||
return False
|
||||
nickname=getNicknameFromActor(messageJson['actor'])
|
||||
if not nickname:
|
||||
print('WARN: no nickname found in '+messageJson['actor'])
|
||||
return False
|
||||
domain,port=getDomainFromActor(messageJson['actor'])
|
||||
postFilename=locatePost(baseDir,nickname,domain,messageJson['object']['object'])
|
||||
if postFilename:
|
||||
|
@ -218,7 +224,7 @@ def createAnnounce(session,baseDir: str,federationList: [], \
|
|||
announceNickname=None
|
||||
announceDomain=None
|
||||
announcePort=None
|
||||
if '/users/' in objectUrl:
|
||||
if '/users/' in objectUrl or '/profile/' in objectUrl:
|
||||
announceNickname=getNicknameFromActor(objectUrl)
|
||||
announceDomain,announcePort=getDomainFromActor(objectUrl)
|
||||
|
||||
|
@ -329,7 +335,7 @@ def undoAnnounce(session,baseDir: str,federationList: [], \
|
|||
announceNickname=None
|
||||
announceDomain=None
|
||||
announcePort=None
|
||||
if '/users/' in objectUrl:
|
||||
if '/users/' in objectUrl or '/profile/' in objectUrl:
|
||||
announceNickname=getNicknameFromActor(objectUrl)
|
||||
announceDomain,announcePort=getDomainFromActor(objectUrl)
|
||||
|
||||
|
|
10
blocking.py
10
blocking.py
|
@ -333,8 +333,11 @@ def outboxBlock(baseDir: str,httpPrefix: str, \
|
|||
if debug:
|
||||
print('DEBUG: c2s block post not found in inbox or outbox')
|
||||
print(messageId)
|
||||
return True
|
||||
return
|
||||
nicknameBlocked=getNicknameFromActor(messageJson['object'])
|
||||
if not nicknameBlocked:
|
||||
print('WARN: unable to find nickname in '+messageJson['object'])
|
||||
return
|
||||
domainBlocked,portBlocked=getDomainFromActor(messageJson['object'])
|
||||
domainBlockedFull=domainBlocked
|
||||
if portBlocked:
|
||||
|
@ -405,8 +408,11 @@ def outboxUndoBlock(baseDir: str,httpPrefix: str, \
|
|||
if debug:
|
||||
print('DEBUG: c2s undo block post not found in inbox or outbox')
|
||||
print(messageId)
|
||||
return True
|
||||
return
|
||||
nicknameBlocked=getNicknameFromActor(messageJson['object']['object'])
|
||||
if not nicknameBlocked:
|
||||
print('WARN: unable to find nickname in '+messageJson['object']['object'])
|
||||
return
|
||||
domainBlocked,portBlocked=getDomainFromActor(messageJson['object']['object'])
|
||||
domainBlockedFull=domainBlocked
|
||||
if portBlocked:
|
||||
|
|
|
@ -132,6 +132,9 @@ def capabilitiesAccept(baseDir: str,httpPrefix: str, \
|
|||
# otherwise create a new capability
|
||||
if not ocapAccept:
|
||||
acceptedActorNickname=getNicknameFromActor(acceptedActor)
|
||||
if not acceptedActorNickname:
|
||||
print('WARN: unable to find nickname in '+acceptedActor)
|
||||
return None
|
||||
acceptedActorDomain,acceptedActorPort=getDomainFromActor(acceptedActor)
|
||||
if acceptedActorPort:
|
||||
ocapId=acceptedActorNickname+'@'+acceptedActorDomain+':'+str(acceptedActorPort)+'#'+createPassword(32)
|
||||
|
@ -213,6 +216,9 @@ def capabilitiesUpdate(baseDir: str,httpPrefix: str, \
|
|||
|
||||
# change the id, so that the old capabilities can't continue to be used
|
||||
updateActorNickname=getNicknameFromActor(updateActor)
|
||||
if not updateActorNickname:
|
||||
print('WARN: unable to find nickname in '+updateActor)
|
||||
return None
|
||||
updateActorDomain,updateActorPort=getDomainFromActor(updateActor)
|
||||
if updateActorPort:
|
||||
ocapId=updateActorNickname+'@'+updateActorDomain+':'+str(updateActorPort)+'#'+createPassword(32)
|
||||
|
|
64
daemon.py
64
daemon.py
|
@ -900,6 +900,11 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
repeatUrl=self.path.split('?repeat=')[1]
|
||||
actor=self.path.split('?repeat=')[0]
|
||||
self.postToNickname=getNicknameFromActor(actor)
|
||||
if not self.postToNickname:
|
||||
print('WARN: unable to find nickname in '+actor)
|
||||
self.server.GETbusy=False
|
||||
self._redirect_headers(actor+'/inbox',cookie)
|
||||
return
|
||||
if not self.server.session:
|
||||
self.server.session= \
|
||||
createSession(self.server.domain,self.server.port,self.server.useTor)
|
||||
|
@ -929,6 +934,11 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
repeatUrl=self.path.split('?unrepeat=')[1]
|
||||
actor=self.path.split('?unrepeat=')[0]
|
||||
self.postToNickname=getNicknameFromActor(actor)
|
||||
if not self.postToNickname:
|
||||
print('WARN: unable to find nickname in '+actor)
|
||||
self.server.GETbusy=False
|
||||
self._redirect_headers(actor+'/inbox',cookie)
|
||||
return
|
||||
if not self.server.session:
|
||||
self.server.session= \
|
||||
createSession(self.server.domain,self.server.port,self.server.useTor)
|
||||
|
@ -996,6 +1006,11 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
likeUrl=self.path.split('?like=')[1]
|
||||
actor=self.path.split('?like=')[0]
|
||||
self.postToNickname=getNicknameFromActor(actor)
|
||||
if not self.postToNickname:
|
||||
print('WARN: unable to find nickname in '+actor)
|
||||
self.server.GETbusy=False
|
||||
self._redirect_headers(actor+'/inbox',cookie)
|
||||
return
|
||||
if not self.server.session:
|
||||
self.server.session= \
|
||||
createSession(self.server.domain,self.server.port,self.server.useTor)
|
||||
|
@ -1017,6 +1032,11 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
likeUrl=self.path.split('?unlike=')[1]
|
||||
actor=self.path.split('?unlike=')[0]
|
||||
self.postToNickname=getNicknameFromActor(actor)
|
||||
if not self.postToNickname:
|
||||
print('WARN: unable to find nickname in '+actor)
|
||||
self.server.GETbusy=False
|
||||
self._redirect_headers(actor+'/inbox',cookie)
|
||||
return
|
||||
if not self.server.session:
|
||||
self.server.session= \
|
||||
createSession(self.server.domain,self.server.port,self.server.useTor)
|
||||
|
@ -1052,6 +1072,11 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
self._redirect_headers(actor+'/inbox',cookie)
|
||||
return
|
||||
self.postToNickname=getNicknameFromActor(actor)
|
||||
if not self.postToNickname:
|
||||
print('WARN: unable to find nickname in '+actor)
|
||||
self.server.GETbusy=False
|
||||
self._redirect_headers(actor+'/inbox',cookie)
|
||||
return
|
||||
if not self.server.session:
|
||||
self.server.session= \
|
||||
createSession(self.server.domain,self.server.port, \
|
||||
|
@ -2195,6 +2220,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
actorStr=self.path.replace('/profiledata','').replace('/editprofile','')
|
||||
nickname=getNicknameFromActor(actorStr)
|
||||
if not nickname:
|
||||
print('WARN: nickname not found in '+actorStr)
|
||||
self._redirect_headers(actorStr,cookie)
|
||||
self.server.POSTbusy=False
|
||||
return
|
||||
|
@ -2659,8 +2685,9 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
if '&' in shareName:
|
||||
shareName=shareName.split('&')[0]
|
||||
shareNickname=getNicknameFromActor(shareActor)
|
||||
shareDomain,sharePort=getDomainFromActor(shareActor)
|
||||
removeShare(self.server.baseDir,shareNickname,shareDomain,shareName)
|
||||
if shareNickname:
|
||||
shareDomain,sharePort=getDomainFromActor(shareActor)
|
||||
removeShare(self.server.baseDir,shareNickname,shareDomain,shareName)
|
||||
self._redirect_headers(originPathStr+'/inbox',cookie)
|
||||
self.server.POSTbusy=False
|
||||
return
|
||||
|
@ -2689,7 +2716,8 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
if self.server.debug:
|
||||
pprint(deleteJson)
|
||||
self.postToNickname=getNicknameFromActor(removePostActor)
|
||||
self._postToOutbox(deleteJson)
|
||||
if self.postToNickname:
|
||||
self._postToOutbox(deleteJson)
|
||||
self._redirect_headers(originPathStr+'/outbox',cookie)
|
||||
self.server.POSTbusy=False
|
||||
return
|
||||
|
@ -2779,6 +2807,11 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
if authorized and self.path.endswith('/unblockconfirm'):
|
||||
originPathStr=self.path.split('/unblockconfirm')[0]
|
||||
blockerNickname=getNicknameFromActor(originPathStr)
|
||||
if not blockerNickname:
|
||||
print('WARN: unable to find nickname in '+originPathStr)
|
||||
self._redirect_headers(originPathStr,cookie)
|
||||
self.server.POSTbusy=False
|
||||
return
|
||||
length = int(self.headers['Content-length'])
|
||||
blockConfirmParams=self.rfile.read(length).decode('utf-8')
|
||||
if '&submitYes=' in blockConfirmParams:
|
||||
|
@ -2786,6 +2819,11 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
if '&' in blockingActor:
|
||||
blockingActor=blockingActor.split('&')[0]
|
||||
blockingNickname=getNicknameFromActor(blockingActor)
|
||||
if not blockingNickname:
|
||||
print('WARN: unable to find nickname in '+blockingActor)
|
||||
self._redirect_headers(originPathStr,cookie)
|
||||
self.server.POSTbusy=False
|
||||
return
|
||||
blockingDomain,blockingPort=getDomainFromActor(blockingActor)
|
||||
blockingDomainFull=blockingDomain
|
||||
if blockingPort:
|
||||
|
@ -2810,6 +2848,11 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
if authorized and self.path.endswith('/blockconfirm'):
|
||||
originPathStr=self.path.split('/blockconfirm')[0]
|
||||
blockerNickname=getNicknameFromActor(originPathStr)
|
||||
if not blockerNickname:
|
||||
print('WARN: unable to find nickname in '+originPathStr)
|
||||
self._redirect_headers(originPathStr,cookie)
|
||||
self.server.POSTbusy=False
|
||||
return
|
||||
length = int(self.headers['Content-length'])
|
||||
blockConfirmParams=self.rfile.read(length).decode('utf-8')
|
||||
if '&submitYes=' in blockConfirmParams:
|
||||
|
@ -2817,6 +2860,11 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
if '&' in blockingActor:
|
||||
blockingActor=blockingActor.split('&')[0]
|
||||
blockingNickname=getNicknameFromActor(blockingActor)
|
||||
if not blockingNickname:
|
||||
print('WARN: unable to find nickname in '+blockingActor)
|
||||
self._redirect_headers(originPathStr,cookie)
|
||||
self.server.POSTbusy=False
|
||||
return
|
||||
blockingDomain,blockingPort=getDomainFromActor(blockingActor)
|
||||
blockingDomainFull=blockingDomain
|
||||
if blockingPort:
|
||||
|
@ -2842,6 +2890,11 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
if authorized and self.path.endswith('/personoptions'):
|
||||
originPathStr=self.path.split('/personoptions')[0]
|
||||
chooserNickname=getNicknameFromActor(originPathStr)
|
||||
if not chooserNickname:
|
||||
print('WARN: unable to find nickname in '+originPathStr)
|
||||
self._redirect_headers(originPathStr,cookie)
|
||||
self.server.POSTbusy=False
|
||||
return
|
||||
length = int(self.headers['Content-length'])
|
||||
optionsConfirmParams=self.rfile.read(length).decode('utf-8').replace('%3A',':').replace('%2F','/')
|
||||
# actor for the person
|
||||
|
@ -2860,6 +2913,11 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
postUrl=postUrl.split('&')[0]
|
||||
|
||||
optionsNickname=getNicknameFromActor(optionsActor)
|
||||
if not optionsNickname:
|
||||
print('WARN: unable to find nickname in '+optionsActor)
|
||||
self._redirect_headers(originPathStr,cookie)
|
||||
self.server.POSTbusy=False
|
||||
return
|
||||
optionsDomain,optionsPort=getDomainFromActor(optionsActor)
|
||||
optionsDomainFull=optionsDomain
|
||||
if optionsPort:
|
||||
|
|
|
@ -68,7 +68,7 @@ def createDelete(session,baseDir: str,federationList: [], \
|
|||
deleteNickname=None
|
||||
deleteDomain=None
|
||||
deletePort=None
|
||||
if '/users/' in objectUrl:
|
||||
if '/users/' in objectUrl or '/profile/' in objectUrl:
|
||||
deleteNickname=getNicknameFromActor(objectUrl)
|
||||
deleteDomain,deletePort=getDomainFromActor(objectUrl)
|
||||
|
||||
|
|
|
@ -737,6 +737,9 @@ if args.follow:
|
|||
sys.exit()
|
||||
|
||||
followNickname=getNicknameFromActor(args.follow)
|
||||
if not followNickname:
|
||||
print('Unable to find nickname in '+args.follow)
|
||||
sys.exit()
|
||||
followDomain,followPort=getDomainFromActor(args.follow)
|
||||
|
||||
session = createSession(domain,port,useTor)
|
||||
|
@ -772,6 +775,9 @@ if args.unfollow:
|
|||
sys.exit()
|
||||
|
||||
followNickname=getNicknameFromActor(args.unfollow)
|
||||
if not followNickname:
|
||||
print('WARN: unable to find nickname in '+args.unfollow)
|
||||
sys.exit()
|
||||
followDomain,followPort=getDomainFromActor(args.unfollow)
|
||||
|
||||
session = createSession(domain,port,useTor)
|
||||
|
|
|
@ -39,6 +39,9 @@ def isFollowingActor(baseDir: str,nickname: str,domain: str,actor: str) -> bool:
|
|||
if actor in open(followingFile).read():
|
||||
return True
|
||||
followingNickname=getNicknameFromActor(actor)
|
||||
if not followingNickname:
|
||||
print('WARN: unable to find nickname in '+actor)
|
||||
return False
|
||||
followingDomain,followingPort=getDomainFromActor(actor)
|
||||
followingHandle=followingNickname+'@'+followingDomain
|
||||
if followingPort:
|
||||
|
@ -803,6 +806,9 @@ def outboxUndoFollow(baseDir: str,messageJson: {},debug: bool) -> None:
|
|||
print('DEBUG: undo follow arrived in outbox')
|
||||
|
||||
nicknameFollower=getNicknameFromActor(messageJson['object']['actor'])
|
||||
if not nicknameFollower:
|
||||
print('WARN: unable to find nickname in '+messageJson['object']['actor'])
|
||||
return
|
||||
domainFollower,portFollower=getDomainFromActor(messageJson['object']['actor'])
|
||||
domainFollowerFull=domainFollower
|
||||
if portFollower:
|
||||
|
@ -811,6 +817,9 @@ def outboxUndoFollow(baseDir: str,messageJson: {},debug: bool) -> None:
|
|||
domainFollowerFull=domainFollower+':'+str(portFollower)
|
||||
|
||||
nicknameFollowing=getNicknameFromActor(messageJson['object']['object'])
|
||||
if not nicknameFollowing:
|
||||
print('WARN: unable to find nickname in '+messageJson['object']['object'])
|
||||
return
|
||||
domainFollowing,portFollowing=getDomainFromActor(messageJson['object']['object'])
|
||||
domainFollowingFull=domainFollowing
|
||||
if portFollowing:
|
||||
|
|
56
inbox.py
56
inbox.py
|
@ -188,11 +188,10 @@ def savePostToInboxQueue(baseDir: str,httpPrefix: str, \
|
|||
if postJsonObject.get('actor'):
|
||||
actor=postJsonObject['actor']
|
||||
postNickname=getNicknameFromActor(postJsonObject['actor'])
|
||||
postDomain,postPort=getDomainFromActor(postJsonObject['actor'])
|
||||
if not postNickname:
|
||||
pprint(postJsonObject)
|
||||
print('No post Nickname in actor')
|
||||
print('No post Nickname in actor '+postJsonObject['actor'])
|
||||
return None
|
||||
postDomain,postPort=getDomainFromActor(postJsonObject['actor'])
|
||||
if not postDomain:
|
||||
pprint(postJsonObject)
|
||||
print('No post Domain in actor')
|
||||
|
@ -511,6 +510,9 @@ def receiveUndoFollow(session,baseDir: str,httpPrefix: str, \
|
|||
return False
|
||||
|
||||
nicknameFollower=getNicknameFromActor(messageJson['object']['actor'])
|
||||
if not nicknameFollower:
|
||||
print('WARN: unable to find nickname in '+messageJson['object']['actor'])
|
||||
return False
|
||||
domainFollower,portFollower=getDomainFromActor(messageJson['object']['actor'])
|
||||
domainFollowerFull=domainFollower
|
||||
if portFollower:
|
||||
|
@ -519,6 +521,9 @@ def receiveUndoFollow(session,baseDir: str,httpPrefix: str, \
|
|||
domainFollowerFull=domainFollower+':'+str(portFollower)
|
||||
|
||||
nicknameFollowing=getNicknameFromActor(messageJson['object']['object'])
|
||||
if not nicknameFollowing:
|
||||
print('WARN: unable to find nickname in '+messageJson['object']['object'])
|
||||
return False
|
||||
domainFollowing,portFollowing=getDomainFromActor(messageJson['object']['object'])
|
||||
domainFollowingFull=domainFollowing
|
||||
if portFollowing:
|
||||
|
@ -679,30 +684,32 @@ def receiveUpdate(session,baseDir: str, \
|
|||
messageJson['object']['type']=='Service':
|
||||
if messageJson['object'].get('url') and messageJson['object'].get('id'):
|
||||
print('Request to update actor: '+messageJson['actor'])
|
||||
updateDomain,updatePort=getDomainFromActor(messageJson['actor'])
|
||||
updateNickname=getNicknameFromActor(messageJson['actor'])
|
||||
if personReceiveUpdate(baseDir, \
|
||||
domain,port, \
|
||||
updateNickname,updateDomain,updatePort, \
|
||||
messageJson['object'], \
|
||||
personCache,debug):
|
||||
if debug:
|
||||
print('DEBUG: Profile update was received for '+messageJson['object']['url'])
|
||||
return True
|
||||
updateNickname=getNicknameFromActor(messageJson['actor'])
|
||||
if updateNickname:
|
||||
updateDomain,updatePort=getDomainFromActor(messageJson['actor'])
|
||||
if personReceiveUpdate(baseDir, \
|
||||
domain,port, \
|
||||
updateNickname,updateDomain,updatePort, \
|
||||
messageJson['object'], \
|
||||
personCache,debug):
|
||||
if debug:
|
||||
print('DEBUG: Profile update was received for '+messageJson['object']['url'])
|
||||
return True
|
||||
|
||||
if messageJson['object'].get('capability') and messageJson['object'].get('scope'):
|
||||
domain,tempPort=getDomainFromActor(messageJson['object']['scope'])
|
||||
nickname=getNicknameFromActor(messageJson['object']['scope'])
|
||||
if nickname:
|
||||
domain,tempPort=getDomainFromActor(messageJson['object']['scope'])
|
||||
|
||||
if messageJson['object']['type']=='Capability':
|
||||
if capabilitiesReceiveUpdate(baseDir,nickname,domain,port,
|
||||
messageJson['actor'], \
|
||||
messageJson['object']['id'], \
|
||||
messageJson['object']['capability'], \
|
||||
debug):
|
||||
if debug:
|
||||
print('DEBUG: An update was received')
|
||||
return True
|
||||
if messageJson['object']['type']=='Capability':
|
||||
if capabilitiesReceiveUpdate(baseDir,nickname,domain,port,
|
||||
messageJson['actor'], \
|
||||
messageJson['object']['id'], \
|
||||
messageJson['object']['capability'], \
|
||||
debug):
|
||||
if debug:
|
||||
print('DEBUG: An update was received')
|
||||
return True
|
||||
return False
|
||||
|
||||
def receiveLike(session,handle: str,baseDir: str, \
|
||||
|
@ -994,8 +1001,7 @@ def populateReplies(baseDir :str,httpPrefix :str,domain :str, \
|
|||
return False
|
||||
replyToNickname=getNicknameFromActor(replyTo)
|
||||
if not replyToNickname:
|
||||
if debug:
|
||||
print('DEBUG: no nickname found for '+replyTo)
|
||||
print('DEBUG: no nickname found for '+replyTo)
|
||||
return False
|
||||
replyToDomain,replyToPort=getDomainFromActor(replyTo)
|
||||
if not replyToDomain:
|
||||
|
|
4
like.py
4
like.py
|
@ -170,7 +170,7 @@ def like(session,baseDir: str,federationList: [],nickname: str,domain: str,port:
|
|||
likedPostNickname=None
|
||||
likedPostDomain=None
|
||||
likedPostPort=None
|
||||
if '/users/' in objectUrl:
|
||||
if '/users/' in objectUrl or '/profile/' in objectUrl:
|
||||
likedPostNickname=getNicknameFromActor(objectUrl)
|
||||
likedPostDomain,likedPostPort=getDomainFromActor(objectUrl)
|
||||
|
||||
|
@ -267,7 +267,7 @@ def undolike(session,baseDir: str,federationList: [],nickname: str,domain: str,p
|
|||
likedPostNickname=None
|
||||
likedPostDomain=None
|
||||
likedPostPort=None
|
||||
if '/users/' in objectUrl:
|
||||
if '/users/' in objectUrl or '/profile/' in objectUrl:
|
||||
likedPostNickname=getNicknameFromActor(objectUrl)
|
||||
likedPostDomain,likedPostPort=getDomainFromActor(objectUrl)
|
||||
|
||||
|
|
3
posts.py
3
posts.py
|
@ -1987,6 +1987,9 @@ def sendCapabilitiesUpdate(session,baseDir: str,httpPrefix: str, \
|
|||
|
||||
clientToServer=False
|
||||
followerNickname=getNicknameFromActor(followerUrl)
|
||||
if not followerNickname:
|
||||
print('WARN: unable to find nickname in '+followerUrl)
|
||||
return 1
|
||||
followerDomain,followerPort=getDomainFromActor(followerUrl)
|
||||
return sendSignedJson(updateJson,session,baseDir, \
|
||||
nickname,domain,port, \
|
||||
|
|
3
roles.py
3
roles.py
|
@ -180,6 +180,9 @@ def outboxDelegate(baseDir: str,authenticatedNickname: str,messageJson: {},debug
|
|||
if canDelegate==False:
|
||||
return False
|
||||
nickname=getNicknameFromActor(messageJson['object']['actor'])
|
||||
if not nickname:
|
||||
print('WARN: unable to find nickname in '+messageJson['object']['actor'])
|
||||
return False
|
||||
domainFull=domain
|
||||
if port:
|
||||
if port!=80 and port!=443:
|
||||
|
|
|
@ -388,6 +388,8 @@ def htmlEditProfile(baseDir: str,path: str,domain: str,port: int) -> str:
|
|||
pathOriginal=path
|
||||
path=path.replace('/inbox','').replace('/outbox','').replace('/shares','')
|
||||
nickname=getNicknameFromActor(path)
|
||||
if not nickname:
|
||||
return ''
|
||||
domainFull=domain
|
||||
if port:
|
||||
if port!=80 and port!=443:
|
||||
|
@ -1416,18 +1418,22 @@ def individualPostAsHtml(baseDir: str, \
|
|||
#avatarPosition=' class="right"'
|
||||
if '/statuses/' in postJsonObject['object']['inReplyTo']:
|
||||
replyNickname=getNicknameFromActor(postJsonObject['object']['inReplyTo'])
|
||||
replyDomain,replyPort=getDomainFromActor(postJsonObject['object']['inReplyTo'])
|
||||
if replyNickname and replyDomain:
|
||||
replyDisplayName=getDisplayName(postJsonObject['object']['inReplyTo'],personCache)
|
||||
if replyDisplayName:
|
||||
titleStr+=' <img src="/icons/reply.png" class="announceOrReply"/> <a href="'+postJsonObject['object']['inReplyTo']+'">'+replyDisplayName+'</a>'
|
||||
else:
|
||||
titleStr+=' <img src="/icons/reply.png" class="announceOrReply"/> <a href="'+postJsonObject['object']['inReplyTo']+'">@'+replyNickname+'@'+replyDomain+'</a>'
|
||||
if replyNickname:
|
||||
replyDomain,replyPort=getDomainFromActor(postJsonObject['object']['inReplyTo'])
|
||||
if replyNickname and replyDomain:
|
||||
replyDisplayName=getDisplayName(postJsonObject['object']['inReplyTo'],personCache)
|
||||
if replyDisplayName:
|
||||
titleStr+=' <img src="/icons/reply.png" class="announceOrReply"/> <a href="'+postJsonObject['object']['inReplyTo']+'">'+replyDisplayName+'</a>'
|
||||
else:
|
||||
titleStr+=' <img src="/icons/reply.png" class="announceOrReply"/> <a href="'+postJsonObject['object']['inReplyTo']+'">@'+replyNickname+'@'+replyDomain+'</a>'
|
||||
else:
|
||||
titleStr+=' <img src="/icons/reply.png" class="announceOrReply"/> <a href="'+postJsonObject['object']['inReplyTo']+'">@unknown</a>'
|
||||
else:
|
||||
postDomain=postJsonObject['object']['inReplyTo'].replace('https://','').replace('http://','').replace('dat://','')
|
||||
if '/' in postDomain:
|
||||
postDomain=postDomain.split('/',1)[0]
|
||||
titleStr+=' <img src="/icons/reply.png" class="announceOrReply"/> <a href="'+postJsonObject['object']['inReplyTo']+'">'+postDomain+'</a>'
|
||||
if postDomain:
|
||||
titleStr+=' <img src="/icons/reply.png" class="announceOrReply"/> <a href="'+postJsonObject['object']['inReplyTo']+'">'+postDomain+'</a>'
|
||||
attachmentStr=''
|
||||
if postJsonObject['object'].get('attachment'):
|
||||
if isinstance(postJsonObject['object']['attachment'], list):
|
||||
|
|
Loading…
Reference in New Issue