From fd61e985cf19ff07a607da9c9ac559744f4fc1d8 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Fri, 15 Nov 2019 09:54:19 +0000 Subject: [PATCH] Avoid needing to parse the objectUrl --- like.py | 54 ++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 34 insertions(+), 20 deletions(-) diff --git a/like.py b/like.py index bfca142c2..72ab1d549 100644 --- a/like.py +++ b/like.py @@ -160,8 +160,11 @@ def updateLikesCollection(baseDir: str,postFilename: str, \ def like(session,baseDir: str,federationList: [], \ nickname: str,domain: str,port: int, \ - ccList: [],httpPrefix: str,objectUrl: str,clientToServer: bool, \ - sendThreads: [],postLog: [],personCache: {},cachedWebfingers: {}, \ + ccList: [],httpPrefix: str, \ + objectUrl: str,actorLiked: str, \ + clientToServer: bool, \ + sendThreads: [],postLog: [], \ + personCache: {},cachedWebfingers: {}, \ debug: bool,projectVersion: str) -> {}: """Creates a like actor is the person doing the liking @@ -195,11 +198,15 @@ def like(session,baseDir: str,federationList: [], \ likedPostNickname=None likedPostDomain=None likedPostPort=None - if '/users/' in objectUrl or \ - '/channel/' in objectUrl or \ - '/profile/' in objectUrl: - likedPostNickname=getNicknameFromActor(objectUrl) - likedPostDomain,likedPostPort=getDomainFromActor(objectUrl) + if actorLiked: + likedPostNickname=getNicknameFromActor(actorLiked) + likedPostDomain,likedPostPort=getDomainFromActor(actorLiked) + else: + if '/users/' in objectUrl or \ + '/channel/' in objectUrl or \ + '/profile/' in objectUrl: + likedPostNickname=getNicknameFromActor(objectUrl) + likedPostDomain,likedPostPort=getDomainFromActor(objectUrl) if likedPostNickname: postFilename=locatePost(baseDir,nickname,domain,objectUrl) @@ -231,7 +238,7 @@ def likePost(session,baseDir: str,federationList: [], \ sendThreads: [],postLog: [], \ personCache: {},cachedWebfingers: {}, \ debug: bool,projectVersion: str) -> {}: - """Likes a given status post + """Likes a given status post. This is only used by unit tests """ likeDomain=likeDomain if likePort: @@ -239,9 +246,9 @@ def likePost(session,baseDir: str,federationList: [], \ if ':' not in likeDomain: likeDomain=likeDomain+':'+str(likePort) - objectUrl = \ - httpPrefix + '://'+likeDomain+'/users/'+likeNickname+ \ - '/statuses/'+str(likeStatusNumber) + actorLiked= \ + httpPrefix + '://'+likeDomain+'/users/'+likeNickname + objectUrl=actorLiked+'/statuses/'+str(likeStatusNumber) ccUrl=httpPrefix+'://'+likeDomain+'/users/'+likeNickname if likePort: @@ -250,16 +257,19 @@ def likePost(session,baseDir: str,federationList: [], \ ccUrl= \ httpPrefix+'://'+likeDomain+':'+ \ str(likePort)+'/users/'+likeNickname - + return like(session,baseDir,federationList,nickname,domain,port, \ - ccList,httpPrefix,objectUrl,clientToServer, \ + ccList,httpPrefix,objectUrl,actorLiked,clientToServer, \ sendThreads,postLog,personCache,cachedWebfingers, \ debug,projectVersion) def undolike(session,baseDir: str,federationList: [], \ nickname: str,domain: str,port: int, \ - ccList: [],httpPrefix: str,objectUrl: str,clientToServer: bool, \ - sendThreads: [],postLog: [],personCache: {},cachedWebfingers: {}, \ + ccList: [],httpPrefix: str, \ + objectUrl: str,actorLiked: str, \ + clientToServer: bool, \ + sendThreads: [],postLog: [], \ + personCache: {},cachedWebfingers: {}, \ debug: bool,projectVersion: str) -> {}: """Removes a like actor is the person doing the liking @@ -298,11 +308,15 @@ def undolike(session,baseDir: str,federationList: [], \ likedPostNickname=None likedPostDomain=None likedPostPort=None - if '/users/' in objectUrl or \ - '/channel/' in objectUrl or \ - '/profile/' in objectUrl: - likedPostNickname=getNicknameFromActor(objectUrl) - likedPostDomain,likedPostPort=getDomainFromActor(objectUrl) + if actorLiked: + likedPostNickname=getNicknameFromActor(actorLiked) + likedPostDomain,likedPostPort=getDomainFromActor(actorLiked) + else: + if '/users/' in objectUrl or \ + '/channel/' in objectUrl or \ + '/profile/' in objectUrl: + likedPostNickname=getNicknameFromActor(objectUrl) + likedPostDomain,likedPostPort=getDomainFromActor(objectUrl) if likedPostNickname: postFilename=locatePost(baseDir,nickname,domain,objectUrl)