forked from indymedia/epicyon
Viewing replies
parent
511a8767a8
commit
fd75e68be3
36
daemon.py
36
daemon.py
|
@ -38,6 +38,7 @@ from inbox import inboxPermittedMessage
|
||||||
from inbox import inboxMessageHasParams
|
from inbox import inboxMessageHasParams
|
||||||
from inbox import runInboxQueue
|
from inbox import runInboxQueue
|
||||||
from inbox import savePostToInboxQueue
|
from inbox import savePostToInboxQueue
|
||||||
|
from inbox import populateReplies
|
||||||
from follow import getFollowingFeed
|
from follow import getFollowingFeed
|
||||||
from follow import outboxUndoFollow
|
from follow import outboxUndoFollow
|
||||||
from follow import sendFollowRequest
|
from follow import sendFollowRequest
|
||||||
|
@ -889,9 +890,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
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)
|
||||||
self._set_headers('text/html',cookie)
|
self._set_headers('text/html',cookie)
|
||||||
|
print('----------------------------------------------------')
|
||||||
|
pprint(repliesJson)
|
||||||
self.wfile.write(htmlPostReplies(self.server.baseDir, \
|
self.wfile.write(htmlPostReplies(self.server.baseDir, \
|
||||||
self.server.session, \
|
self.server.session, \
|
||||||
self.server.webfingerCache, \
|
self.server.cachedWebfingers, \
|
||||||
self.server.personCache, \
|
self.server.personCache, \
|
||||||
nickname, \
|
nickname, \
|
||||||
self.server.domain, \
|
self.server.domain, \
|
||||||
|
@ -974,7 +977,7 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self._set_headers('text/html',cookie)
|
self._set_headers('text/html',cookie)
|
||||||
self.wfile.write(htmlPostReplies(self.server.baseDir, \
|
self.wfile.write(htmlPostReplies(self.server.baseDir, \
|
||||||
self.server.session, \
|
self.server.session, \
|
||||||
self.server.webfingerCache, \
|
self.server.cachedWebfingers, \
|
||||||
self.server.personCache, \
|
self.server.personCache, \
|
||||||
nickname, \
|
nickname, \
|
||||||
self.server.domain, \
|
self.server.domain, \
|
||||||
|
@ -1459,7 +1462,15 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
fields['replyTo'], fields['replyTo'],fields['subject'])
|
fields['replyTo'], fields['replyTo'],fields['subject'])
|
||||||
if messageJson:
|
if messageJson:
|
||||||
self.postToNickname=nickname
|
self.postToNickname=nickname
|
||||||
if self._postToOutbox(messageJson):
|
result=self._postToOutbox(messageJson)
|
||||||
|
print('_postToOutbox ********************************************** '+str(result))
|
||||||
|
populateReplies(self.server.baseDir, \
|
||||||
|
self.server.httpPrefix, \
|
||||||
|
self.server.domainFull, \
|
||||||
|
messageJson, \
|
||||||
|
self.server.maxReplies, \
|
||||||
|
self.server.debug)
|
||||||
|
if result:
|
||||||
return 1
|
return 1
|
||||||
else:
|
else:
|
||||||
return -1
|
return -1
|
||||||
|
@ -1476,6 +1487,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
if messageJson:
|
if messageJson:
|
||||||
self.postToNickname=nickname
|
self.postToNickname=nickname
|
||||||
if self._postToOutbox(messageJson):
|
if self._postToOutbox(messageJson):
|
||||||
|
populateReplies(self.server.baseDir, \
|
||||||
|
self.server.httpPrefix, \
|
||||||
|
self.server.domain, \
|
||||||
|
messageJson, \
|
||||||
|
self.server.maxReplies, \
|
||||||
|
self.server.debug)
|
||||||
return 1
|
return 1
|
||||||
else:
|
else:
|
||||||
return -1
|
return -1
|
||||||
|
@ -1492,6 +1509,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
if messageJson:
|
if messageJson:
|
||||||
self.postToNickname=nickname
|
self.postToNickname=nickname
|
||||||
if self._postToOutbox(messageJson):
|
if self._postToOutbox(messageJson):
|
||||||
|
populateReplies(self.server.baseDir, \
|
||||||
|
self.server.httpPrefix, \
|
||||||
|
self.server.domain, \
|
||||||
|
messageJson, \
|
||||||
|
self.server.maxReplies, \
|
||||||
|
self.server.debug)
|
||||||
return 1
|
return 1
|
||||||
else:
|
else:
|
||||||
return -1
|
return -1
|
||||||
|
@ -1508,6 +1531,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
if messageJson:
|
if messageJson:
|
||||||
self.postToNickname=nickname
|
self.postToNickname=nickname
|
||||||
if self._postToOutbox(messageJson):
|
if self._postToOutbox(messageJson):
|
||||||
|
populateReplies(self.server.baseDir, \
|
||||||
|
self.server.httpPrefix, \
|
||||||
|
self.server.domain, \
|
||||||
|
messageJson, \
|
||||||
|
self.server.maxReplies, \
|
||||||
|
self.server.debug)
|
||||||
return 1
|
return 1
|
||||||
else:
|
else:
|
||||||
return -1
|
return -1
|
||||||
|
@ -2271,6 +2300,7 @@ def runDaemon(instanceId,clientToServer: bool, \
|
||||||
httpd.maxImageSize=10*1024*1024
|
httpd.maxImageSize=10*1024*1024
|
||||||
httpd.allowDeletion=allowDeletion
|
httpd.allowDeletion=allowDeletion
|
||||||
httpd.lastLoginTime=0
|
httpd.lastLoginTime=0
|
||||||
|
httpd.maxReplies=maxReplies
|
||||||
httpd.salts={}
|
httpd.salts={}
|
||||||
httpd.tokens={}
|
httpd.tokens={}
|
||||||
httpd.tokensLookup={}
|
httpd.tokensLookup={}
|
||||||
|
|
18
inbox.py
18
inbox.py
|
@ -812,51 +812,67 @@ def populateReplies(baseDir :str,httpPrefix :str,domain :str, \
|
||||||
"""Updates the list of replies for a post on this domain if
|
"""Updates the list of replies for a post on this domain if
|
||||||
a reply to it arrives
|
a reply to it arrives
|
||||||
"""
|
"""
|
||||||
|
print("Test1")
|
||||||
if not messageJson.get('id'):
|
if not messageJson.get('id'):
|
||||||
return False
|
return False
|
||||||
|
print("Test2")
|
||||||
if not messageJson.get('object'):
|
if not messageJson.get('object'):
|
||||||
return False
|
return False
|
||||||
|
print("Test3")
|
||||||
if not isinstance(messageJson['object'], dict):
|
if not isinstance(messageJson['object'], dict):
|
||||||
return False
|
return False
|
||||||
|
print("Test4")
|
||||||
if not messageJson['object'].get('inReplyTo'):
|
if not messageJson['object'].get('inReplyTo'):
|
||||||
return False
|
return False
|
||||||
|
print("Test5")
|
||||||
if not messageJson['object'].get('to'):
|
if not messageJson['object'].get('to'):
|
||||||
return False
|
return False
|
||||||
|
print("Test6")
|
||||||
replyTo=messageJson['object']['inReplyTo']
|
replyTo=messageJson['object']['inReplyTo']
|
||||||
if debug:
|
if debug:
|
||||||
print('DEBUG: post contains a reply')
|
print('DEBUG: post contains a reply')
|
||||||
|
print("Test7")
|
||||||
# is this a reply to a post on this domain?
|
# is this a reply to a post on this domain?
|
||||||
if not replyTo.startswith(httpPrefix+'://'+domain+'/'):
|
if not replyTo.startswith(httpPrefix+'://'+domain+'/'):
|
||||||
if debug:
|
if debug:
|
||||||
print('DEBUG: post is a reply to another not on this domain')
|
print('DEBUG: post is a reply to another not on this domain')
|
||||||
|
print(replyTo)
|
||||||
|
print('Expected: '+httpPrefix+'://'+domain+'/')
|
||||||
return False
|
return False
|
||||||
|
print("Test8")
|
||||||
replyToNickname=getNicknameFromActor(replyTo)
|
replyToNickname=getNicknameFromActor(replyTo)
|
||||||
if not replyToNickname:
|
if not replyToNickname:
|
||||||
if debug:
|
if debug:
|
||||||
print('DEBUG: no nickname found for '+replyTo)
|
print('DEBUG: no nickname found for '+replyTo)
|
||||||
return False
|
return False
|
||||||
|
print("Test9")
|
||||||
replyToDomain,replyToPort=getDomainFromActor(replyTo)
|
replyToDomain,replyToPort=getDomainFromActor(replyTo)
|
||||||
if not replyToDomain:
|
if not replyToDomain:
|
||||||
if debug:
|
if debug:
|
||||||
print('DEBUG: no domain found for '+replyTo)
|
print('DEBUG: no domain found for '+replyTo)
|
||||||
return False
|
return False
|
||||||
|
print("Test10")
|
||||||
postFilename=locatePost(baseDir,replyToNickname,replyToDomain,replyTo)
|
postFilename=locatePost(baseDir,replyToNickname,replyToDomain,replyTo)
|
||||||
if not postFilename:
|
if not postFilename:
|
||||||
if debug:
|
if debug:
|
||||||
print('DEBUG: post may have expired - '+replyTo)
|
print('DEBUG: post may have expired - '+replyTo)
|
||||||
return False
|
return False
|
||||||
|
print("Test11")
|
||||||
# populate a text file containing the ids of replies
|
# populate a text file containing the ids of replies
|
||||||
postRepliesFilename=postFilename.replace('.json','.replies')
|
postRepliesFilename=postFilename.replace('.json','.replies')
|
||||||
messageId=messageJson['id'].replace('/activity','')
|
messageId=messageJson['id'].replace('/activity','')
|
||||||
if os.path.isfile(postRepliesFilename):
|
if os.path.isfile(postRepliesFilename):
|
||||||
numLines = sum(1 for line in open(postRepliesFilename))
|
numLines = sum(1 for line in open(postRepliesFilename))
|
||||||
if numlines>maxReplies:
|
print("Test12 "+str(numLines))
|
||||||
|
if numLines>maxReplies:
|
||||||
return False
|
return False
|
||||||
|
print("Test13")
|
||||||
if messageId not in open(postRepliesFilename).read():
|
if messageId not in open(postRepliesFilename).read():
|
||||||
repliesFile=open(postRepliesFilename, "a")
|
repliesFile=open(postRepliesFilename, "a")
|
||||||
repliesFile.write(messageId+'\n')
|
repliesFile.write(messageId+'\n')
|
||||||
repliesFile.close()
|
repliesFile.close()
|
||||||
else:
|
else:
|
||||||
|
print("Test14")
|
||||||
repliesFile=open(postRepliesFilename, "w")
|
repliesFile=open(postRepliesFilename, "w")
|
||||||
repliesFile.write(messageId+'\n')
|
repliesFile.write(messageId+'\n')
|
||||||
repliesFile.close()
|
repliesFile.close()
|
||||||
|
|
2
posts.py
2
posts.py
|
@ -1232,6 +1232,8 @@ def createBoxBase(baseDir: str,boxname: str, \
|
||||||
postsCtr=0
|
postsCtr=0
|
||||||
postsInPersonInbox=os.listdir(boxDir)
|
postsInPersonInbox=os.listdir(boxDir)
|
||||||
for postFilename in postsInPersonInbox:
|
for postFilename in postsInPersonInbox:
|
||||||
|
if not postFilename.endswith('.json'):
|
||||||
|
continue
|
||||||
# extract the status number
|
# extract the status number
|
||||||
statusNumber=getStatusNumberFromPostFilename(postFilename)
|
statusNumber=getStatusNumberFromPostFilename(postFilename)
|
||||||
if statusNumber:
|
if statusNumber:
|
||||||
|
|
Loading…
Reference in New Issue