Avoid needing to parse the objectUrl

merge-requests/30/head
Bob Mottram 2019-11-15 09:54:19 +00:00
parent 9bff2c24df
commit fd61e985cf
1 changed files with 34 additions and 20 deletions

32
like.py
View File

@ -160,8 +160,11 @@ def updateLikesCollection(baseDir: str,postFilename: str, \
def like(session,baseDir: str,federationList: [], \ def like(session,baseDir: str,federationList: [], \
nickname: str,domain: str,port: int, \ nickname: str,domain: str,port: int, \
ccList: [],httpPrefix: str,objectUrl: str,clientToServer: bool, \ ccList: [],httpPrefix: str, \
sendThreads: [],postLog: [],personCache: {},cachedWebfingers: {}, \ objectUrl: str,actorLiked: str, \
clientToServer: bool, \
sendThreads: [],postLog: [], \
personCache: {},cachedWebfingers: {}, \
debug: bool,projectVersion: str) -> {}: debug: bool,projectVersion: str) -> {}:
"""Creates a like """Creates a like
actor is the person doing the liking actor is the person doing the liking
@ -195,6 +198,10 @@ def like(session,baseDir: str,federationList: [], \
likedPostNickname=None likedPostNickname=None
likedPostDomain=None likedPostDomain=None
likedPostPort=None likedPostPort=None
if actorLiked:
likedPostNickname=getNicknameFromActor(actorLiked)
likedPostDomain,likedPostPort=getDomainFromActor(actorLiked)
else:
if '/users/' in objectUrl or \ if '/users/' in objectUrl or \
'/channel/' in objectUrl or \ '/channel/' in objectUrl or \
'/profile/' in objectUrl: '/profile/' in objectUrl:
@ -231,7 +238,7 @@ def likePost(session,baseDir: str,federationList: [], \
sendThreads: [],postLog: [], \ sendThreads: [],postLog: [], \
personCache: {},cachedWebfingers: {}, \ personCache: {},cachedWebfingers: {}, \
debug: bool,projectVersion: str) -> {}: debug: bool,projectVersion: str) -> {}:
"""Likes a given status post """Likes a given status post. This is only used by unit tests
""" """
likeDomain=likeDomain likeDomain=likeDomain
if likePort: if likePort:
@ -239,9 +246,9 @@ def likePost(session,baseDir: str,federationList: [], \
if ':' not in likeDomain: if ':' not in likeDomain:
likeDomain=likeDomain+':'+str(likePort) likeDomain=likeDomain+':'+str(likePort)
objectUrl = \ actorLiked= \
httpPrefix + '://'+likeDomain+'/users/'+likeNickname+ \ httpPrefix + '://'+likeDomain+'/users/'+likeNickname
'/statuses/'+str(likeStatusNumber) objectUrl=actorLiked+'/statuses/'+str(likeStatusNumber)
ccUrl=httpPrefix+'://'+likeDomain+'/users/'+likeNickname ccUrl=httpPrefix+'://'+likeDomain+'/users/'+likeNickname
if likePort: if likePort:
@ -252,14 +259,17 @@ def likePost(session,baseDir: str,federationList: [], \
str(likePort)+'/users/'+likeNickname str(likePort)+'/users/'+likeNickname
return like(session,baseDir,federationList,nickname,domain,port, \ return like(session,baseDir,federationList,nickname,domain,port, \
ccList,httpPrefix,objectUrl,clientToServer, \ ccList,httpPrefix,objectUrl,actorLiked,clientToServer, \
sendThreads,postLog,personCache,cachedWebfingers, \ sendThreads,postLog,personCache,cachedWebfingers, \
debug,projectVersion) debug,projectVersion)
def undolike(session,baseDir: str,federationList: [], \ def undolike(session,baseDir: str,federationList: [], \
nickname: str,domain: str,port: int, \ nickname: str,domain: str,port: int, \
ccList: [],httpPrefix: str,objectUrl: str,clientToServer: bool, \ ccList: [],httpPrefix: str, \
sendThreads: [],postLog: [],personCache: {},cachedWebfingers: {}, \ objectUrl: str,actorLiked: str, \
clientToServer: bool, \
sendThreads: [],postLog: [], \
personCache: {},cachedWebfingers: {}, \
debug: bool,projectVersion: str) -> {}: debug: bool,projectVersion: str) -> {}:
"""Removes a like """Removes a like
actor is the person doing the liking actor is the person doing the liking
@ -298,6 +308,10 @@ def undolike(session,baseDir: str,federationList: [], \
likedPostNickname=None likedPostNickname=None
likedPostDomain=None likedPostDomain=None
likedPostPort=None likedPostPort=None
if actorLiked:
likedPostNickname=getNicknameFromActor(actorLiked)
likedPostDomain,likedPostPort=getDomainFromActor(actorLiked)
else:
if '/users/' in objectUrl or \ if '/users/' in objectUrl or \
'/channel/' in objectUrl or \ '/channel/' in objectUrl or \
'/profile/' in objectUrl: '/profile/' in objectUrl: