Receiving likes on announces

merge-requests/30/head
Bob Mottram 2021-10-14 23:29:51 +01:00
parent 5804034ece
commit b000e0aba9
2 changed files with 111 additions and 68 deletions

View File

@ -7402,6 +7402,8 @@ class PubServer(BaseHTTPRequestHandler):
domain, debug) domain, debug)
likeUrl = announceLikeUrl likeUrl = announceLikeUrl
likedPostFilename = announceLikedFilename likedPostFilename = announceLikedFilename
likedPostJson = \
loadJson(likedPostFilename, 0, 1)
if debug: if debug:
print('Updating likes for ' + likedPostFilename) print('Updating likes for ' + likedPostFilename)
updateLikesCollection(recentPostsCache, updateLikesCollection(recentPostsCache,
@ -7573,6 +7575,8 @@ class PubServer(BaseHTTPRequestHandler):
debug) debug)
likeUrl = announceLikeUrl likeUrl = announceLikeUrl
likedPostFilename = announceLikedFilename likedPostFilename = announceLikedFilename
likedPostJson = \
loadJson(likedPostFilename, 0, 1)
if debug: if debug:
print('Removing likes for ' + likedPostFilename) print('Removing likes for ' + likedPostFilename)
undoLikesCollectionEntry(recentPostsCache, undoLikesCollectionEntry(recentPostsCache,

View File

@ -929,19 +929,41 @@ def _receiveLike(recentPostsCache: {},
if debug: if debug:
print('DEBUG: liked post found in inbox') print('DEBUG: liked post found in inbox')
likeActor = messageJson['actor']
handleName = handle.split('@')[0] handleName = handle.split('@')[0]
handleDom = handle.split('@')[1] handleDom = handle.split('@')[1]
if not _alreadyLiked(baseDir, if not _alreadyLiked(baseDir,
handleName, handleDom, handleName, handleDom,
postLikedId, postLikedId,
messageJson['actor']): likeActor):
_likeNotify(baseDir, domain, onionDomain, handle, _likeNotify(baseDir, domain, onionDomain, handle,
messageJson['actor'], postLikedId) likeActor, postLikedId)
updateLikesCollection(recentPostsCache, baseDir, postFilename, updateLikesCollection(recentPostsCache, baseDir, postFilename,
postLikedId, messageJson['actor'], postLikedId, likeActor,
handleName, domain, debug) handleName, domain, debug)
# regenerate the html # regenerate the html
likedPostJson = loadJson(postFilename, 0, 1) likedPostJson = loadJson(postFilename, 0, 1)
if likedPostJson:
if likedPostJson.get('type'):
if likedPostJson['type'] == 'Announce' and \
likedPostJson.get('object'):
if isinstance(likedPostJson['object'], str):
announceLikeUrl = likedPostJson['object']
announceLikedFilename = \
locatePost(baseDir, handleName,
domain, announceLikeUrl)
if announceLikedFilename:
postLikedId = announceLikeUrl
postFilename = announceLikedFilename
updateLikesCollection(recentPostsCache,
baseDir,
postFilename,
postLikedId,
likeActor,
handleName,
domain, debug)
likedPostJson = \
loadJson(postFilename, 0, 1)
if likedPostJson: if likedPostJson:
if debug: if debug:
cachedPostFilename = \ cachedPostFilename = \
@ -974,7 +996,6 @@ def _receiveLike(recentPostsCache: {},
showIndividualPostIcons, showIndividualPostIcons,
manuallyApproveFollowers, manuallyApproveFollowers,
False, True, False) False, True, False)
return True return True
@ -1030,11 +1051,29 @@ def _receiveUndoLike(recentPostsCache: {},
return True return True
if debug: if debug:
print('DEBUG: liked post found in inbox. Now undoing.') print('DEBUG: liked post found in inbox. Now undoing.')
likeActor = messageJson['actor']
postLikedId = messageJson['object']
undoLikesCollectionEntry(recentPostsCache, baseDir, postFilename, undoLikesCollectionEntry(recentPostsCache, baseDir, postFilename,
messageJson['object'], postLikedId, likeActor, domain, debug)
messageJson['actor'], domain, debug)
# regenerate the html # regenerate the html
likedPostJson = loadJson(postFilename, 0, 1) likedPostJson = loadJson(postFilename, 0, 1)
if likedPostJson:
if likedPostJson.get('type'):
if likedPostJson['type'] == 'Announce' and \
likedPostJson.get('object'):
if isinstance(likedPostJson['object'], str):
announceLikeUrl = likedPostJson['object']
announceLikedFilename = \
locatePost(baseDir, handleName,
domain, announceLikeUrl)
if announceLikedFilename:
postLikedId = announceLikeUrl
postFilename = announceLikedFilename
undoLikesCollectionEntry(recentPostsCache, baseDir,
postFilename, postLikedId,
likeActor, domain, debug)
likedPostJson = \
loadJson(postFilename, 0, 1)
if likedPostJson: if likedPostJson:
if debug: if debug:
cachedPostFilename = \ cachedPostFilename = \