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