mirror of https://gitlab.com/bashrc2/epicyon
Sending announce
parent
12dfd89ba9
commit
d932b75094
63
daemon.py
63
daemon.py
|
@ -71,6 +71,7 @@ from person import removeAccount
|
||||||
from person import canRemovePost
|
from person import canRemovePost
|
||||||
from person import personSnooze
|
from person import personSnooze
|
||||||
from person import personUnsnooze
|
from person import personUnsnooze
|
||||||
|
from posts import savePostToBox
|
||||||
from posts import getInstanceActorKey
|
from posts import getInstanceActorKey
|
||||||
from posts import removePostInteractions
|
from posts import removePostInteractions
|
||||||
from posts import outboxMessageCreateWrap
|
from posts import outboxMessageCreateWrap
|
||||||
|
@ -89,6 +90,7 @@ from posts import createDirectMessagePost
|
||||||
from posts import populateRepliesJson
|
from posts import populateRepliesJson
|
||||||
from posts import addToField
|
from posts import addToField
|
||||||
from posts import expireCache
|
from posts import expireCache
|
||||||
|
from inbox import inboxUpdateIndex
|
||||||
from inbox import clearQueueItems
|
from inbox import clearQueueItems
|
||||||
from inbox import inboxPermittedMessage
|
from inbox import inboxPermittedMessage
|
||||||
from inbox import inboxMessageHasParams
|
from inbox import inboxMessageHasParams
|
||||||
|
@ -6730,11 +6732,72 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
debug,
|
debug,
|
||||||
self.server.projectVersion,
|
self.server.projectVersion,
|
||||||
self.server.signingPrivateKeyPem)
|
self.server.signingPrivateKeyPem)
|
||||||
|
announceFilename = None
|
||||||
if announceJson:
|
if announceJson:
|
||||||
|
# save the announce straight to the outbox
|
||||||
|
# This is because the subsequent send is within a separate thread
|
||||||
|
# but the html still needs to be generated before this call ends
|
||||||
|
announceId = removeIdEnding(announceJson['id'])
|
||||||
|
announceFilename = \
|
||||||
|
savePostToBox(baseDir, httpPrefix, announceId,
|
||||||
|
self.postToNickname, domainFull,
|
||||||
|
announceJson, 'outbox')
|
||||||
|
# also copy the post id to the inbox index
|
||||||
|
inboxUpdateIndex('inbox', baseDir,
|
||||||
|
self.postToNickname + '@' + domain,
|
||||||
|
announceFilename, debug)
|
||||||
|
|
||||||
# clear the icon from the cache so that it gets updated
|
# clear the icon from the cache so that it gets updated
|
||||||
if self.server.iconsCache.get('repeat.png'):
|
if self.server.iconsCache.get('repeat.png'):
|
||||||
del self.server.iconsCache['repeat.png']
|
del self.server.iconsCache['repeat.png']
|
||||||
|
|
||||||
|
# send out the announce within a separate thread
|
||||||
self._postToOutboxThread(announceJson)
|
self._postToOutboxThread(announceJson)
|
||||||
|
|
||||||
|
# generate the html for the announce
|
||||||
|
if announceFilename:
|
||||||
|
print('Generating html post for announce')
|
||||||
|
announcePostJson = loadJson(announceFilename, 0, 1)
|
||||||
|
if announcePostJson:
|
||||||
|
cachedPostFilename = \
|
||||||
|
getCachedPostFilename(baseDir, self.postToNickname,
|
||||||
|
domain, announcePostJson)
|
||||||
|
print('Announced post json: ' + str(announcePostJson))
|
||||||
|
print('Announced post nickname: ' +
|
||||||
|
self.postToNickname + ' ' + domain)
|
||||||
|
print('Announced post cache: ' + str(cachedPostFilename))
|
||||||
|
showIndividualPostIcons = True
|
||||||
|
manuallyApproveFollowers = \
|
||||||
|
followerApprovalActive(baseDir,
|
||||||
|
self.postToNickname, domain)
|
||||||
|
individualPostAsHtml(self.server.signingPrivateKeyPem, False,
|
||||||
|
self.server.recentPostsCache,
|
||||||
|
self.server.maxRecentPosts,
|
||||||
|
self.server.translate,
|
||||||
|
pageNumber, baseDir,
|
||||||
|
self.server.session,
|
||||||
|
self.server.cachedWebfingers,
|
||||||
|
self.server.personCache,
|
||||||
|
self.postToNickname, domain,
|
||||||
|
self.server.port, announcePostJson,
|
||||||
|
None, True,
|
||||||
|
self.server.allowDeletion,
|
||||||
|
httpPrefix, self.server.projectVersion,
|
||||||
|
timelineStr,
|
||||||
|
self.server.YTReplacementDomain,
|
||||||
|
self.server.showPublishedDateOnly,
|
||||||
|
self.server.peertubeInstances,
|
||||||
|
self.server.allowLocalNetworkAccess,
|
||||||
|
self.server.themeName,
|
||||||
|
self.server.systemLanguage,
|
||||||
|
self.server.maxLikeCount,
|
||||||
|
not isDM(announcePostJson),
|
||||||
|
showIndividualPostIcons,
|
||||||
|
manuallyApproveFollowers,
|
||||||
|
False, True, False)
|
||||||
|
else:
|
||||||
|
print('WARN: Announced post not found: ' + announceFilename)
|
||||||
|
|
||||||
self.server.GETbusy = False
|
self.server.GETbusy = False
|
||||||
actorAbsolute = self._getInstalceUrl(callingDomain) + actor
|
actorAbsolute = self._getInstalceUrl(callingDomain) + actor
|
||||||
actorPathStr = \
|
actorPathStr = \
|
||||||
|
|
Loading…
Reference in New Issue