diff --git a/acceptreject.py b/acceptreject.py index 109129dc9..2c8942051 100644 --- a/acceptreject.py +++ b/acceptreject.py @@ -25,7 +25,7 @@ from utils import hasObjectStringType def _createAcceptReject(base_dir: str, federationList: [], nickname: str, domain: str, port: int, - toUrl: str, ccUrl: str, httpPrefix: str, + toUrl: str, ccUrl: str, http_prefix: str, objectJson: {}, acceptType: str) -> {}: """Accepts or rejects something (eg. a follow request or offer) Typically toUrl will be https://www.w3.org/ns/activitystreams#Public @@ -44,7 +44,7 @@ def _createAcceptReject(base_dir: str, federationList: [], newAccept = { "@context": "https://www.w3.org/ns/activitystreams", 'type': acceptType, - 'actor': localActorUrl(httpPrefix, nickname, domain), + 'actor': localActorUrl(http_prefix, nickname, domain), 'to': [toUrl], 'cc': [], 'object': objectJson @@ -57,22 +57,22 @@ def _createAcceptReject(base_dir: str, federationList: [], def createAccept(base_dir: str, federationList: [], nickname: str, domain: str, port: int, - toUrl: str, ccUrl: str, httpPrefix: str, + toUrl: str, ccUrl: str, http_prefix: str, objectJson: {}) -> {}: return _createAcceptReject(base_dir, federationList, nickname, domain, port, - toUrl, ccUrl, httpPrefix, + toUrl, ccUrl, http_prefix, objectJson, 'Accept') def createReject(base_dir: str, federationList: [], nickname: str, domain: str, port: int, - toUrl: str, ccUrl: str, httpPrefix: str, + toUrl: str, ccUrl: str, http_prefix: str, objectJson: {}) -> {}: return _createAcceptReject(base_dir, federationList, nickname, domain, port, toUrl, ccUrl, - httpPrefix, objectJson, 'Reject') + http_prefix, objectJson, 'Reject') def _acceptFollow(base_dir: str, domain: str, messageJson: {}, @@ -182,7 +182,7 @@ def _acceptFollow(base_dir: str, domain: str, messageJson: {}, def receiveAcceptReject(session, base_dir: str, - httpPrefix: str, domain: str, port: int, + http_prefix: str, domain: str, port: int, sendThreads: [], postLog: [], cachedWebfingers: {}, personCache: {}, messageJson: {}, federationList: [], debug: bool) -> bool: diff --git a/announce.py b/announce.py index c211031ea..c74630572 100644 --- a/announce.py +++ b/announce.py @@ -117,7 +117,7 @@ def announcedByPerson(isAnnounced: bool, postActor: str, def createAnnounce(session, base_dir: str, federationList: [], nickname: str, domain: str, port: int, - toUrl: str, ccUrl: str, httpPrefix: str, + toUrl: str, ccUrl: str, http_prefix: str, objectUrl: str, saveToFile: bool, clientToServer: bool, sendThreads: [], postLog: [], @@ -137,13 +137,13 @@ def createAnnounce(session, base_dir: str, federationList: [], fullDomain = getFullDomain(domain, port) statusNumber, published = getStatusNumber() - newAnnounceId = httpPrefix + '://' + fullDomain + \ + newAnnounceId = http_prefix + '://' + fullDomain + \ '/users/' + nickname + '/statuses/' + statusNumber - atomUriStr = localActorUrl(httpPrefix, nickname, fullDomain) + \ + atomUriStr = localActorUrl(http_prefix, nickname, fullDomain) + \ '/statuses/' + statusNumber newAnnounce = { "@context": "https://www.w3.org/ns/activitystreams", - 'actor': localActorUrl(httpPrefix, nickname, fullDomain), + 'actor': localActorUrl(http_prefix, nickname, fullDomain), 'atomUri': atomUriStr, 'cc': [], 'id': newAnnounceId + '/activity', @@ -178,7 +178,7 @@ def createAnnounce(session, base_dir: str, federationList: [], sendSignedJson(newAnnounce, session, base_dir, nickname, domain, port, announceNickname, announceDomain, announcePort, None, - httpPrefix, True, clientToServer, federationList, + http_prefix, True, clientToServer, federationList, sendThreads, postLog, cachedWebfingers, personCache, debug, projectVersion, None, groupAccount, signingPrivateKeyPem, 639633) @@ -187,7 +187,7 @@ def createAnnounce(session, base_dir: str, federationList: [], def announcePublic(session, base_dir: str, federationList: [], - nickname: str, domain: str, port: int, httpPrefix: str, + nickname: str, domain: str, port: int, http_prefix: str, objectUrl: str, clientToServer: bool, sendThreads: [], postLog: [], personCache: {}, cachedWebfingers: {}, @@ -198,10 +198,10 @@ def announcePublic(session, base_dir: str, federationList: [], fromDomain = getFullDomain(domain, port) toUrl = 'https://www.w3.org/ns/activitystreams#Public' - ccUrl = localActorUrl(httpPrefix, nickname, fromDomain) + '/followers' + ccUrl = localActorUrl(http_prefix, nickname, fromDomain) + '/followers' return createAnnounce(session, base_dir, federationList, nickname, domain, port, - toUrl, ccUrl, httpPrefix, + toUrl, ccUrl, http_prefix, objectUrl, True, clientToServer, sendThreads, postLog, personCache, cachedWebfingers, @@ -212,7 +212,7 @@ def announcePublic(session, base_dir: str, federationList: [], def sendAnnounceViaServer(base_dir: str, session, fromNickname: str, password: str, fromDomain: str, fromPort: int, - httpPrefix: str, repeatObjectUrl: str, + http_prefix: str, repeatObjectUrl: str, cachedWebfingers: {}, personCache: {}, debug: bool, projectVersion: str, signingPrivateKeyPem: str) -> {}: @@ -225,7 +225,7 @@ def sendAnnounceViaServer(base_dir: str, session, fromDomainFull = getFullDomain(fromDomain, fromPort) toUrl = 'https://www.w3.org/ns/activitystreams#Public' - actorStr = localActorUrl(httpPrefix, fromNickname, fromDomainFull) + actorStr = localActorUrl(http_prefix, fromNickname, fromDomainFull) ccUrl = actorStr + '/followers' statusNumber, published = getStatusNumber() @@ -242,10 +242,10 @@ def sendAnnounceViaServer(base_dir: str, session, 'type': 'Announce' } - handle = httpPrefix + '://' + fromDomainFull + '/@' + fromNickname + handle = http_prefix + '://' + fromDomainFull + '/@' + fromNickname # lookup the inbox for the To handle - wfRequest = webfingerHandle(session, handle, httpPrefix, + wfRequest = webfingerHandle(session, handle, http_prefix, cachedWebfingers, fromDomain, projectVersion, debug, False, signingPrivateKeyPem) @@ -268,7 +268,7 @@ def sendAnnounceViaServer(base_dir: str, session, originDomain, base_dir, session, wfRequest, personCache, - projectVersion, httpPrefix, + projectVersion, http_prefix, fromNickname, fromDomain, postToBox, 73528) @@ -289,7 +289,7 @@ def sendAnnounceViaServer(base_dir: str, session, 'Content-type': 'application/json', 'Authorization': authHeader } - postResult = postJson(httpPrefix, fromDomainFull, + postResult = postJson(http_prefix, fromDomainFull, session, newAnnounceJson, [], inboxUrl, headers, 3, True) if not postResult: @@ -305,7 +305,7 @@ def sendUndoAnnounceViaServer(base_dir: str, session, undoPostJsonObject: {}, nickname: str, password: str, domain: str, port: int, - httpPrefix: str, repeatObjectUrl: str, + http_prefix: str, repeatObjectUrl: str, cachedWebfingers: {}, personCache: {}, debug: bool, projectVersion: str, signingPrivateKeyPem: str) -> {}: @@ -317,7 +317,7 @@ def sendUndoAnnounceViaServer(base_dir: str, session, domainFull = getFullDomain(domain, port) - actor = localActorUrl(httpPrefix, nickname, domainFull) + actor = localActorUrl(http_prefix, nickname, domainFull) handle = replaceUsersWithAt(actor) statusNumber, published = getStatusNumber() @@ -330,7 +330,7 @@ def sendUndoAnnounceViaServer(base_dir: str, session, } # lookup the inbox for the To handle - wfRequest = webfingerHandle(session, handle, httpPrefix, + wfRequest = webfingerHandle(session, handle, http_prefix, cachedWebfingers, domain, projectVersion, debug, False, signingPrivateKeyPem) @@ -353,7 +353,7 @@ def sendUndoAnnounceViaServer(base_dir: str, session, originDomain, base_dir, session, wfRequest, personCache, - projectVersion, httpPrefix, + projectVersion, http_prefix, nickname, domain, postToBox, 73528) @@ -374,7 +374,7 @@ def sendUndoAnnounceViaServer(base_dir: str, session, 'Content-type': 'application/json', 'Authorization': authHeader } - postResult = postJson(httpPrefix, domainFull, + postResult = postJson(http_prefix, domainFull, session, unAnnounceJson, [], inboxUrl, headers, 3, True) if not postResult: @@ -387,7 +387,7 @@ def sendUndoAnnounceViaServer(base_dir: str, session, def outboxUndoAnnounce(recentPostsCache: {}, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, nickname: str, domain: str, port: int, messageJson: {}, debug: bool) -> None: """ When an undo announce is received by the outbox from c2s diff --git a/availability.py b/availability.py index fe96ea369..61fa86bdd 100644 --- a/availability.py +++ b/availability.py @@ -79,7 +79,7 @@ def outboxAvailability(base_dir: str, nickname: str, messageJson: {}, def sendAvailabilityViaServer(base_dir: str, session, nickname: str, password: str, domain: str, port: int, - httpPrefix: str, + http_prefix: str, status: str, cachedWebfingers: {}, personCache: {}, debug: bool, projectVersion: str, @@ -92,7 +92,7 @@ def sendAvailabilityViaServer(base_dir: str, session, domainFull = getFullDomain(domain, port) - toUrl = localActorUrl(httpPrefix, nickname, domainFull) + toUrl = localActorUrl(http_prefix, nickname, domainFull) ccUrl = toUrl + '/followers' newAvailabilityJson = { @@ -103,10 +103,10 @@ def sendAvailabilityViaServer(base_dir: str, session, 'cc': [ccUrl] } - handle = httpPrefix + '://' + domainFull + '/@' + nickname + handle = http_prefix + '://' + domainFull + '/@' + nickname # lookup the inbox for the To handle - wfRequest = webfingerHandle(session, handle, httpPrefix, + wfRequest = webfingerHandle(session, handle, http_prefix, cachedWebfingers, domain, projectVersion, debug, False, signingPrivateKeyPem) @@ -128,7 +128,7 @@ def sendAvailabilityViaServer(base_dir: str, session, originDomain, base_dir, session, wfRequest, personCache, projectVersion, - httpPrefix, nickname, + http_prefix, nickname, domain, postToBox, 57262) if not inboxUrl: @@ -148,7 +148,7 @@ def sendAvailabilityViaServer(base_dir: str, session, 'Content-type': 'application/json', 'Authorization': authHeader } - postResult = postJson(httpPrefix, domainFull, + postResult = postJson(http_prefix, domainFull, session, newAvailabilityJson, [], inboxUrl, headers, 30, True) if not postResult: diff --git a/blocking.py b/blocking.py index 2c63dbc8c..4c273c3a8 100644 --- a/blocking.py +++ b/blocking.py @@ -414,7 +414,7 @@ def isBlocked(base_dir: str, nickname: str, domain: str, return False -def outboxBlock(base_dir: str, httpPrefix: str, +def outboxBlock(base_dir: str, http_prefix: str, nickname: str, domain: str, port: int, messageJson: {}, debug: bool) -> bool: """ When a block request is received by the outbox from c2s @@ -463,7 +463,7 @@ def outboxBlock(base_dir: str, httpPrefix: str, return True -def outboxUndoBlock(base_dir: str, httpPrefix: str, +def outboxUndoBlock(base_dir: str, http_prefix: str, nickname: str, domain: str, port: int, messageJson: {}, debug: bool) -> None: """ When an undo block request is received by the outbox from c2s @@ -520,7 +520,7 @@ def outboxUndoBlock(base_dir: str, httpPrefix: str, def mutePost(base_dir: str, nickname: str, domain: str, port: int, - httpPrefix: str, postId: str, recentPostsCache: {}, + http_prefix: str, postId: str, recentPostsCache: {}, debug: bool) -> None: """ Mutes the given post """ @@ -544,7 +544,7 @@ def mutePost(base_dir: str, nickname: str, domain: str, port: int, alsoUpdatePostId = removeIdEnding(postJsonObject['object']) domainFull = getFullDomain(domain, port) - actor = localActorUrl(httpPrefix, nickname, domainFull) + actor = localActorUrl(http_prefix, nickname, domainFull) if postJsonObj.get('conversation'): muteConversation(base_dir, nickname, domain, @@ -653,7 +653,7 @@ def mutePost(base_dir: str, nickname: str, domain: str, port: int, def unmutePost(base_dir: str, nickname: str, domain: str, port: int, - httpPrefix: str, postId: str, recentPostsCache: {}, + http_prefix: str, postId: str, recentPostsCache: {}, debug: bool) -> None: """ Unmutes the given post """ @@ -688,7 +688,7 @@ def unmutePost(base_dir: str, nickname: str, domain: str, port: int, if postJsonObj.get('ignores'): domainFull = getFullDomain(domain, port) - actor = localActorUrl(httpPrefix, nickname, domainFull) + actor = localActorUrl(http_prefix, nickname, domainFull) totalItems = 0 if postJsonObj['ignores'].get('totalItems'): totalItems = postJsonObj['ignores']['totalItems'] @@ -768,7 +768,7 @@ def unmutePost(base_dir: str, nickname: str, domain: str, port: int, alsoUpdatePostId + ' removed referenced html') -def outboxMute(base_dir: str, httpPrefix: str, +def outboxMute(base_dir: str, http_prefix: str, nickname: str, domain: str, port: int, messageJson: {}, debug: bool, recentPostsCache: {}) -> None: @@ -810,14 +810,14 @@ def outboxMute(base_dir: str, httpPrefix: str, return mutePost(base_dir, nickname, domain, port, - httpPrefix, messageJson['object'], recentPostsCache, + http_prefix, messageJson['object'], recentPostsCache, debug) if debug: print('DEBUG: post muted via c2s - ' + postFilename) -def outboxUndoMute(base_dir: str, httpPrefix: str, +def outboxUndoMute(base_dir: str, http_prefix: str, nickname: str, domain: str, port: int, messageJson: {}, debug: bool, recentPostsCache: {}) -> None: @@ -866,7 +866,7 @@ def outboxUndoMute(base_dir: str, httpPrefix: str, return unmutePost(base_dir, nickname, domain, port, - httpPrefix, messageJson['object']['object'], + http_prefix, messageJson['object']['object'], recentPostsCache, debug) if debug: diff --git a/blog.py b/blog.py index 7f661c41a..4f1534a33 100644 --- a/blog.py +++ b/blog.py @@ -39,7 +39,7 @@ from newswire import rss2Footer from cache import getPersonFromCache -def _noOfBlogReplies(base_dir: str, httpPrefix: str, translate: {}, +def _noOfBlogReplies(base_dir: str, http_prefix: str, translate: {}, nickname: str, domain: str, domainFull: str, postId: str, depth=0) -> int: """Returns the number of replies on the post @@ -84,7 +84,7 @@ def _noOfBlogReplies(base_dir: str, httpPrefix: str, translate: {}, if locatePost(base_dir, nickname, domain, replyPostId): replyPostId = replyPostId.replace('.replies', '') replies += \ - 1 + _noOfBlogReplies(base_dir, httpPrefix, translate, + 1 + _noOfBlogReplies(base_dir, http_prefix, translate, nickname, domain, domainFull, replyPostId, depth+1) else: @@ -109,7 +109,7 @@ def _noOfBlogReplies(base_dir: str, httpPrefix: str, translate: {}, return replies -def _getBlogReplies(base_dir: str, httpPrefix: str, translate: {}, +def _getBlogReplies(base_dir: str, http_prefix: str, translate: {}, nickname: str, domain: str, domainFull: str, postId: str, depth=0) -> str: """Returns a string containing html blog posts @@ -169,7 +169,7 @@ def _getBlogReplies(base_dir: str, httpPrefix: str, translate: {}, repliesStr += postFile.read() + '\n' except OSError: print('EX: unable to read blog replies ' + postFilename) - rply = _getBlogReplies(base_dir, httpPrefix, translate, + rply = _getBlogReplies(base_dir, http_prefix, translate, nickname, domain, domainFull, replyPostId, depth+1) if rply not in repliesStr: @@ -186,7 +186,7 @@ def _getBlogReplies(base_dir: str, httpPrefix: str, translate: {}, def _htmlBlogPostContent(debug: bool, session, authorized: bool, - base_dir: str, httpPrefix: str, translate: {}, + base_dir: str, http_prefix: str, translate: {}, nickname: str, domain: str, domainFull: str, postJsonObject: {}, handle: str, restrictToDomain: bool, @@ -234,7 +234,7 @@ def _htmlBlogPostContent(debug: bool, session, authorized: bool, postJsonObject['object']['published'].split('T')[0] if handle: if handle.startswith(nickname + '@' + domain): - blogStr += ' ' + handle + '' linkedAuthor = True @@ -264,7 +264,7 @@ def _htmlBlogPostContent(debug: bool, session, authorized: bool, if attachmentStr: blogStr += '
' + attachmentStr + '
' - personUrl = localActorUrl(httpPrefix, nickname, domainFull) + personUrl = localActorUrl(http_prefix, nickname, domainFull) actorJson = \ getPersonFromCache(base_dir, personUrl, personCache, False) languagesUnderstood = [] @@ -309,11 +309,11 @@ def _htmlBlogPostContent(debug: bool, session, authorized: bool, if not linkedAuthor: blogStr += '

' + translate['About the author'] + \ '

\n' - replies = _noOfBlogReplies(base_dir, httpPrefix, translate, + replies = _noOfBlogReplies(base_dir, http_prefix, translate, nickname, domain, domainFull, postJsonObject['object']['id']) @@ -332,11 +332,11 @@ def _htmlBlogPostContent(debug: bool, session, authorized: bool, else: blogStr += blogSeparator + '

' + translate['Replies'] + '

\n' if not titleStr: - blogStr += _getBlogReplies(base_dir, httpPrefix, translate, + blogStr += _getBlogReplies(base_dir, http_prefix, translate, nickname, domain, domainFull, postJsonObject['object']['id']) else: - blogRepliesStr = _getBlogReplies(base_dir, httpPrefix, translate, + blogRepliesStr = _getBlogReplies(base_dir, http_prefix, translate, nickname, domain, domainFull, postJsonObject['object']['id']) blogStr += blogRepliesStr.replace('>' + titleStr + '<', '') @@ -345,7 +345,7 @@ def _htmlBlogPostContent(debug: bool, session, authorized: bool, def _htmlBlogPostRSS2(authorized: bool, - base_dir: str, httpPrefix: str, translate: {}, + base_dir: str, http_prefix: str, translate: {}, nickname: str, domain: str, domainFull: str, postJsonObject: {}, handle: str, restrictToDomain: bool, @@ -378,7 +378,7 @@ def _htmlBlogPostRSS2(authorized: bool, def _htmlBlogPostRSS3(authorized: bool, - base_dir: str, httpPrefix: str, translate: {}, + base_dir: str, http_prefix: str, translate: {}, nickname: str, domain: str, domainFull: str, postJsonObject: {}, handle: str, restrictToDomain: bool, @@ -436,7 +436,7 @@ def _getSnippetFromBlogContent(postJsonObject: {}, systemLanguage: str) -> str: def htmlBlogPost(session, authorized: bool, - base_dir: str, httpPrefix: str, translate: {}, + base_dir: str, http_prefix: str, translate: {}, nickname: str, domain: str, domainFull: str, postJsonObject: {}, peertubeInstances: [], @@ -461,14 +461,14 @@ def htmlBlogPost(session, authorized: bool, url = postJsonObject['object']['url'] snippet = _getSnippetFromBlogContent(postJsonObject, systemLanguage) blogStr = htmlHeaderWithBlogMarkup(cssFilename, instanceTitle, - httpPrefix, domainFull, nickname, + http_prefix, domainFull, nickname, systemLanguage, published, modified, title, snippet, translate, url, contentLicenseUrl) _htmlBlogRemoveCwButton(blogStr, translate) blogStr += _htmlBlogPostContent(debug, session, authorized, base_dir, - httpPrefix, translate, + http_prefix, translate, nickname, domain, domainFull, postJsonObject, None, False, @@ -478,14 +478,14 @@ def htmlBlogPost(session, authorized: bool, # show rss links blogStr += '

' - blogStr += '' blogStr += 'RSS 2.0' - # blogStr += '' # blogStr += 'RSS 3.0 1: # show previous button - navigateStr += '' + \ '<\n' if len(timelineJson['orderedItems']) >= noOfItems: # show next button - navigateStr += '' + \ '>' blogStr += 'RSS 2.0' - # blogStr += '' # blogStr += 'RSS 3.0' blogStr += '' + acct + '' blogStr += '

' break @@ -766,7 +766,7 @@ def htmlBlogView(authorized: bool, def htmlEditBlog(mediaInstance: bool, translate: {}, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, path: str, pageNumber: int, nickname: str, domain: str, @@ -911,7 +911,7 @@ def htmlEditBlog(mediaInstance: bool, translate: {}, def pathContainsBlogLink(base_dir: str, - httpPrefix: str, domain: str, + http_prefix: str, domain: str, domainFull: str, path: str) -> (str, str): """If the path contains a blog entry then return its filename """ @@ -935,7 +935,7 @@ def pathContainsBlogLink(base_dir: str, return None, None if '#' + userEnding2[1] + '.' not in open(blogIndexFilename).read(): return None, None - messageId = localActorUrl(httpPrefix, nickname, domainFull) + \ + messageId = localActorUrl(http_prefix, nickname, domainFull) + \ '/statuses/' + userEnding2[1] return locatePost(base_dir, nickname, domain, messageId), nickname diff --git a/bookmarks.py b/bookmarks.py index e28be91d0..26303a0ba 100644 --- a/bookmarks.py +++ b/bookmarks.py @@ -249,7 +249,7 @@ def updateBookmarksCollection(recentPostsCache: {}, def bookmark(recentPostsCache: {}, session, base_dir: str, federationList: [], nickname: str, domain: str, port: int, - ccList: [], httpPrefix: str, + ccList: [], http_prefix: str, objectUrl: str, actorBookmarked: str, clientToServer: bool, sendThreads: [], postLog: [], @@ -268,7 +268,7 @@ def bookmark(recentPostsCache: {}, newBookmarkJson = { "@context": "https://www.w3.org/ns/activitystreams", 'type': 'Bookmark', - 'actor': localActorUrl(httpPrefix, nickname, fullDomain), + 'actor': localActorUrl(http_prefix, nickname, fullDomain), 'object': objectUrl } if ccList: @@ -308,7 +308,7 @@ def bookmark(recentPostsCache: {}, def undoBookmark(recentPostsCache: {}, session, base_dir: str, federationList: [], nickname: str, domain: str, port: int, - ccList: [], httpPrefix: str, + ccList: [], http_prefix: str, objectUrl: str, actorBookmarked: str, clientToServer: bool, sendThreads: [], postLog: [], @@ -327,10 +327,10 @@ def undoBookmark(recentPostsCache: {}, newUndoBookmarkJson = { "@context": "https://www.w3.org/ns/activitystreams", 'type': 'Undo', - 'actor': localActorUrl(httpPrefix, nickname, fullDomain), + 'actor': localActorUrl(http_prefix, nickname, fullDomain), 'object': { 'type': 'Bookmark', - 'actor': localActorUrl(httpPrefix, nickname, fullDomain), + 'actor': localActorUrl(http_prefix, nickname, fullDomain), 'object': objectUrl } } @@ -371,7 +371,7 @@ def undoBookmark(recentPostsCache: {}, def sendBookmarkViaServer(base_dir: str, session, nickname: str, password: str, domain: str, fromPort: int, - httpPrefix: str, bookmarkUrl: str, + http_prefix: str, bookmarkUrl: str, cachedWebfingers: {}, personCache: {}, debug: bool, projectVersion: str, signingPrivateKeyPem: str) -> {}: @@ -383,7 +383,7 @@ def sendBookmarkViaServer(base_dir: str, session, domainFull = getFullDomain(domain, fromPort) - actor = localActorUrl(httpPrefix, nickname, domainFull) + actor = localActorUrl(http_prefix, nickname, domainFull) newBookmarkJson = { "@context": "https://www.w3.org/ns/activitystreams", @@ -398,10 +398,10 @@ def sendBookmarkViaServer(base_dir: str, session, "target": actor + "/tlbookmarks" } - handle = httpPrefix + '://' + domainFull + '/@' + nickname + handle = http_prefix + '://' + domainFull + '/@' + nickname # lookup the inbox for the To handle - wfRequest = webfingerHandle(session, handle, httpPrefix, + wfRequest = webfingerHandle(session, handle, http_prefix, cachedWebfingers, domain, projectVersion, debug, False, signingPrivateKeyPem) @@ -423,7 +423,7 @@ def sendBookmarkViaServer(base_dir: str, session, originDomain, base_dir, session, wfRequest, personCache, - projectVersion, httpPrefix, + projectVersion, http_prefix, nickname, domain, postToBox, 58391) @@ -444,7 +444,7 @@ def sendBookmarkViaServer(base_dir: str, session, 'Content-type': 'application/json', 'Authorization': authHeader } - postResult = postJson(httpPrefix, domainFull, + postResult = postJson(http_prefix, domainFull, session, newBookmarkJson, [], inboxUrl, headers, 3, True) if not postResult: @@ -461,7 +461,7 @@ def sendBookmarkViaServer(base_dir: str, session, def sendUndoBookmarkViaServer(base_dir: str, session, nickname: str, password: str, domain: str, fromPort: int, - httpPrefix: str, bookmarkUrl: str, + http_prefix: str, bookmarkUrl: str, cachedWebfingers: {}, personCache: {}, debug: bool, projectVersion: str, signingPrivateKeyPem: str) -> {}: @@ -473,7 +473,7 @@ def sendUndoBookmarkViaServer(base_dir: str, session, domainFull = getFullDomain(domain, fromPort) - actor = localActorUrl(httpPrefix, nickname, domainFull) + actor = localActorUrl(http_prefix, nickname, domainFull) newBookmarkJson = { "@context": "https://www.w3.org/ns/activitystreams", @@ -488,10 +488,10 @@ def sendUndoBookmarkViaServer(base_dir: str, session, "target": actor + "/tlbookmarks" } - handle = httpPrefix + '://' + domainFull + '/@' + nickname + handle = http_prefix + '://' + domainFull + '/@' + nickname # lookup the inbox for the To handle - wfRequest = webfingerHandle(session, handle, httpPrefix, + wfRequest = webfingerHandle(session, handle, http_prefix, cachedWebfingers, domain, projectVersion, debug, False, signingPrivateKeyPem) @@ -513,7 +513,7 @@ def sendUndoBookmarkViaServer(base_dir: str, session, originDomain, base_dir, session, wfRequest, personCache, - projectVersion, httpPrefix, + projectVersion, http_prefix, nickname, domain, postToBox, 52594) @@ -534,7 +534,7 @@ def sendUndoBookmarkViaServer(base_dir: str, session, 'Content-type': 'application/json', 'Authorization': authHeader } - postResult = postJson(httpPrefix, domainFull, + postResult = postJson(http_prefix, domainFull, session, newBookmarkJson, [], inboxUrl, headers, 3, True) if not postResult: @@ -549,7 +549,7 @@ def sendUndoBookmarkViaServer(base_dir: str, session, def outboxBookmark(recentPostsCache: {}, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, nickname: str, domain: str, port: int, messageJson: {}, debug: bool) -> None: """ When a bookmark request is received by the outbox from c2s @@ -605,7 +605,7 @@ def outboxBookmark(recentPostsCache: {}, def outboxUndoBookmark(recentPostsCache: {}, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, nickname: str, domain: str, port: int, messageJson: {}, debug: bool) -> None: """ When an undo bookmark request is received by the outbox from c2s diff --git a/cache.py b/cache.py index e3bcac29f..7114ed1ca 100644 --- a/cache.py +++ b/cache.py @@ -33,7 +33,7 @@ def _removePersonFromCache(base_dir: str, personUrl: str, def checkForChangedActor(session, base_dir: str, - httpPrefix: str, domainFull: str, + http_prefix: str, domainFull: str, personUrl: str, avatarUrl: str, personCache: {}, timeoutSec: int): """Checks if the avatar url exists and if not then @@ -45,7 +45,7 @@ def checkForChangedActor(session, base_dir: str, return if domainFull in avatarUrl: return - if urlExists(session, avatarUrl, timeoutSec, httpPrefix, domainFull): + if urlExists(session, avatarUrl, timeoutSec, http_prefix, domainFull): return _removePersonFromCache(base_dir, personUrl, personCache) @@ -138,7 +138,7 @@ def getWebfingerFromCache(handle: str, cachedWebfingers: {}) -> {}: def getPersonPubKey(base_dir: str, session, personUrl: str, personCache: {}, debug: bool, - projectVersion: str, httpPrefix: str, + projectVersion: str, http_prefix: str, domain: str, onionDomain: str, signingPrivateKeyPem: str) -> str: if not personUrl: @@ -168,7 +168,7 @@ def getPersonPubKey(base_dir: str, session, personUrl: str, personJson = \ getJson(signingPrivateKeyPem, session, personUrl, asHeader, None, debug, - projectVersion, httpPrefix, personDomain) + projectVersion, http_prefix, personDomain) if not personJson: return None pubKey = None diff --git a/content.py b/content.py index 20fa570d5..561cab501 100644 --- a/content.py +++ b/content.py @@ -483,7 +483,7 @@ def validHashTag(hashtag: str) -> bool: return False -def _addHashTags(wordStr: str, httpPrefix: str, domain: str, +def _addHashTags(wordStr: str, http_prefix: str, domain: str, replaceHashTags: {}, postHashtags: {}) -> bool: """Detects hashtags and adds them to the replacements dict Also updates the hashtags list to be added to the post @@ -493,7 +493,7 @@ def _addHashTags(wordStr: str, httpPrefix: str, domain: str, hashtag = wordStr[1:] if not validHashTag(hashtag): return False - hashtagUrl = httpPrefix + "://" + domain + "/tags/" + hashtag + hashtagUrl = http_prefix + "://" + domain + "/tags/" + hashtag postHashtags[hashtag] = { 'href': hashtagUrl, 'name': '#' + hashtag, @@ -506,7 +506,7 @@ def _addHashTags(wordStr: str, httpPrefix: str, domain: str, def _addEmoji(base_dir: str, wordStr: str, - httpPrefix: str, domain: str, + http_prefix: str, domain: str, replaceEmoji: {}, postTags: {}, emojiDict: {}) -> bool: """Detects Emoji and adds them to the replacements dict @@ -531,7 +531,7 @@ def _addEmoji(base_dir: str, wordStr: str, emojiFilename = base_dir + '/emoji/' + emojiDict[emoji] + '.png' if not os.path.isfile(emojiFilename): return False - emojiUrl = httpPrefix + "://" + domain + \ + emojiUrl = http_prefix + "://" + domain + \ "/emoji/" + emojiDict[emoji] + '.png' postTags[emoji] = { 'icon': { @@ -556,7 +556,7 @@ def tagExists(tagType: str, tagName: str, tags: {}) -> bool: return False -def _addMention(wordStr: str, httpPrefix: str, following: str, petnames: str, +def _addMention(wordStr: str, http_prefix: str, following: str, petnames: str, replaceMentions: {}, recipients: [], tags: {}) -> bool: """Detects mentions and adds them to the replacements dict and recipients list @@ -574,7 +574,7 @@ def _addMention(wordStr: str, httpPrefix: str, following: str, petnames: str, if possibleNickname == followNick: followStr = follow.replace('\n', '').replace('\r', '') replaceDomain = followStr.split('@')[1] - recipientActor = httpPrefix + "://" + \ + recipientActor = http_prefix + "://" + \ replaceDomain + "/@" + possibleNickname if recipientActor not in recipients: recipients.append(recipientActor) @@ -584,7 +584,7 @@ def _addMention(wordStr: str, httpPrefix: str, following: str, petnames: str, 'type': 'Mention' } replaceMentions[wordStr] = \ - "@" + possibleNickname + \ "" @@ -601,7 +601,7 @@ def _addMention(wordStr: str, httpPrefix: str, following: str, petnames: str, followStr = follow.replace('\n', '').replace('\r', '') replaceNickname = followStr.split('@')[0] replaceDomain = followStr.split('@')[1] - recipientActor = httpPrefix + "://" + \ + recipientActor = http_prefix + "://" + \ replaceDomain + "/@" + replaceNickname if recipientActor not in recipients: recipients.append(recipientActor) @@ -611,7 +611,7 @@ def _addMention(wordStr: str, httpPrefix: str, following: str, petnames: str, 'type': 'Mention' } replaceMentions[wordStr] = \ - "@" + \ replaceNickname + "" @@ -633,7 +633,7 @@ def _addMention(wordStr: str, httpPrefix: str, following: str, petnames: str, for follow in following: if follow.replace('\n', '').replace('\r', '') != possibleHandle: continue - recipientActor = httpPrefix + "://" + \ + recipientActor = http_prefix + "://" + \ possibleDomain + "/@" + possibleNickname if recipientActor not in recipients: recipients.append(recipientActor) @@ -643,7 +643,7 @@ def _addMention(wordStr: str, httpPrefix: str, following: str, petnames: str, 'type': 'Mention' } replaceMentions[wordStr] = \ - "@" + possibleNickname + \ "" @@ -651,7 +651,7 @@ def _addMention(wordStr: str, httpPrefix: str, following: str, petnames: str, # @nick@domain if not (possibleDomain == 'localhost' or '.' in possibleDomain): return False - recipientActor = httpPrefix + "://" + \ + recipientActor = http_prefix + "://" + \ possibleDomain + "/@" + possibleNickname if recipientActor not in recipients: recipients.append(recipientActor) @@ -661,7 +661,7 @@ def _addMention(wordStr: str, httpPrefix: str, following: str, petnames: str, 'type': 'Mention' } replaceMentions[wordStr] = \ - "@" + possibleNickname + \ "" @@ -817,7 +817,7 @@ def _autoTag(base_dir: str, nickname: str, domain: str, appendTags.append('#' + tagName) -def addHtmlTags(base_dir: str, httpPrefix: str, +def addHtmlTags(base_dir: str, http_prefix: str, nickname: str, domain: str, content: str, recipients: [], hashtags: {}, isJsonContent: bool = False) -> str: @@ -887,7 +887,7 @@ def addHtmlTags(base_dir: str, httpPrefix: str, longWordsList.append(wordStr) firstChar = wordStr[0] if firstChar == '@': - if _addMention(wordStr, httpPrefix, following, petnames, + if _addMention(wordStr, http_prefix, following, petnames, replaceMentions, recipients, hashtags): prevWordStr = '' continue @@ -899,7 +899,7 @@ def addHtmlTags(base_dir: str, httpPrefix: str, wordStr = wordStr[:len(wordStr) - 1] break - if _addHashTags(wordStr, httpPrefix, originalDomain, + if _addHashTags(wordStr, http_prefix, originalDomain, replaceHashTags, hashtags): prevWordStr = '' continue @@ -923,7 +923,7 @@ def addHtmlTags(base_dir: str, httpPrefix: str, emojiDict = dict(emojiDict, **customEmojiDict) # print('TAG: looking up emoji for :' + wordStr2 + ':') - _addEmoji(base_dir, ':' + wordStr2 + ':', httpPrefix, + _addEmoji(base_dir, ':' + wordStr2 + ':', http_prefix, originalDomain, replaceEmoji, hashtags, emojiDict) else: @@ -942,7 +942,7 @@ def addHtmlTags(base_dir: str, httpPrefix: str, # add any auto generated tags for appended in appendTags: content = content + ' ' + appended - _addHashTags(appended, httpPrefix, originalDomain, + _addHashTags(appended, http_prefix, originalDomain, replaceHashTags, hashtags) # replace words with their html versions diff --git a/daemon.py b/daemon.py index 7b9399da2..b2cc41d74 100644 --- a/daemon.py +++ b/daemon.py @@ -390,13 +390,13 @@ followsPerPage = 6 sharesPerPage = 12 -def saveDomainQrcode(base_dir: str, httpPrefix: str, +def saveDomainQrcode(base_dir: str, http_prefix: str, domainFull: str, scale=6) -> None: """Saves a qrcode image for the domain name This helps to transfer onion or i2p domains to a mobile device """ qrcodeFilename = base_dir + '/accounts/qrcode.png' - url = pyqrcode.create(httpPrefix + '://' + domainFull) + url = pyqrcode.create(http_prefix + '://' + domainFull) url.png(qrcodeFilename, scale) @@ -444,7 +444,7 @@ class PubServer(BaseHTTPRequestHandler): instanceUrl = 'http://' + self.server.i2pDomain else: instanceUrl = \ - self.server.httpPrefix + '://' + self.server.domainFull + self.server.http_prefix + '://' + self.server.domainFull return instanceUrl def _getheaderSignatureInput(self): @@ -503,7 +503,7 @@ class PubServer(BaseHTTPRequestHandler): createPublicPost(self.server.base_dir, nickname, self.server.domain, self.server.port, - self.server.httpPrefix, + self.server.http_prefix, answer, False, False, False, commentsEnabled, attachImageFilename, mediaType, @@ -531,7 +531,7 @@ class PubServer(BaseHTTPRequestHandler): postJsonObject = loadJson(postFilename) if postJsonObject: populateReplies(self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domainFull, postJsonObject, self.server.maxReplies, @@ -732,9 +732,11 @@ class PubServer(BaseHTTPRequestHandler): # obtain the public key pubKey = \ - getPersonPubKey(self.server.base_dir, self.server.session, keyId, + getPersonPubKey(self.server.base_dir, + self.server.session, keyId, self.server.personCache, self.server.debug, - self.server.projectVersion, self.server.httpPrefix, + self.server.projectVersion, + self.server.http_prefix, self.server.domain, self.server.onionDomain, self.server.signingPrivateKeyPem) if not pubKey: @@ -744,7 +746,7 @@ class PubServer(BaseHTTPRequestHandler): return False # verify the GET request without any digest - if verifyPostHeaders(self.server.httpPrefix, + if verifyPostHeaders(self.server.http_prefix, self.server.domainFull, pubKey, self.headers, self.path, True, None, '', self.server.debug): @@ -823,7 +825,7 @@ class PubServer(BaseHTTPRequestHandler): if cookie: cookieStr = cookie if 'HttpOnly;' not in cookieStr: - if self.server.httpPrefix == 'https': + if self.server.http_prefix == 'https': cookieStr += '; Secure' cookieStr += '; HttpOnly; SameSite=Strict' self.send_header('Cookie', cookieStr) @@ -906,7 +908,7 @@ class PubServer(BaseHTTPRequestHandler): if cookie: cookieStr = cookie.replace('SET:', '').strip() if 'HttpOnly;' not in cookieStr: - if self.server.httpPrefix == 'https': + if self.server.http_prefix == 'https': cookieStr += '; Secure' cookieStr += '; HttpOnly; SameSite=Strict' if not cookie.startswith('SET:'): @@ -1038,7 +1040,7 @@ class PubServer(BaseHTTPRequestHandler): def _mastoApiV1(self, path: str, callingDomain: str, uaStr: str, authorized: bool, - httpPrefix: str, + http_prefix: str, base_dir: str, nickname: str, domain: str, domainFull: str, onionDomain: str, i2pDomain: str, @@ -1064,7 +1066,7 @@ class PubServer(BaseHTTPRequestHandler): callingDomain, uaStr, authorized, - httpPrefix, + http_prefix, base_dir, nickname, domain, domainFull, @@ -1102,7 +1104,7 @@ class PubServer(BaseHTTPRequestHandler): def _mastoApi(self, path: str, callingDomain: str, uaStr: str, - authorized: bool, httpPrefix: str, + authorized: bool, http_prefix: str, base_dir: str, nickname: str, domain: str, domainFull: str, onionDomain: str, i2pDomain: str, @@ -1113,7 +1115,7 @@ class PubServer(BaseHTTPRequestHandler): customEmoji: [], showNodeInfoAccounts: bool) -> bool: return self._mastoApiV1(path, callingDomain, uaStr, authorized, - httpPrefix, base_dir, nickname, domain, + http_prefix, base_dir, nickname, domain, domainFull, onionDomain, i2pDomain, translate, registration, systemLanguage, projectVersion, customEmoji, @@ -1187,7 +1189,7 @@ class PubServer(BaseHTTPRequestHandler): webfingerMeta('http', self.server.i2pDomain) else: wfResult = \ - webfingerMeta(self.server.httpPrefix, + webfingerMeta(self.server.http_prefix, self.server.domainFull) if wfResult: msg = wfResult.encode('utf-8') @@ -1217,7 +1219,7 @@ class PubServer(BaseHTTPRequestHandler): webfingerNodeInfo('http', self.server.i2pDomain) else: wfResult = \ - webfingerNodeInfo(self.server.httpPrefix, + webfingerNodeInfo(self.server.http_prefix, self.server.domainFull) if wfResult: msg = json.dumps(wfResult).encode('utf-8') @@ -1275,7 +1277,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.translate, messageJson, self.postToNickname, self.server, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.onionDomain, @@ -1531,7 +1533,7 @@ class PubServer(BaseHTTPRequestHandler): queueFilename = \ savePostToInboxQueue(self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, nickname, self.server.domainFull, messageJson, originalMessageJson, @@ -1625,13 +1627,13 @@ class PubServer(BaseHTTPRequestHandler): if self.server.tokens.get(nickname): del self.server.tokensLookup[self.server.tokens[nickname]] del self.server.tokens[nickname] - self._redirect_headers(self.server.httpPrefix + '://' + + self._redirect_headers(self.server.http_prefix + '://' + self.server.domainFull + '/login', 'epicyon=; SameSite=Strict', callingDomain) def _loginScreen(self, path: str, callingDomain: str, cookie: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, debug: bool) -> None: @@ -1696,12 +1698,12 @@ class PubServer(BaseHTTPRequestHandler): '/login', cookie, callingDomain) else: - self._redirect_headers(httpPrefix + '://' + + self._redirect_headers(http_prefix + '://' + domainFull + '/login', cookie, callingDomain) return - if not registerAccount(base_dir, httpPrefix, domain, port, + if not registerAccount(base_dir, http_prefix, domain, port, loginNickname, loginPassword, self.server.manualFollowerApproval): self.server.POSTbusy = False @@ -1714,7 +1716,7 @@ class PubServer(BaseHTTPRequestHandler): '/login', cookie, callingDomain) else: - self._redirect_headers(httpPrefix + '://' + + self._redirect_headers(http_prefix + '://' + domainFull + '/login', cookie, callingDomain) return @@ -1818,7 +1820,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.defaultTimeline, cookieStr, callingDomain) else: - self._redirect_headers(httpPrefix + '://' + + self._redirect_headers(http_prefix + '://' + domainFull + '/users/' + loginNickname + '/' + self.server.defaultTimeline, @@ -1829,7 +1831,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.POSTbusy = False def _moderatorActions(self, path: str, callingDomain: str, cookie: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, debug: bool) -> None: @@ -1907,7 +1909,7 @@ class PubServer(BaseHTTPRequestHandler): msg = \ htmlAccountInfo(self.server.cssCache, self.server.translate, - base_dir, httpPrefix, + base_dir, http_prefix, nickname, self.server.domain, self.server.port, @@ -1919,7 +1921,7 @@ class PubServer(BaseHTTPRequestHandler): msg = \ htmlModerationInfo(self.server.cssCache, self.server.translate, - base_dir, httpPrefix, + base_dir, http_prefix, nickname) msg = msg.encode('utf-8') msglen = len(msg) @@ -2009,7 +2011,7 @@ class PubServer(BaseHTTPRequestHandler): nickname, domain, port, moderationText): deletePost(base_dir, - httpPrefix, + http_prefix, nickname, domain, postFilename, debug, @@ -2025,7 +2027,7 @@ class PubServer(BaseHTTPRequestHandler): 'news', domain, port, moderationText): deletePost(base_dir, - httpPrefix, + http_prefix, 'news', domain, postFilename, debug, @@ -2038,7 +2040,7 @@ class PubServer(BaseHTTPRequestHandler): def _keyShortcuts(self, path: str, callingDomain: str, cookie: str, - base_dir: str, httpPrefix: str, nickname: str, + base_dir: str, http_prefix: str, nickname: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, debug: bool, accessKeys: {}, @@ -2047,7 +2049,8 @@ class PubServer(BaseHTTPRequestHandler): """ usersPath = '/users/' + nickname originPathStr = \ - httpPrefix + '://' + domainFull + usersPath + '/' + defaultTimeline + http_prefix + '://' + domainFull + usersPath + '/' + \ + defaultTimeline length = int(self.headers['Content-length']) try: @@ -2123,7 +2126,7 @@ class PubServer(BaseHTTPRequestHandler): def _themeDesigner(self, path: str, callingDomain: str, cookie: str, - base_dir: str, httpPrefix: str, nickname: str, + base_dir: str, http_prefix: str, nickname: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, debug: bool, accessKeys: {}, @@ -2134,7 +2137,8 @@ class PubServer(BaseHTTPRequestHandler): """ usersPath = '/users/' + nickname originPathStr = \ - httpPrefix + '://' + domainFull + usersPath + '/' + defaultTimeline + http_prefix + '://' + domainFull + usersPath + '/' + \ + defaultTimeline length = int(self.headers['Content-length']) try: @@ -2256,7 +2260,7 @@ class PubServer(BaseHTTPRequestHandler): def _personOptions(self, path: str, callingDomain: str, cookie: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, debug: bool) -> None: @@ -2264,7 +2268,7 @@ class PubServer(BaseHTTPRequestHandler): """ pageNumber = 1 usersPath = path.split('/personoptions')[0] - originPathStr = httpPrefix + '://' + domainFull + usersPath + originPathStr = http_prefix + '://' + domainFull + usersPath chooserNickname = getNicknameFromActor(originPathStr) if not chooserNickname: @@ -2613,7 +2617,7 @@ class PubServer(BaseHTTPRequestHandler): domain, optionsNickname, optionsDomainFull): # send block activity - self._sendBlock(httpPrefix, + self._sendBlock(http_prefix, chooserNickname, domainFull, optionsNickname, optionsDomainFull) @@ -2695,7 +2699,7 @@ class PubServer(BaseHTTPRequestHandler): msg = htmlNewPost(self.server.cssCache, False, self.server.translate, base_dir, - httpPrefix, + http_prefix, reportPath, None, [optionsActor], None, None, pageNumber, '', @@ -2745,7 +2749,7 @@ class PubServer(BaseHTTPRequestHandler): htmlAccountInfo(self.server.cssCache, self.server.translate, base_dir, - httpPrefix, + http_prefix, chooserNickname, domain, self.server.port, @@ -2767,7 +2771,7 @@ class PubServer(BaseHTTPRequestHandler): # See htmlPersonOptions if '&submitSnooze=' in optionsConfirmParams: usersPath = path.split('/personoptions')[0] - thisActor = httpPrefix + '://' + domainFull + usersPath + thisActor = http_prefix + '://' + domainFull + usersPath if debug: print('Snoozing ' + optionsActor + ' ' + thisActor) if '/users/' in thisActor: @@ -2790,7 +2794,7 @@ class PubServer(BaseHTTPRequestHandler): # See htmlPersonOptions if '&submitUnSnooze=' in optionsConfirmParams: usersPath = path.split('/personoptions')[0] - thisActor = httpPrefix + '://' + domainFull + usersPath + thisActor = http_prefix + '://' + domainFull + usersPath if debug: print('Unsnoozing ' + optionsActor + ' ' + thisActor) if '/users/' in thisActor: @@ -2830,7 +2834,7 @@ class PubServer(BaseHTTPRequestHandler): msg = htmlNewPost(self.server.cssCache, False, self.server.translate, base_dir, - httpPrefix, + http_prefix, reportPath, None, [], None, postUrl, pageNumber, '', chooserNickname, @@ -2879,14 +2883,14 @@ class PubServer(BaseHTTPRequestHandler): def _unfollowConfirm(self, callingDomain: str, cookie: str, authorized: bool, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, debug: bool) -> None: """Confirm to unfollow """ usersPath = path.split('/unfollowconfirm')[0] - originPathStr = httpPrefix + '://' + domainFull + usersPath + originPathStr = http_prefix + '://' + domainFull + usersPath followerNickname = getNicknameFromActor(originPathStr) length = int(self.headers['Content-length']) @@ -2931,7 +2935,7 @@ class PubServer(BaseHTTPRequestHandler): print(followerNickname + ' stops following ' + followingActor) followActor = \ - localActorUrl(httpPrefix, followerNickname, domainFull) + localActorUrl(http_prefix, followerNickname, domainFull) statusNumber, published = getStatusNumber() followId = followActor + '/statuses/' + str(statusNumber) unfollowJson = { @@ -2966,14 +2970,14 @@ class PubServer(BaseHTTPRequestHandler): def _followConfirm(self, callingDomain: str, cookie: str, authorized: bool, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, debug: bool) -> None: """Confirm to follow """ usersPath = path.split('/followconfirm')[0] - originPathStr = httpPrefix + '://' + domainFull + usersPath + originPathStr = http_prefix + '://' + domainFull + usersPath followerNickname = getNicknameFromActor(originPathStr) length = int(self.headers['Content-length']) @@ -3035,11 +3039,11 @@ class PubServer(BaseHTTPRequestHandler): sendFollowRequest(self.server.session, base_dir, followerNickname, domain, port, - httpPrefix, + http_prefix, followingNickname, followingDomain, followingActor, - followingPort, httpPrefix, + followingPort, http_prefix, False, self.server.federationList, self.server.sendThreads, self.server.postLog, @@ -3056,14 +3060,14 @@ class PubServer(BaseHTTPRequestHandler): def _blockConfirm(self, callingDomain: str, cookie: str, authorized: bool, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, debug: bool) -> None: """Confirms a block """ usersPath = path.split('/blockconfirm')[0] - originPathStr = httpPrefix + '://' + domainFull + usersPath + originPathStr = http_prefix + '://' + domainFull + usersPath blockerNickname = getNicknameFromActor(originPathStr) if not blockerNickname: if callingDomain.endswith('.onion') and onionDomain: @@ -3131,7 +3135,7 @@ class PubServer(BaseHTTPRequestHandler): blockingNickname, blockingDomainFull): # send block activity - self._sendBlock(httpPrefix, + self._sendBlock(http_prefix, blockerNickname, domainFull, blockingNickname, blockingDomainFull) if callingDomain.endswith('.onion') and onionDomain: @@ -3143,14 +3147,14 @@ class PubServer(BaseHTTPRequestHandler): def _unblockConfirm(self, callingDomain: str, cookie: str, authorized: bool, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, debug: bool) -> None: """Confirms a unblock """ usersPath = path.split('/unblockconfirm')[0] - originPathStr = httpPrefix + '://' + domainFull + usersPath + originPathStr = http_prefix + '://' + domainFull + usersPath blockerNickname = getNicknameFromActor(originPathStr) if not blockerNickname: if callingDomain.endswith('.onion') and onionDomain: @@ -3227,7 +3231,7 @@ class PubServer(BaseHTTPRequestHandler): def _receiveSearchQuery(self, callingDomain: str, cookie: str, authorized: bool, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, searchForEmoji: bool, onionDomain: str, i2pDomain: str, @@ -3297,7 +3301,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.session, self.server.cachedWebfingers, self.server.personCache, - httpPrefix, + http_prefix, self.server.projectVersion, self.server.YTReplacementDomain, self.server.twitterReplacementDomain, @@ -3334,7 +3338,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.cssCache, self.server.translate, base_dir, - httpPrefix, + http_prefix, searchStr, self.server.instanceOnlySkillsSearch, 64) @@ -3381,7 +3385,7 @@ class PubServer(BaseHTTPRequestHandler): htmlHistorySearch(self.server.cssCache, self.server.translate, base_dir, - httpPrefix, + http_prefix, nickname, domain, searchStr, @@ -3449,7 +3453,7 @@ class PubServer(BaseHTTPRequestHandler): htmlHistorySearch(self.server.cssCache, self.server.translate, base_dir, - httpPrefix, + http_prefix, nickname, domain, searchStr, @@ -3508,13 +3512,13 @@ class PubServer(BaseHTTPRequestHandler): searchDomainFull = \ getFullDomain(searchDomain, searchPort) actor = \ - localActorUrl(httpPrefix, searchNickname, + localActorUrl(http_prefix, searchNickname, searchDomainFull) else: actor = searchStr avatarUrl = \ getAvatarImageUrl(self.server.session, - base_dir, httpPrefix, + base_dir, http_prefix, actor, self.server.personCache, None, True, @@ -3523,7 +3527,7 @@ class PubServer(BaseHTTPRequestHandler): '?options=' + actor + ';1;' + avatarUrl self._showPersonOptions(callingDomain, profilePathStr, - base_dir, httpPrefix, + base_dir, http_prefix, domain, domainFull, GETstartTime, onionDomain, i2pDomain, @@ -3549,7 +3553,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.translate, base_dir, profilePathStr, - httpPrefix, + http_prefix, nickname, domain, port, @@ -3597,7 +3601,7 @@ class PubServer(BaseHTTPRequestHandler): htmlSearchEmoji(self.server.cssCache, self.server.translate, base_dir, - httpPrefix, + http_prefix, searchStr) if emojiStr: msg = emojiStr.encode('utf-8') @@ -3617,7 +3621,7 @@ class PubServer(BaseHTTPRequestHandler): base_dir, searchStr[1:], pageNumber, maxPostsInFeed, - httpPrefix, + http_prefix, domainFull, actorStr, callingDomain, sharedItemsFederatedDomains, @@ -3640,7 +3644,7 @@ class PubServer(BaseHTTPRequestHandler): base_dir, searchStr, pageNumber, maxPostsInFeed, - httpPrefix, + http_prefix, domainFull, actorStr, callingDomain, sharedItemsFederatedDomains, @@ -3661,7 +3665,7 @@ class PubServer(BaseHTTPRequestHandler): def _receiveVote(self, callingDomain: str, cookie: str, authorized: bool, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, onionDomain: str, i2pDomain: str, debug: bool) -> None: @@ -3678,7 +3682,7 @@ class PubServer(BaseHTTPRequestHandler): # the actor who votes usersPath = path.replace('/question', '') - actor = httpPrefix + '://' + domainFull + usersPath + actor = http_prefix + '://' + domainFull + usersPath nickname = getNicknameFromActor(actor) if not nickname: if callingDomain.endswith('.onion') and onionDomain: @@ -3748,7 +3752,7 @@ class PubServer(BaseHTTPRequestHandler): def _receiveImage(self, length: int, callingDomain: str, cookie: str, authorized: bool, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, onionDomain: str, i2pDomain: str, debug: bool) -> None: @@ -3810,14 +3814,14 @@ class PubServer(BaseHTTPRequestHandler): def _removeShare(self, callingDomain: str, cookie: str, authorized: bool, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, onionDomain: str, i2pDomain: str, debug: bool) -> None: """Removes a shared item """ usersPath = path.split('/rmshare')[0] - originPathStr = httpPrefix + '://' + domainFull + usersPath + originPathStr = http_prefix + '://' + domainFull + usersPath length = int(self.headers['Content-length']) @@ -3852,7 +3856,7 @@ class PubServer(BaseHTTPRequestHandler): shareActor = shareActor.split('&')[0] adminNickname = getConfigParam(base_dir, 'admin') adminActor = \ - localActorUrl(httpPrefix, adminNickname, domainFull) + localActorUrl(http_prefix, adminNickname, domainFull) actor = originPathStr actorNickname = getNicknameFromActor(actor) if actor == shareActor or actor == adminActor or \ @@ -3865,7 +3869,7 @@ class PubServer(BaseHTTPRequestHandler): shareDomain, sharePort = getDomainFromActor(shareActor) removeSharedItem(base_dir, shareNickname, shareDomain, itemID, - httpPrefix, domainFull, 'shares') + http_prefix, domainFull, 'shares') if callingDomain.endswith('.onion') and onionDomain: originPathStr = 'http://' + onionDomain + usersPath @@ -3877,14 +3881,14 @@ class PubServer(BaseHTTPRequestHandler): def _removeWanted(self, callingDomain: str, cookie: str, authorized: bool, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, onionDomain: str, i2pDomain: str, debug: bool) -> None: """Removes a wanted item """ usersPath = path.split('/rmwanted')[0] - originPathStr = httpPrefix + '://' + domainFull + usersPath + originPathStr = http_prefix + '://' + domainFull + usersPath length = int(self.headers['Content-length']) @@ -3919,7 +3923,7 @@ class PubServer(BaseHTTPRequestHandler): shareActor = shareActor.split('&')[0] adminNickname = getConfigParam(base_dir, 'admin') adminActor = \ - localActorUrl(httpPrefix, adminNickname, domainFull) + localActorUrl(http_prefix, adminNickname, domainFull) actor = originPathStr actorNickname = getNicknameFromActor(actor) if actor == shareActor or actor == adminActor or \ @@ -3932,7 +3936,7 @@ class PubServer(BaseHTTPRequestHandler): shareDomain, sharePort = getDomainFromActor(shareActor) removeSharedItem(base_dir, shareNickname, shareDomain, itemID, - httpPrefix, domainFull, 'wanted') + http_prefix, domainFull, 'wanted') if callingDomain.endswith('.onion') and onionDomain: originPathStr = 'http://' + onionDomain + usersPath @@ -3944,7 +3948,7 @@ class PubServer(BaseHTTPRequestHandler): def _removePost(self, callingDomain: str, cookie: str, authorized: bool, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, onionDomain: str, i2pDomain: str, debug: bool) -> None: @@ -3953,7 +3957,7 @@ class PubServer(BaseHTTPRequestHandler): pageNumber = 1 usersPath = path.split('/rmpost')[0] originPathStr = \ - httpPrefix + '://' + \ + http_prefix + '://' + \ domainFull + usersPath length = int(self.headers['Content-length']) @@ -4044,7 +4048,7 @@ class PubServer(BaseHTTPRequestHandler): def _linksUpdate(self, callingDomain: str, cookie: str, authorized: bool, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, onionDomain: str, i2pDomain: str, debug: bool, defaultTimeline: str, @@ -4185,7 +4189,7 @@ class PubServer(BaseHTTPRequestHandler): def _setHashtagCategory(self, callingDomain: str, cookie: str, authorized: bool, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, onionDomain: str, i2pDomain: str, debug: bool, defaultTimeline: str, @@ -4287,7 +4291,7 @@ class PubServer(BaseHTTPRequestHandler): def _newswireUpdate(self, callingDomain: str, cookie: str, authorized: bool, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, onionDomain: str, i2pDomain: str, debug: bool, defaultTimeline: str) -> None: @@ -4442,7 +4446,7 @@ class PubServer(BaseHTTPRequestHandler): def _citationsUpdate(self, callingDomain: str, cookie: str, authorized: bool, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, onionDomain: str, i2pDomain: str, debug: bool, defaultTimeline: str, @@ -4532,7 +4536,7 @@ class PubServer(BaseHTTPRequestHandler): def _newsPostEdit(self, callingDomain: str, cookie: str, authorized: bool, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, onionDomain: str, i2pDomain: str, debug: bool, defaultTimeline: str) -> None: @@ -4666,7 +4670,7 @@ class PubServer(BaseHTTPRequestHandler): def _profileUpdate(self, callingDomain: str, cookie: str, authorized: bool, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, onionDomain: str, i2pDomain: str, debug: bool, allowLocalNetworkAccess: bool, @@ -5027,7 +5031,7 @@ class PubServer(BaseHTTPRequestHandler): 'publishButtonAtTop') setNewsAvatar(base_dir, fields['themeDropdown'], - httpPrefix, + http_prefix, domain, domainFull) @@ -5516,7 +5520,7 @@ class PubServer(BaseHTTPRequestHandler): actorTags = {} actorJson['summary'] = \ addHtmlTags(base_dir, - httpPrefix, + http_prefix, nickname, domainFull, bioStr, [], actorTags) @@ -6834,7 +6838,7 @@ class PubServer(BaseHTTPRequestHandler): def _getRSS2feed(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, port: int, proxyType: str, GETstartTime, debug: bool) -> None: @@ -6853,7 +6857,7 @@ class PubServer(BaseHTTPRequestHandler): htmlBlogPageRSS2(authorized, self.server.session, base_dir, - httpPrefix, + http_prefix, self.server.translate, nickname, domain, @@ -6881,7 +6885,7 @@ class PubServer(BaseHTTPRequestHandler): def _getRSS2site(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domainFull: str, port: int, proxyType: str, translate: {}, GETstartTime, @@ -6903,7 +6907,7 @@ class PubServer(BaseHTTPRequestHandler): htmlBlogPageRSS2(authorized, self.server.session, base_dir, - httpPrefix, + http_prefix, self.server.translate, nickname, domain, @@ -6913,7 +6917,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.systemLanguage) break if msg: - msg = rss2Header(httpPrefix, + msg = rss2Header(http_prefix, 'news', domainFull, 'Site', translate) + msg + rss2Footer() @@ -6936,7 +6940,7 @@ class PubServer(BaseHTTPRequestHandler): def _getNewswireFeed(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, port: int, proxyType: str, GETstartTime, debug: bool) -> None: @@ -6947,7 +6951,7 @@ class PubServer(BaseHTTPRequestHandler): return msg = getRSSfromDict(self.server.base_dir, self.server.newswire, - self.server.httpPrefix, + self.server.http_prefix, self.server.domainFull, 'Newswire', self.server.translate) if msg: @@ -6970,7 +6974,7 @@ class PubServer(BaseHTTPRequestHandler): def _getHashtagCategoriesFeed(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, port: int, proxyType: str, GETstartTime, debug: bool) -> None: @@ -7002,7 +7006,7 @@ class PubServer(BaseHTTPRequestHandler): def _getRSS3feed(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, port: int, proxyType: str, GETstartTime, debug: bool, systemLanguage: str) -> None: @@ -7020,7 +7024,7 @@ class PubServer(BaseHTTPRequestHandler): msg = \ htmlBlogPageRSS3(authorized, self.server.session, - base_dir, httpPrefix, + base_dir, http_prefix, self.server.translate, nickname, domain, port, maxPostsInRSSFeed, 1, @@ -7043,7 +7047,7 @@ class PubServer(BaseHTTPRequestHandler): self._404() def _showPersonOptions(self, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, GETstartTime, onionDomain: str, i2pDomain: str, @@ -7123,7 +7127,7 @@ class PubServer(BaseHTTPRequestHandler): if self.server.session: checkForChangedActor(self.server.session, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domainFull, optionsActor, optionsProfileUrl, self.server.personCache, 5) @@ -7181,7 +7185,7 @@ class PubServer(BaseHTTPRequestHandler): 'http://' + i2pDomain + originPathStr else: originPathStrAbsolute = \ - httpPrefix + '://' + domainFull + originPathStr + http_prefix + '://' + domainFull + originPathStr self._redirect_headers(originPathStrAbsolute, cookie, callingDomain) @@ -7490,7 +7494,7 @@ class PubServer(BaseHTTPRequestHandler): def _hashtagSearch(self, callingDomain: str, path: str, cookie: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime) -> None: @@ -7532,7 +7536,7 @@ class PubServer(BaseHTTPRequestHandler): maxPostsInHashtagFeed, self.server.session, self.server.cachedWebfingers, self.server.personCache, - httpPrefix, + http_prefix, self.server.projectVersion, self.server.YTReplacementDomain, self.server.twitterReplacementDomain, @@ -7554,7 +7558,7 @@ class PubServer(BaseHTTPRequestHandler): else: originPathStr = path.split('/tags/')[0] originPathStrAbsolute = \ - httpPrefix + '://' + domainFull + originPathStr + http_prefix + '://' + domainFull + originPathStr if callingDomain.endswith('.onion') and onionDomain: originPathStrAbsolute = \ 'http://' + onionDomain + originPathStr @@ -7569,7 +7573,7 @@ class PubServer(BaseHTTPRequestHandler): def _hashtagSearchRSS2(self, callingDomain: str, path: str, cookie: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime) -> None: @@ -7582,7 +7586,7 @@ class PubServer(BaseHTTPRequestHandler): nickname = None if '/users/' in path: actor = \ - httpPrefix + '://' + domainFull + path + http_prefix + '://' + domainFull + path nickname = \ getNicknameFromActor(actor) hashtagStr = \ @@ -7595,7 +7599,7 @@ class PubServer(BaseHTTPRequestHandler): maxPostsInFeed, self.server.session, self.server.cachedWebfingers, self.server.personCache, - httpPrefix, + http_prefix, self.server.projectVersion, self.server.YTReplacementDomain, self.server.twitterReplacementDomain, @@ -7609,7 +7613,7 @@ class PubServer(BaseHTTPRequestHandler): else: originPathStr = path.split('/tags/rss2/')[0] originPathStrAbsolute = \ - httpPrefix + '://' + domainFull + originPathStr + http_prefix + '://' + domainFull + originPathStr if callingDomain.endswith('.onion') and onionDomain: originPathStrAbsolute = \ 'http://' + onionDomain + originPathStr @@ -7625,7 +7629,7 @@ class PubServer(BaseHTTPRequestHandler): def _announceButton(self, callingDomain: str, path: str, base_dir: str, cookie: str, proxyType: str, - httpPrefix: str, + http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -7672,7 +7676,7 @@ class PubServer(BaseHTTPRequestHandler): return self.server.actorRepeat = path.split('?actor=')[1] announceToStr = \ - localActorUrl(httpPrefix, self.postToNickname, domainFull) + \ + localActorUrl(http_prefix, self.postToNickname, domainFull) + \ '/followers' if not repeatPrivate: announceToStr = 'https://www.w3.org/ns/activitystreams#Public' @@ -7683,7 +7687,7 @@ class PubServer(BaseHTTPRequestHandler): self.postToNickname, domain, port, announceToStr, - None, httpPrefix, + None, http_prefix, repeatUrl, False, False, self.server.sendThreads, self.server.postLog, @@ -7699,7 +7703,7 @@ class PubServer(BaseHTTPRequestHandler): # but the html still needs to be generated before this call ends announceId = removeIdEnding(announceJson['id']) announceFilename = \ - savePostToBox(base_dir, httpPrefix, announceId, + savePostToBox(base_dir, http_prefix, announceId, self.postToNickname, domainFull, announceJson, 'outbox') @@ -7744,7 +7748,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.port, announceJson, None, True, self.server.allowDeletion, - httpPrefix, self.server.projectVersion, + http_prefix, self.server.projectVersion, timelineStr, self.server.YTReplacementDomain, self.server.twitterReplacementDomain, @@ -7773,7 +7777,7 @@ class PubServer(BaseHTTPRequestHandler): def _undoAnnounceButton(self, callingDomain: str, path: str, base_dir: str, cookie: str, proxyType: str, - httpPrefix: str, + http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -7822,7 +7826,7 @@ class PubServer(BaseHTTPRequestHandler): self._404() return undoAnnounceActor = \ - httpPrefix + '://' + domainFull + \ + http_prefix + '://' + domainFull + \ '/users/' + self.postToNickname unRepeatToStr = 'https://www.w3.org/ns/activitystreams#Public' newUndoAnnounce = { @@ -7855,7 +7859,7 @@ class PubServer(BaseHTTPRequestHandler): postFilename = \ locatePost(base_dir, nickname, domain, announceUrl) if postFilename: - deletePost(base_dir, httpPrefix, + deletePost(base_dir, http_prefix, nickname, domain, postFilename, debug, recentPostsCache) @@ -7873,7 +7877,7 @@ class PubServer(BaseHTTPRequestHandler): def _followApproveButton(self, callingDomain: str, path: str, cookie: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -7893,7 +7897,7 @@ class PubServer(BaseHTTPRequestHandler): self._404() return manualApproveFollowRequestThread(self.server.session, - base_dir, httpPrefix, + base_dir, http_prefix, followerNickname, domain, port, followingHandle, @@ -7906,7 +7910,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.projectVersion, self.server.signingPrivateKeyPem) originPathStrAbsolute = \ - httpPrefix + '://' + domainFull + originPathStr + http_prefix + '://' + domainFull + originPathStr if callingDomain.endswith('.onion') and onionDomain: originPathStrAbsolute = \ 'http://' + onionDomain + originPathStr @@ -7921,7 +7925,7 @@ class PubServer(BaseHTTPRequestHandler): def _newswireVote(self, callingDomain: str, path: str, cookie: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -7961,7 +7965,7 @@ class PubServer(BaseHTTPRequestHandler): str(newswire)) originPathStrAbsolute = \ - httpPrefix + '://' + domainFull + originPathStr + '/' + \ + http_prefix + '://' + domainFull + originPathStr + '/' + \ self.server.defaultTimeline if callingDomain.endswith('.onion') and onionDomain: originPathStrAbsolute = \ @@ -7977,7 +7981,7 @@ class PubServer(BaseHTTPRequestHandler): def _newswireUnvote(self, callingDomain: str, path: str, cookie: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -8015,7 +8019,7 @@ class PubServer(BaseHTTPRequestHandler): str(newswire)) originPathStrAbsolute = \ - httpPrefix + '://' + domainFull + originPathStr + '/' + \ + http_prefix + '://' + domainFull + originPathStr + '/' + \ self.server.defaultTimeline if callingDomain.endswith('.onion') and onionDomain: originPathStrAbsolute = \ @@ -8031,7 +8035,7 @@ class PubServer(BaseHTTPRequestHandler): def _followDenyButton(self, callingDomain: str, path: str, cookie: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -8048,7 +8052,7 @@ class PubServer(BaseHTTPRequestHandler): handleNickname + '@' + getFullDomain(handleDomain, handlePort) if '@' in followingHandle: manualDenyFollowRequestThread(self.server.session, - base_dir, httpPrefix, + base_dir, http_prefix, followerNickname, domain, port, followingHandle, @@ -8061,7 +8065,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.projectVersion, self.server.signingPrivateKeyPem) originPathStrAbsolute = \ - httpPrefix + '://' + domainFull + originPathStr + http_prefix + '://' + domainFull + originPathStr if callingDomain.endswith('.onion') and onionDomain: originPathStrAbsolute = \ 'http://' + onionDomain + originPathStr @@ -8075,7 +8079,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.debug) def _likeButton(self, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, onionDomain: str, i2pDomain: str, GETstartTime, @@ -8122,7 +8126,7 @@ class PubServer(BaseHTTPRequestHandler): self._404() return likeActor = \ - localActorUrl(httpPrefix, self.postToNickname, domainFull) + localActorUrl(http_prefix, self.postToNickname, domainFull) actorLiked = path.split('?actor=')[1] if '?' in actorLiked: actorLiked = actorLiked.split('?')[0] @@ -8203,7 +8207,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.port, likedPostJson, None, True, self.server.allowDeletion, - httpPrefix, + http_prefix, self.server.projectVersion, timelineStr, self.server.YTReplacementDomain, @@ -8240,7 +8244,7 @@ class PubServer(BaseHTTPRequestHandler): callingDomain) def _undoLikeButton(self, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, onionDomain: str, i2pDomain: str, GETstartTime, @@ -8286,7 +8290,7 @@ class PubServer(BaseHTTPRequestHandler): self._404() return undoActor = \ - localActorUrl(httpPrefix, self.postToNickname, domainFull) + localActorUrl(http_prefix, self.postToNickname, domainFull) actorLiked = path.split('?actor=')[1] if '?' in actorLiked: actorLiked = actorLiked.split('?')[0] @@ -8358,7 +8362,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.port, likedPostJson, None, True, self.server.allowDeletion, - httpPrefix, + http_prefix, self.server.projectVersion, timelineStr, self.server.YTReplacementDomain, self.server.twitterReplacementDomain, @@ -8390,7 +8394,7 @@ class PubServer(BaseHTTPRequestHandler): callingDomain) def _reactionButton(self, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, onionDomain: str, i2pDomain: str, GETstartTime, @@ -8453,7 +8457,7 @@ class PubServer(BaseHTTPRequestHandler): self._404() return reactionActor = \ - localActorUrl(httpPrefix, self.postToNickname, domainFull) + localActorUrl(http_prefix, self.postToNickname, domainFull) actorReaction = path.split('?actor=')[1] if '?' in actorReaction: actorReaction = actorReaction.split('?')[0] @@ -8541,7 +8545,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.port, reactionPostJson, None, True, self.server.allowDeletion, - httpPrefix, + http_prefix, self.server.projectVersion, timelineStr, self.server.YTReplacementDomain, @@ -8576,7 +8580,7 @@ class PubServer(BaseHTTPRequestHandler): callingDomain) def _undoReactionButton(self, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, onionDomain: str, i2pDomain: str, GETstartTime, @@ -8637,7 +8641,7 @@ class PubServer(BaseHTTPRequestHandler): self._404() return undoActor = \ - localActorUrl(httpPrefix, self.postToNickname, domainFull) + localActorUrl(http_prefix, self.postToNickname, domainFull) actorReaction = path.split('?actor=')[1] if '?' in actorReaction: actorReaction = actorReaction.split('?')[0] @@ -8714,7 +8718,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.port, reactionPostJson, None, True, self.server.allowDeletion, - httpPrefix, + http_prefix, self.server.projectVersion, timelineStr, self.server.YTReplacementDomain, self.server.twitterReplacementDomain, @@ -8744,7 +8748,7 @@ class PubServer(BaseHTTPRequestHandler): self._redirect_headers(actorPathStr, cookie, callingDomain) def _reactionPicker(self, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -8812,7 +8816,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.personCache, self.postToNickname, domain, port, postJsonObject, - self.server.httpPrefix, + self.server.http_prefix, self.server.projectVersion, self.server.YTReplacementDomain, self.server.twitterReplacementDomain, @@ -8837,7 +8841,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.debug) def _bookmarkButton(self, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -8884,7 +8888,7 @@ class PubServer(BaseHTTPRequestHandler): self._404() return bookmarkActor = \ - localActorUrl(httpPrefix, self.postToNickname, domainFull) + localActorUrl(http_prefix, self.postToNickname, domainFull) ccList = [] bookmark(self.server.recentPostsCache, self.server.session, @@ -8893,7 +8897,7 @@ class PubServer(BaseHTTPRequestHandler): self.postToNickname, domain, port, ccList, - httpPrefix, + http_prefix, bookmarkUrl, bookmarkActor, False, self.server.sendThreads, self.server.postLog, @@ -8934,7 +8938,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.port, bookmarkPostJson, None, True, self.server.allowDeletion, - httpPrefix, self.server.projectVersion, + http_prefix, self.server.projectVersion, timelineStr, self.server.YTReplacementDomain, self.server.twitterReplacementDomain, @@ -8964,7 +8968,7 @@ class PubServer(BaseHTTPRequestHandler): callingDomain) def _undoBookmarkButton(self, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -9010,7 +9014,7 @@ class PubServer(BaseHTTPRequestHandler): self._404() return undoActor = \ - localActorUrl(httpPrefix, self.postToNickname, domainFull) + localActorUrl(http_prefix, self.postToNickname, domainFull) ccList = [] undoBookmark(self.server.recentPostsCache, self.server.session, @@ -9019,7 +9023,7 @@ class PubServer(BaseHTTPRequestHandler): self.postToNickname, domain, port, ccList, - httpPrefix, + http_prefix, bookmarkUrl, undoActor, False, self.server.sendThreads, self.server.postLog, @@ -9062,7 +9066,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.port, bookmarkPostJson, None, True, self.server.allowDeletion, - httpPrefix, + http_prefix, self.server.projectVersion, timelineStr, self.server.YTReplacementDomain, self.server.twitterReplacementDomain, @@ -9091,7 +9095,7 @@ class PubServer(BaseHTTPRequestHandler): callingDomain) def _deleteButton(self, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -9122,7 +9126,7 @@ class PubServer(BaseHTTPRequestHandler): timelineStr = timelineStr.split('?')[0] usersPath = path.split('?delete=')[0] actor = \ - httpPrefix + '://' + domainFull + usersPath + http_prefix + '://' + domainFull + usersPath if self.server.allowDeletion or \ deleteUrl.startswith(actor): if self.server.debug: @@ -9157,7 +9161,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.maxRecentPosts, self.server.translate, pageNumber, self.server.session, base_dir, - deleteUrl, httpPrefix, + deleteUrl, http_prefix, self.server.projectVersion, self.server.cachedWebfingers, self.server.personCache, callingDomain, @@ -9190,7 +9194,7 @@ class PubServer(BaseHTTPRequestHandler): cookie, callingDomain) def _muteButton(self, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -9222,10 +9226,10 @@ class PubServer(BaseHTTPRequestHandler): if pageNumberStr.isdigit(): pageNumber = int(pageNumberStr) actor = \ - httpPrefix + '://' + domainFull + path.split('?mute=')[0] + http_prefix + '://' + domainFull + path.split('?mute=')[0] nickname = getNicknameFromActor(actor) mutePost(base_dir, nickname, domain, port, - httpPrefix, muteUrl, + http_prefix, muteUrl, self.server.recentPostsCache, debug) muteFilename = \ locatePost(base_dir, nickname, domain, muteUrl) @@ -9264,7 +9268,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.port, mutePostJson, avatarUrl, showAvatarOptions, self.server.allowDeletion, - httpPrefix, + http_prefix, self.server.projectVersion, timelineStr, self.server.YTReplacementDomain, self.server.twitterReplacementDomain, @@ -9299,7 +9303,7 @@ class PubServer(BaseHTTPRequestHandler): cookie, callingDomain) def _undoMuteButton(self, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -9331,10 +9335,10 @@ class PubServer(BaseHTTPRequestHandler): if pageNumberStr.isdigit(): pageNumber = int(pageNumberStr) actor = \ - httpPrefix + '://' + domainFull + path.split('?unmute=')[0] + http_prefix + '://' + domainFull + path.split('?unmute=')[0] nickname = getNicknameFromActor(actor) unmutePost(base_dir, nickname, domain, port, - httpPrefix, muteUrl, + http_prefix, muteUrl, self.server.recentPostsCache, debug) muteFilename = \ locatePost(base_dir, nickname, domain, muteUrl) @@ -9374,7 +9378,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.port, mutePostJson, avatarUrl, showAvatarOptions, self.server.allowDeletion, - httpPrefix, + http_prefix, self.server.projectVersion, timelineStr, self.server.YTReplacementDomain, self.server.twitterReplacementDomain, @@ -9407,7 +9411,7 @@ class PubServer(BaseHTTPRequestHandler): def _showRepliesToPost(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -9439,7 +9443,7 @@ class PubServer(BaseHTTPRequestHandler): acctDir(base_dir, nickname, domain) + '/' + boxname postRepliesFilename = \ postDir + '/' + \ - httpPrefix + ':##' + domainFull + '#users#' + \ + http_prefix + ':##' + domainFull + '#users#' + \ nickname + '#statuses#' + statusNumber + '.replies' if not os.path.isfile(postRepliesFilename): # There are no replies, @@ -9448,15 +9452,15 @@ class PubServer(BaseHTTPRequestHandler): 'https://www.w3.org/ns/activitystreams' firstStr = \ - localActorUrl(httpPrefix, nickname, domainFull) + \ + localActorUrl(http_prefix, nickname, domainFull) + \ '/statuses/' + statusNumber + '/replies?page=true' idStr = \ - localActorUrl(httpPrefix, nickname, domainFull) + \ + localActorUrl(http_prefix, nickname, domainFull) + \ '/statuses/' + statusNumber + '/replies' lastStr = \ - localActorUrl(httpPrefix, nickname, domainFull) + \ + localActorUrl(http_prefix, nickname, domainFull) + \ '/statuses/' + statusNumber + '/replies?page=true' repliesJson = { @@ -9496,7 +9500,7 @@ class PubServer(BaseHTTPRequestHandler): domain, port, repliesJson, - httpPrefix, + http_prefix, projectVersion, ytDomain, twitterReplacementDomain, @@ -9538,11 +9542,11 @@ class PubServer(BaseHTTPRequestHandler): contextStr = 'https://www.w3.org/ns/activitystreams' idStr = \ - localActorUrl(httpPrefix, nickname, domainFull) + \ + localActorUrl(http_prefix, nickname, domainFull) + \ '/statuses/' + statusNumber + '?page=true' partOfStr = \ - localActorUrl(httpPrefix, nickname, domainFull) + \ + localActorUrl(http_prefix, nickname, domainFull) + \ '/statuses/' + statusNumber repliesJson = { @@ -9588,7 +9592,7 @@ class PubServer(BaseHTTPRequestHandler): domain, port, repliesJson, - httpPrefix, + http_prefix, projectVersion, ytDomain, twitterReplacementDomain, @@ -9629,7 +9633,7 @@ class PubServer(BaseHTTPRequestHandler): def _showRoles(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -9688,7 +9692,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.maxRecentPosts, self.server.translate, self.server.projectVersion, - base_dir, httpPrefix, True, + base_dir, http_prefix, True, getPerson, 'roles', self.server.session, cachedWebfingers, @@ -9739,7 +9743,7 @@ class PubServer(BaseHTTPRequestHandler): def _showSkills(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -9802,7 +9806,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.maxRecentPosts, self.server.translate, self.server.projectVersion, - base_dir, httpPrefix, True, + base_dir, http_prefix, True, getPerson, 'skills', self.server.session, cachedWebfingers, @@ -9862,7 +9866,7 @@ class PubServer(BaseHTTPRequestHandler): def _showIndividualAtPost(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -9908,7 +9912,7 @@ class PubServer(BaseHTTPRequestHandler): postFilename = \ acctDir(base_dir, nickname, domain) + '/outbox/' + \ - httpPrefix + ':##' + domainFull + '#users#' + nickname + \ + http_prefix + ':##' + domainFull + '#users#' + nickname + \ '#statuses#' + statusNumber + '.json' includeCreateWrapper = False @@ -9918,7 +9922,7 @@ class PubServer(BaseHTTPRequestHandler): result = self._showPostFromFile(postFilename, likedBy, reactBy, reactEmoji, authorized, callingDomain, path, - base_dir, httpPrefix, nickname, + base_dir, http_prefix, nickname, domain, domainFull, port, onionDomain, i2pDomain, GETstartTime, @@ -9933,7 +9937,7 @@ class PubServer(BaseHTTPRequestHandler): reactBy: str, reactEmoji: str, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, nickname: str, + base_dir: str, http_prefix: str, nickname: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -9975,7 +9979,7 @@ class PubServer(BaseHTTPRequestHandler): nickname, domain, port, authorized, postJsonObject, - httpPrefix, + http_prefix, self.server.projectVersion, likedBy, reactBy, reactEmoji, self.server.YTReplacementDomain, @@ -10026,7 +10030,7 @@ class PubServer(BaseHTTPRequestHandler): def _showIndividualPost(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -10066,7 +10070,7 @@ class PubServer(BaseHTTPRequestHandler): postFilename = \ acctDir(base_dir, nickname, domain) + '/outbox/' + \ - httpPrefix + ':##' + domainFull + '#users#' + nickname + \ + http_prefix + ':##' + domainFull + '#users#' + nickname + \ '#statuses#' + statusNumber + '.json' includeCreateWrapper = False @@ -10076,7 +10080,7 @@ class PubServer(BaseHTTPRequestHandler): result = self._showPostFromFile(postFilename, likedBy, reactBy, reactEmoji, authorized, callingDomain, path, - base_dir, httpPrefix, nickname, + base_dir, http_prefix, nickname, domain, domainFull, port, onionDomain, i2pDomain, GETstartTime, @@ -10089,7 +10093,7 @@ class PubServer(BaseHTTPRequestHandler): def _showNotifyPost(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -10120,7 +10124,7 @@ class PubServer(BaseHTTPRequestHandler): result = self._showPostFromFile(postFilename, likedBy, reactBy, reactEmoji, authorized, callingDomain, path, - base_dir, httpPrefix, nickname, + base_dir, http_prefix, nickname, domain, domainFull, port, onionDomain, i2pDomain, GETstartTime, @@ -10133,7 +10137,7 @@ class PubServer(BaseHTTPRequestHandler): def _showInbox(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -10160,7 +10164,7 @@ class PubServer(BaseHTTPRequestHandler): domain, port, path, - httpPrefix, + http_prefix, maxPostsInFeed, 'inbox', authorized, 0, @@ -10192,7 +10196,7 @@ class PubServer(BaseHTTPRequestHandler): domain, port, path + '?page=1', - httpPrefix, + http_prefix, maxPostsInFeed, 'inbox', authorized, 0, @@ -10229,7 +10233,7 @@ class PubServer(BaseHTTPRequestHandler): port, inboxFeed, allowDeletion, - httpPrefix, + http_prefix, projectVersion, minimalNick, YTReplacementDomain, @@ -10302,7 +10306,7 @@ class PubServer(BaseHTTPRequestHandler): def _showDMs(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -10319,7 +10323,7 @@ class PubServer(BaseHTTPRequestHandler): domain, port, path, - httpPrefix, + http_prefix, maxPostsInFeed, 'dm', authorized, 0, self.server.positiveVoting, @@ -10345,7 +10349,7 @@ class PubServer(BaseHTTPRequestHandler): domain, port, path + '?page=1', - httpPrefix, + http_prefix, maxPostsInFeed, 'dm', authorized, 0, @@ -10378,7 +10382,7 @@ class PubServer(BaseHTTPRequestHandler): port, inboxDMFeed, self.server.allowDeletion, - httpPrefix, + http_prefix, self.server.projectVersion, minimalNick, self.server.YTReplacementDomain, @@ -10443,7 +10447,7 @@ class PubServer(BaseHTTPRequestHandler): def _showReplies(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -10460,7 +10464,7 @@ class PubServer(BaseHTTPRequestHandler): domain, port, path, - httpPrefix, + http_prefix, maxPostsInFeed, 'tlreplies', True, 0, self.server.positiveVoting, @@ -10487,7 +10491,7 @@ class PubServer(BaseHTTPRequestHandler): domain, port, path + '?page=1', - httpPrefix, + http_prefix, maxPostsInFeed, 'tlreplies', True, 0, self.server.positiveVoting, @@ -10519,7 +10523,7 @@ class PubServer(BaseHTTPRequestHandler): port, inboxRepliesFeed, self.server.allowDeletion, - httpPrefix, + http_prefix, self.server.projectVersion, minimalNick, self.server.YTReplacementDomain, @@ -10584,7 +10588,7 @@ class PubServer(BaseHTTPRequestHandler): def _showMediaTimeline(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -10601,7 +10605,7 @@ class PubServer(BaseHTTPRequestHandler): domain, port, path, - httpPrefix, + http_prefix, maxPostsInMediaFeed, 'tlmedia', True, 0, self.server.positiveVoting, @@ -10628,7 +10632,7 @@ class PubServer(BaseHTTPRequestHandler): domain, port, path + '?page=1', - httpPrefix, + http_prefix, maxPostsInMediaFeed, 'tlmedia', True, 0, self.server.positiveVoting, @@ -10658,7 +10662,7 @@ class PubServer(BaseHTTPRequestHandler): port, inboxMediaFeed, self.server.allowDeletion, - httpPrefix, + http_prefix, self.server.projectVersion, minimalNick, self.server.YTReplacementDomain, @@ -10724,7 +10728,7 @@ class PubServer(BaseHTTPRequestHandler): def _showBlogsTimeline(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -10741,7 +10745,7 @@ class PubServer(BaseHTTPRequestHandler): domain, port, path, - httpPrefix, + http_prefix, maxPostsInBlogsFeed, 'tlblogs', True, 0, self.server.positiveVoting, @@ -10768,7 +10772,7 @@ class PubServer(BaseHTTPRequestHandler): domain, port, path + '?page=1', - httpPrefix, + http_prefix, maxPostsInBlogsFeed, 'tlblogs', True, 0, self.server.positiveVoting, @@ -10798,7 +10802,7 @@ class PubServer(BaseHTTPRequestHandler): port, inboxBlogsFeed, self.server.allowDeletion, - httpPrefix, + http_prefix, self.server.projectVersion, minimalNick, self.server.YTReplacementDomain, @@ -10865,7 +10869,7 @@ class PubServer(BaseHTTPRequestHandler): def _showNewsTimeline(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -10882,7 +10886,7 @@ class PubServer(BaseHTTPRequestHandler): domain, port, path, - httpPrefix, + http_prefix, maxPostsInNewsFeed, 'tlnews', True, self.server.newswireVotesThreshold, @@ -10910,7 +10914,7 @@ class PubServer(BaseHTTPRequestHandler): domain, port, path + '?page=1', - httpPrefix, + http_prefix, maxPostsInBlogsFeed, 'tlnews', True, self.server.newswireVotesThreshold, @@ -10947,7 +10951,7 @@ class PubServer(BaseHTTPRequestHandler): port, inboxNewsFeed, self.server.allowDeletion, - httpPrefix, + http_prefix, self.server.projectVersion, minimalNick, self.server.YTReplacementDomain, @@ -11014,7 +11018,7 @@ class PubServer(BaseHTTPRequestHandler): def _showFeaturesTimeline(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -11031,7 +11035,7 @@ class PubServer(BaseHTTPRequestHandler): domain, port, path, - httpPrefix, + http_prefix, maxPostsInNewsFeed, 'tlfeatures', True, self.server.newswireVotesThreshold, @@ -11059,7 +11063,7 @@ class PubServer(BaseHTTPRequestHandler): domain, port, path + '?page=1', - httpPrefix, + http_prefix, maxPostsInBlogsFeed, 'tlfeatures', True, self.server.newswireVotesThreshold, @@ -11095,7 +11099,7 @@ class PubServer(BaseHTTPRequestHandler): port, inboxFeaturesFeed, self.server.allowDeletion, - httpPrefix, + http_prefix, self.server.projectVersion, minimalNick, self.server.YTReplacementDomain, @@ -11161,7 +11165,7 @@ class PubServer(BaseHTTPRequestHandler): def _showSharesTimeline(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -11203,7 +11207,7 @@ class PubServer(BaseHTTPRequestHandler): domain, port, self.server.allowDeletion, - httpPrefix, + http_prefix, self.server.projectVersion, self.server.YTReplacementDomain, self.server.twitterReplacementDomain, @@ -11245,7 +11249,7 @@ class PubServer(BaseHTTPRequestHandler): def _showWantedTimeline(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -11287,7 +11291,7 @@ class PubServer(BaseHTTPRequestHandler): domain, port, self.server.allowDeletion, - httpPrefix, + http_prefix, self.server.projectVersion, self.server.YTReplacementDomain, self.server.twitterReplacementDomain, @@ -11329,7 +11333,7 @@ class PubServer(BaseHTTPRequestHandler): def _showBookmarksTimeline(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -11346,7 +11350,7 @@ class PubServer(BaseHTTPRequestHandler): domain, port, path, - httpPrefix, + http_prefix, maxPostsInFeed, 'tlbookmarks', authorized, 0, self.server.positiveVoting, @@ -11373,7 +11377,7 @@ class PubServer(BaseHTTPRequestHandler): domain, port, path + '?page=1', - httpPrefix, + http_prefix, maxPostsInFeed, 'tlbookmarks', authorized, @@ -11406,7 +11410,7 @@ class PubServer(BaseHTTPRequestHandler): port, bookmarksFeed, self.server.allowDeletion, - httpPrefix, + http_prefix, self.server.projectVersion, minimalNick, self.server.YTReplacementDomain, @@ -11471,7 +11475,7 @@ class PubServer(BaseHTTPRequestHandler): def _showOutboxTimeline(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -11484,7 +11488,7 @@ class PubServer(BaseHTTPRequestHandler): personBoxJson(self.server.recentPostsCache, self.server.session, base_dir, domain, port, path, - httpPrefix, maxPostsInFeed, 'outbox', + http_prefix, maxPostsInFeed, 'outbox', authorized, self.server.newswireVotesThreshold, self.server.positiveVoting, @@ -11511,7 +11515,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.session, base_dir, domain, port, path + pageStr, - httpPrefix, + http_prefix, maxPostsInFeed, 'outbox', authorized, self.server.newswireVotesThreshold, @@ -11544,7 +11548,7 @@ class PubServer(BaseHTTPRequestHandler): nickname, domain, port, outboxFeed, self.server.allowDeletion, - httpPrefix, + http_prefix, self.server.projectVersion, minimalNick, self.server.YTReplacementDomain, @@ -11598,7 +11602,7 @@ class PubServer(BaseHTTPRequestHandler): def _showModTimeline(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -11615,7 +11619,7 @@ class PubServer(BaseHTTPRequestHandler): domain, port, path, - httpPrefix, + http_prefix, maxPostsInFeed, 'moderation', True, 0, self.server.positiveVoting, @@ -11641,7 +11645,7 @@ class PubServer(BaseHTTPRequestHandler): domain, port, path + '?page=1', - httpPrefix, + http_prefix, maxPostsInFeed, 'moderation', True, 0, self.server.positiveVoting, @@ -11675,7 +11679,7 @@ class PubServer(BaseHTTPRequestHandler): port, moderationFeed, True, - httpPrefix, + http_prefix, self.server.projectVersion, self.server.YTReplacementDomain, twitterReplacementDomain, @@ -11737,7 +11741,7 @@ class PubServer(BaseHTTPRequestHandler): def _showSharesFeed(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -11747,7 +11751,7 @@ class PubServer(BaseHTTPRequestHandler): """ shares = \ getSharesFeedForPerson(base_dir, domain, port, path, - httpPrefix, sharesFileType, sharesPerPage) + http_prefix, sharesFileType, sharesPerPage) if shares: if self._requestHTTP(): pageNumber = 1 @@ -11757,7 +11761,7 @@ class PubServer(BaseHTTPRequestHandler): shares = \ getSharesFeedForPerson(base_dir, domain, port, path + '?page=true', - httpPrefix, sharesFileType, + http_prefix, sharesFileType, sharesPerPage) else: pageNumberStr = path.split('?page=')[1] @@ -11797,7 +11801,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.maxRecentPosts, self.server.translate, self.server.projectVersion, - base_dir, httpPrefix, + base_dir, http_prefix, authorized, getPerson, sharesFileType, self.server.session, @@ -11853,7 +11857,7 @@ class PubServer(BaseHTTPRequestHandler): def _showFollowingFeed(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -11863,7 +11867,7 @@ class PubServer(BaseHTTPRequestHandler): """ following = \ getFollowingFeed(base_dir, domain, port, path, - httpPrefix, authorized, followsPerPage, + http_prefix, authorized, followsPerPage, 'following') if following: if self._requestHTTP(): @@ -11876,7 +11880,7 @@ class PubServer(BaseHTTPRequestHandler): domain, port, path + '?page=true', - httpPrefix, + http_prefix, authorized, followsPerPage) else: pageNumberStr = path.split('?page=')[1] @@ -11918,7 +11922,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.maxRecentPosts, self.server.translate, self.server.projectVersion, - base_dir, httpPrefix, + base_dir, http_prefix, authorized, getPerson, 'following', self.server.session, @@ -11972,7 +11976,7 @@ class PubServer(BaseHTTPRequestHandler): def _showFollowersFeed(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -11981,7 +11985,7 @@ class PubServer(BaseHTTPRequestHandler): """Shows the followers feed """ followers = \ - getFollowingFeed(base_dir, domain, port, path, httpPrefix, + getFollowingFeed(base_dir, domain, port, path, http_prefix, authorized, followsPerPage, 'followers') if followers: if self._requestHTTP(): @@ -11994,7 +11998,7 @@ class PubServer(BaseHTTPRequestHandler): domain, port, path + '?page=1', - httpPrefix, + http_prefix, authorized, followsPerPage, 'followers') else: @@ -12038,7 +12042,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.translate, self.server.projectVersion, base_dir, - httpPrefix, + http_prefix, authorized, getPerson, 'followers', self.server.session, @@ -12093,14 +12097,14 @@ class PubServer(BaseHTTPRequestHandler): def _getFeaturedCollection(self, callingDomain: str, base_dir: str, path: str, - httpPrefix: str, + http_prefix: str, nickname: str, domain: str, domainFull: str, systemLanguage: str) -> None: """Returns the featured posts collections in actor/collections/featured """ featuredCollection = \ - jsonPinPost(base_dir, httpPrefix, + jsonPinPost(base_dir, http_prefix, nickname, domain, domainFull, systemLanguage) msg = json.dumps(featuredCollection, ensure_ascii=False).encode('utf-8') @@ -12111,7 +12115,7 @@ class PubServer(BaseHTTPRequestHandler): def _getFeaturedTagsCollection(self, callingDomain: str, path: str, - httpPrefix: str, + http_prefix: str, domainFull: str): """Returns the featured tags collections in actor/collections/featuredTags @@ -12120,7 +12124,7 @@ class PubServer(BaseHTTPRequestHandler): postContext = getIndividualPostContext() featuredTagsCollection = { '@context': postContext, - 'id': httpPrefix + '://' + domainFull + path, + 'id': http_prefix + '://' + domainFull + path, 'orderedItems': [], 'totalItems': 0, 'type': 'OrderedCollection' @@ -12134,7 +12138,7 @@ class PubServer(BaseHTTPRequestHandler): def _showPersonProfile(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -12174,7 +12178,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.translate, self.server.projectVersion, base_dir, - httpPrefix, + http_prefix, authorized, actorJson, 'posts', self.server.session, @@ -12231,7 +12235,7 @@ class PubServer(BaseHTTPRequestHandler): return True def _showInstanceActor(self, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -12256,7 +12260,7 @@ class PubServer(BaseHTTPRequestHandler): elif i2pDomain and callingDomain.endswith('.i2p'): actorDomainUrl = 'http://' + i2pDomain else: - actorDomainUrl = httpPrefix + '://' + domainFull + actorDomainUrl = http_prefix + '://' + domainFull actorUrl = actorDomainUrl + '/users/Actor' removeFields = ('icon', 'image', 'tts', 'shares', 'alsoKnownAs', 'hasOccupation', 'featured', @@ -12283,10 +12287,10 @@ class PubServer(BaseHTTPRequestHandler): actorJson['following'] = actorUrl + '/following' msgStr = json.dumps(actorJson, ensure_ascii=False) if onionDomain and callingDomain.endswith('.onion'): - msgStr = msgStr.replace(httpPrefix + '://' + domainFull, + msgStr = msgStr.replace(http_prefix + '://' + domainFull, 'http://' + onionDomain) elif i2pDomain and callingDomain.endswith('.i2p'): - msgStr = msgStr.replace(httpPrefix + '://' + domainFull, + msgStr = msgStr.replace(http_prefix + '://' + domainFull, 'http://' + i2pDomain) msg = msgStr.encode('utf-8') msglen = len(msg) @@ -12308,7 +12312,7 @@ class PubServer(BaseHTTPRequestHandler): def _showBlogPage(self, authorized: bool, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, domain: str, domainFull: str, port: int, onionDomain: str, i2pDomain: str, GETstartTime, @@ -12341,7 +12345,7 @@ class PubServer(BaseHTTPRequestHandler): msg = htmlBlogPage(authorized, self.server.session, base_dir, - httpPrefix, + http_prefix, translate, nickname, domain, port, @@ -12365,7 +12369,7 @@ class PubServer(BaseHTTPRequestHandler): return True def _redirectToLoginScreen(self, callingDomain: str, path: str, - httpPrefix: str, domainFull: str, + http_prefix: str, domainFull: str, onionDomain: str, i2pDomain: str, GETstartTime, authorized: bool, debug: bool): @@ -12418,7 +12422,7 @@ class PubServer(BaseHTTPRequestHandler): i2pDomain + divertPath, None, callingDomain) else: - self._redirect_headers(httpPrefix + '://' + + self._redirect_headers(http_prefix + '://' + domainFull + divertPath, None, callingDomain) fitnessPerformance(GETstartTime, @@ -12817,7 +12821,7 @@ class PubServer(BaseHTTPRequestHandler): return True def _confirmDeleteEvent(self, callingDomain: str, path: str, - base_dir: str, httpPrefix: str, cookie: str, + base_dir: str, http_prefix: str, cookie: str, translate: {}, domainFull: str, onionDomain: str, i2pDomain: str, GETstartTime) -> bool: @@ -12842,14 +12846,14 @@ class PubServer(BaseHTTPRequestHandler): msg = htmlCalendarDeleteConfirm(self.server.cssCache, translate, base_dir, path, - httpPrefix, + http_prefix, domainFull, postId, postTime, postYear, postMonth, postDay, callingDomain) if not msg: actor = \ - httpPrefix + '://' + \ + http_prefix + '://' + \ domainFull + \ path.split('/eventdelete')[0] if callingDomain.endswith('.onion') and onionDomain: @@ -12876,7 +12880,7 @@ class PubServer(BaseHTTPRequestHandler): def _showNewPost(self, callingDomain: str, path: str, mediaInstance: bool, translate: {}, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, inReplyToUrl: str, replyToList: [], shareDescription: str, replyPageNumber: int, replyCategory: str, @@ -12925,7 +12929,7 @@ class PubServer(BaseHTTPRequestHandler): mediaInstance, translate, base_dir, - httpPrefix, + http_prefix, path, inReplyToUrl, replyToList, shareDescription, None, @@ -13006,7 +13010,7 @@ class PubServer(BaseHTTPRequestHandler): def _editProfile(self, callingDomain: str, path: str, translate: {}, base_dir: str, - httpPrefix: str, domain: str, port: int, + http_prefix: str, domain: str, port: int, cookie: str) -> bool: """Show the edit profile screen """ @@ -13030,7 +13034,7 @@ class PubServer(BaseHTTPRequestHandler): base_dir, path, domain, port, - httpPrefix, + http_prefix, self.server.defaultTimeline, self.server.themeName, peertubeInstances, @@ -13053,7 +13057,7 @@ class PubServer(BaseHTTPRequestHandler): def _editLinks(self, callingDomain: str, path: str, translate: {}, base_dir: str, - httpPrefix: str, domain: str, port: int, + http_prefix: str, domain: str, port: int, cookie: str, theme: str) -> bool: """Show the links from the left column """ @@ -13071,7 +13075,7 @@ class PubServer(BaseHTTPRequestHandler): base_dir, path, domain, port, - httpPrefix, + http_prefix, self.server.defaultTimeline, theme, accessKeys).encode('utf-8') if msg: @@ -13086,7 +13090,7 @@ class PubServer(BaseHTTPRequestHandler): def _editNewswire(self, callingDomain: str, path: str, translate: {}, base_dir: str, - httpPrefix: str, domain: str, port: int, + http_prefix: str, domain: str, port: int, cookie: str) -> bool: """Show the newswire from the right column """ @@ -13104,7 +13108,7 @@ class PubServer(BaseHTTPRequestHandler): base_dir, path, domain, port, - httpPrefix, + http_prefix, self.server.defaultTimeline, self.server.themeName, accessKeys).encode('utf-8') @@ -13120,7 +13124,7 @@ class PubServer(BaseHTTPRequestHandler): def _editNewsPost(self, callingDomain: str, path: str, translate: {}, base_dir: str, - httpPrefix: str, domain: str, port: int, + http_prefix: str, domain: str, port: int, domainFull: str, cookie: str) -> bool: """Show the edit screen for a news post @@ -13134,13 +13138,13 @@ class PubServer(BaseHTTPRequestHandler): postId = path.split('/editnewspost=')[1] if '?' in postId: postId = postId.split('?')[0] - postUrl = localActorUrl(httpPrefix, postActor, domainFull) + \ + postUrl = localActorUrl(http_prefix, postActor, domainFull) + \ '/statuses/' + postId path = path.split('/editnewspost=')[0] msg = htmlEditNewsPost(self.server.cssCache, translate, base_dir, path, domain, port, - httpPrefix, + http_prefix, postUrl, self.server.systemLanguage).encode('utf-8') if msg: @@ -13155,14 +13159,14 @@ class PubServer(BaseHTTPRequestHandler): def _getFollowingJson(self, base_dir: str, path: str, callingDomain: str, - httpPrefix: str, + http_prefix: str, domain: str, port: int, followingItemsPerPage: int, debug: bool, listName='following') -> None: """Returns json collection for following.txt """ followingJson = \ - getFollowingFeed(base_dir, domain, port, path, httpPrefix, + getFollowingFeed(base_dir, domain, port, path, http_prefix, True, followingItemsPerPage, listName) if not followingJson: if debug: @@ -13176,7 +13180,7 @@ class PubServer(BaseHTTPRequestHandler): msglen, None, callingDomain, False) self._write(msg) - def _sendBlock(self, httpPrefix: str, + def _sendBlock(self, http_prefix: str, blockerNickname: str, blockerDomainFull: str, blockingNickname: str, blockingDomainFull: str) -> bool: if blockerDomainFull == blockingDomainFull: @@ -13184,12 +13188,12 @@ class PubServer(BaseHTTPRequestHandler): # don't block self return False blockActor = \ - localActorUrl(httpPrefix, blockerNickname, blockerDomainFull) + localActorUrl(http_prefix, blockerNickname, blockerDomainFull) toUrl = 'https://www.w3.org/ns/activitystreams#Public' ccUrl = blockActor + '/followers' blockedUrl = \ - httpPrefix + '://' + blockingDomainFull + \ + http_prefix + '://' + blockingDomainFull + \ '/@' + blockingNickname blockJson = { "@context": "https://www.w3.org/ns/activitystreams", @@ -13317,7 +13321,7 @@ class PubServer(BaseHTTPRequestHandler): htmlLogin(self.server.cssCache, self.server.translate, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domainFull, self.server.systemLanguage, False).encode('utf-8') @@ -13338,7 +13342,7 @@ class PubServer(BaseHTTPRequestHandler): '/users/news', None, callingDomain) else: - self._logout_redirect(self.server.httpPrefix + + self._logout_redirect(self.server.http_prefix + '://' + self.server.domainFull + '/users/news', @@ -13374,7 +13378,7 @@ class PubServer(BaseHTTPRequestHandler): self.path = '/users/inbox' if self._showInstanceActor(callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -13504,12 +13508,12 @@ class PubServer(BaseHTTPRequestHandler): print('Catalog for the instance') catalogJson = \ sharesCatalogEndpoint(self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domainFull, self.path, 'shares') else: domainFull = self.server.domainFull - httpPrefix = self.server.httpPrefix + http_prefix = self.server.http_prefix nickname = self.path.split('/users/')[1] if '/' in nickname: nickname = nickname.split('/')[0] @@ -13517,7 +13521,7 @@ class PubServer(BaseHTTPRequestHandler): print('Catalog for account: ' + nickname) catalogJson = \ sharesCatalogAccountEndpoint(self.server.base_dir, - httpPrefix, + http_prefix, nickname, self.server.domain, domainFull, @@ -13535,7 +13539,7 @@ class PubServer(BaseHTTPRequestHandler): # catalog as a CSV file for import into a spreadsheet msg = \ sharesCatalogCSVEndpoint(self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domainFull, self.path, 'shares').encode('utf-8') @@ -13597,12 +13601,12 @@ class PubServer(BaseHTTPRequestHandler): print('Wanted catalog for the instance') catalogJson = \ sharesCatalogEndpoint(self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domainFull, self.path, 'wanted') else: domainFull = self.server.domainFull - httpPrefix = self.server.httpPrefix + http_prefix = self.server.http_prefix nickname = self.path.split('/users/')[1] if '/' in nickname: nickname = nickname.split('/')[0] @@ -13610,7 +13614,7 @@ class PubServer(BaseHTTPRequestHandler): print('Wanted catalog for account: ' + nickname) catalogJson = \ sharesCatalogAccountEndpoint(self.server.base_dir, - httpPrefix, + http_prefix, nickname, self.server.domain, domainFull, @@ -13628,7 +13632,7 @@ class PubServer(BaseHTTPRequestHandler): # catalog as a CSV file for import into a spreadsheet msg = \ sharesCatalogCSVEndpoint(self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domainFull, self.path, 'wanted').encode('utf-8') @@ -13645,7 +13649,7 @@ class PubServer(BaseHTTPRequestHandler): # minimal mastodon api if self._mastoApi(self.path, callingDomain, uaStr, authorized, - self.server.httpPrefix, + self.server.http_prefix, self.server.base_dir, self.authorizedNickname, self.server.domain, @@ -13759,7 +13763,7 @@ class PubServer(BaseHTTPRequestHandler): self._getHashtagCategoriesFeed(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.port, self.server.proxyType, @@ -13771,7 +13775,7 @@ class PubServer(BaseHTTPRequestHandler): self._getNewswireFeed(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.port, self.server.proxyType, @@ -13786,7 +13790,7 @@ class PubServer(BaseHTTPRequestHandler): self._getRSS2feed(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.port, self.server.proxyType, @@ -13796,7 +13800,7 @@ class PubServer(BaseHTTPRequestHandler): self._getRSS2site(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domainFull, self.server.port, self.server.proxyType, @@ -13815,7 +13819,7 @@ class PubServer(BaseHTTPRequestHandler): self._getRSS3feed(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.port, self.server.proxyType, @@ -13833,7 +13837,7 @@ class PubServer(BaseHTTPRequestHandler): self._getFollowingJson(self.server.base_dir, self.path, callingDomain, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.port, self.server.followingItemsPerPage, @@ -13843,7 +13847,7 @@ class PubServer(BaseHTTPRequestHandler): self._getFollowingJson(self.server.base_dir, self.path, callingDomain, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.port, self.server.followingItemsPerPage, @@ -13853,7 +13857,7 @@ class PubServer(BaseHTTPRequestHandler): self._getFollowingJson(self.server.base_dir, self.path, callingDomain, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.port, self.server.followingItemsPerPage, @@ -13910,7 +13914,7 @@ class PubServer(BaseHTTPRequestHandler): nickname = nickname.split('/')[0] pinnedPostJson = \ getPinnedPostAsJson(self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, nickname, self.server.domain, self.server.domainFull, self.server.systemLanguage) @@ -13918,7 +13922,7 @@ class PubServer(BaseHTTPRequestHandler): if pinnedPostJson: postId = removeIdEnding(pinnedPostJson['id']) messageJson = \ - outboxMessageCreateWrap(self.server.httpPrefix, + outboxMessageCreateWrap(self.server.http_prefix, nickname, self.server.domain, self.server.port, @@ -13944,7 +13948,7 @@ class PubServer(BaseHTTPRequestHandler): self._getFeaturedCollection(callingDomain, self.server.base_dir, self.path, - self.server.httpPrefix, + self.server.http_prefix, nickname, self.server.domain, self.server.domainFull, self.server.systemLanguage) @@ -13954,7 +13958,7 @@ class PubServer(BaseHTTPRequestHandler): usersInPath and self.path.endswith('/collections/featuredTags'): self._getFeaturedTagsCollection(callingDomain, self.path, - self.server.httpPrefix, + self.server.http_prefix, self.server.domainFull) return @@ -14012,7 +14016,7 @@ class PubServer(BaseHTTPRequestHandler): msg = htmlBlogView(authorized, self.server.session, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.translate, self.server.domain, self.server.port, @@ -14045,7 +14049,7 @@ class PubServer(BaseHTTPRequestHandler): if self._showBlogPage(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -14068,7 +14072,7 @@ class PubServer(BaseHTTPRequestHandler): nickname, self.server.domain, self.server.domainFull, - self.server.httpPrefix) + self.server.http_prefix) msg = json.dumps(devJson, ensure_ascii=False).encode('utf-8') msglen = len(msg) @@ -14090,7 +14094,7 @@ class PubServer(BaseHTTPRequestHandler): if '?options=' in self.path: self._showPersonOptions(callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, GETstartTime, @@ -14106,7 +14110,7 @@ class PubServer(BaseHTTPRequestHandler): # show blog post blogFilename, nickname = \ pathContainsBlogLink(self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.path) @@ -14116,7 +14120,7 @@ class PubServer(BaseHTTPRequestHandler): msg = htmlBlogPost(self.server.session, authorized, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.translate, nickname, self.server.domain, self.server.domainFull, @@ -14159,7 +14163,7 @@ class PubServer(BaseHTTPRequestHandler): msg = \ htmlShowShare(self.server.base_dir, self.server.domain, nickname, - self.server.httpPrefix, self.server.domainFull, + self.server.http_prefix, self.server.domainFull, itemID, self.server.translate, self.server.sharedItemsFederatedDomains, self.server.defaultTimeline, @@ -14198,7 +14202,7 @@ class PubServer(BaseHTTPRequestHandler): msg = \ htmlShowShare(self.server.base_dir, self.server.domain, nickname, - self.server.httpPrefix, self.server.domainFull, + self.server.http_prefix, self.server.domainFull, itemID, self.server.translate, self.server.sharedItemsFederatedDomains, self.server.defaultTimeline, @@ -14229,7 +14233,7 @@ class PubServer(BaseHTTPRequestHandler): itemID = urllib.parse.unquote_plus(itemID.strip()) usersPath = self.path.split('?rmshare=')[0] actor = \ - self.server.httpPrefix + '://' + \ + self.server.http_prefix + '://' + \ self.server.domainFull + usersPath msg = htmlConfirmRemoveSharedItem(self.server.cssCache, self.server.translate, @@ -14262,7 +14266,7 @@ class PubServer(BaseHTTPRequestHandler): itemID = urllib.parse.unquote_plus(itemID.strip()) usersPath = self.path.split('?rmwanted=')[0] actor = \ - self.server.httpPrefix + '://' + \ + self.server.http_prefix + '://' + \ self.server.domainFull + usersPath msg = htmlConfirmRemoveSharedItem(self.server.cssCache, self.server.translate, @@ -14307,7 +14311,7 @@ class PubServer(BaseHTTPRequestHandler): else: msg = htmlTermsOfService(self.server.cssCache, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domainFull) msg = msg.encode('utf-8') msglen = len(msg) @@ -14365,7 +14369,7 @@ class PubServer(BaseHTTPRequestHandler): msg = \ htmlAbout(self.server.cssCache, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domainFull, self.server.onionDomain, self.server.translate, @@ -14475,7 +14479,7 @@ class PubServer(BaseHTTPRequestHandler): msg = \ htmlWelcomeProfile(self.server.base_dir, nickname, self.server.domain, - self.server.httpPrefix, + self.server.http_prefix, self.server.domainFull, self.server.systemLanguage, self.server.translate, @@ -14503,7 +14507,7 @@ class PubServer(BaseHTTPRequestHandler): msg = \ htmlWelcomeFinal(self.server.base_dir, nickname, self.server.domain, - self.server.httpPrefix, + self.server.http_prefix, self.server.domainFull, self.server.systemLanguage, self.server.translate, @@ -14526,7 +14530,7 @@ class PubServer(BaseHTTPRequestHandler): self.path != '/users/news/linksmobile' and \ self.path != '/users/news/newswiremobile': if self._redirectToLoginScreen(callingDomain, self.path, - self.server.httpPrefix, + self.server.http_prefix, self.server.domainFull, self.server.onionDomain, self.server.i2pDomain, @@ -14872,7 +14876,7 @@ class PubServer(BaseHTTPRequestHandler): msg = htmlLogin(self.server.cssCache, self.server.translate, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domainFull, self.server.systemLanguage, True).encode('utf-8') @@ -14902,7 +14906,7 @@ class PubServer(BaseHTTPRequestHandler): '/users/news', None, callingDomain) else: - self._logout_redirect(self.server.httpPrefix + + self._logout_redirect(self.server.http_prefix + '://' + self.server.domainFull + '/users/news', @@ -14943,7 +14947,7 @@ class PubServer(BaseHTTPRequestHandler): nickname, self.server.domain, self.server.domainFull, - self.server.httpPrefix, + self.server.http_prefix, self.server.translate, self.server.newswire, self.server.positiveVoting, @@ -14985,7 +14989,7 @@ class PubServer(BaseHTTPRequestHandler): msg = htmlLinksMobile(self.server.cssCache, self.server.base_dir, nickname, self.server.domainFull, - self.server.httpPrefix, + self.server.http_prefix, self.server.translate, timelinePath, authorized, @@ -15009,7 +15013,7 @@ class PubServer(BaseHTTPRequestHandler): self._hashtagSearchRSS2(callingDomain, self.path, cookie, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -15021,7 +15025,7 @@ class PubServer(BaseHTTPRequestHandler): self._hashtagSearch(callingDomain, self.path, cookie, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -15131,7 +15135,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.cssCache, self.server.translate, self.server.base_dir, self.path, - self.server.httpPrefix, + self.server.http_prefix, self.server.domainFull, self.server.textModeBanner, accessKeys).encode('utf-8') @@ -15156,7 +15160,7 @@ class PubServer(BaseHTTPRequestHandler): '?eventid=' in self.path: if self._confirmDeleteEvent(callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, cookie, self.server.translate, self.server.domainFull, @@ -15201,7 +15205,7 @@ class PubServer(BaseHTTPRequestHandler): self._announceButton(callingDomain, self.path, self.server.base_dir, cookie, self.server.proxyType, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -15225,7 +15229,7 @@ class PubServer(BaseHTTPRequestHandler): self._undoAnnounceButton(callingDomain, self.path, self.server.base_dir, cookie, self.server.proxyType, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -15248,7 +15252,7 @@ class PubServer(BaseHTTPRequestHandler): self._newswireVote(callingDomain, self.path, cookie, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -15267,7 +15271,7 @@ class PubServer(BaseHTTPRequestHandler): self._newswireUnvote(callingDomain, self.path, cookie, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -15286,7 +15290,7 @@ class PubServer(BaseHTTPRequestHandler): self._followApproveButton(callingDomain, self.path, cookie, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -15308,7 +15312,7 @@ class PubServer(BaseHTTPRequestHandler): self._followDenyButton(callingDomain, self.path, cookie, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -15328,7 +15332,7 @@ class PubServer(BaseHTTPRequestHandler): if authorized and htmlGET and '?like=' in self.path: self._likeButton(callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.onionDomain, @@ -15348,7 +15352,7 @@ class PubServer(BaseHTTPRequestHandler): if authorized and htmlGET and '?unlike=' in self.path: self._undoLikeButton(callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.onionDomain, @@ -15369,7 +15373,7 @@ class PubServer(BaseHTTPRequestHandler): '?actor=' in self.path: self._reactionButton(callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.onionDomain, @@ -15391,7 +15395,7 @@ class PubServer(BaseHTTPRequestHandler): '?actor=' in self.path: self._undoReactionButton(callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.onionDomain, @@ -15410,7 +15414,7 @@ class PubServer(BaseHTTPRequestHandler): if authorized and htmlGET and '?bookmark=' in self.path: self._bookmarkButton(callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -15430,7 +15434,7 @@ class PubServer(BaseHTTPRequestHandler): if authorized and htmlGET and '?selreact=' in self.path: self._reactionPicker(callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -15450,7 +15454,7 @@ class PubServer(BaseHTTPRequestHandler): if authorized and htmlGET and '?unbookmark=' in self.path: self._undoBookmarkButton(callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -15470,7 +15474,7 @@ class PubServer(BaseHTTPRequestHandler): if authorized and htmlGET and '?delete=' in self.path: self._deleteButton(callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -15490,7 +15494,7 @@ class PubServer(BaseHTTPRequestHandler): if authorized and htmlGET and '?mute=' in self.path: self._muteButton(callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -15510,7 +15514,7 @@ class PubServer(BaseHTTPRequestHandler): if authorized and htmlGET and '?unmute=' in self.path: self._undoMuteButton(callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -15641,13 +15645,13 @@ class PubServer(BaseHTTPRequestHandler): nickname = getNicknameFromActor(self.path.split('?')[0]) if nickname == actor: postUrl = \ - localActorUrl(self.server.httpPrefix, nickname, + localActorUrl(self.server.http_prefix, nickname, self.server.domainFull) + \ '/statuses/' + messageId msg = htmlEditBlog(self.server.mediaInstance, self.server.translate, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.path, replyPageNumber, nickname, self.server.domain, @@ -15672,7 +15676,7 @@ class PubServer(BaseHTTPRequestHandler): if self._editProfile(callingDomain, self.path, self.server.translate, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.port, cookie): @@ -15683,7 +15687,7 @@ class PubServer(BaseHTTPRequestHandler): if self._editLinks(callingDomain, self.path, self.server.translate, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.port, cookie, @@ -15695,7 +15699,7 @@ class PubServer(BaseHTTPRequestHandler): if self._editNewswire(callingDomain, self.path, self.server.translate, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.port, cookie): @@ -15706,7 +15710,7 @@ class PubServer(BaseHTTPRequestHandler): if self._editNewsPost(callingDomain, self.path, self.server.translate, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.port, self.server.domainFull, @@ -15718,7 +15722,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.mediaInstance, self.server.translate, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, inReplyToUrl, replyToList, shareDescription, replyPageNumber, replyCategory, @@ -15737,7 +15741,7 @@ class PubServer(BaseHTTPRequestHandler): if self._showIndividualAtPost(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -15758,7 +15762,7 @@ class PubServer(BaseHTTPRequestHandler): if self._showRepliesToPost(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -15779,7 +15783,7 @@ class PubServer(BaseHTTPRequestHandler): if self._showRoles(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -15800,7 +15804,7 @@ class PubServer(BaseHTTPRequestHandler): if self._showSkills(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -15820,7 +15824,7 @@ class PubServer(BaseHTTPRequestHandler): if self._showNotifyPost(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -15838,7 +15842,7 @@ class PubServer(BaseHTTPRequestHandler): if self._showIndividualPost(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -15859,7 +15863,7 @@ class PubServer(BaseHTTPRequestHandler): if self._showInbox(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -15891,7 +15895,7 @@ class PubServer(BaseHTTPRequestHandler): if self._showDMs(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -15912,7 +15916,7 @@ class PubServer(BaseHTTPRequestHandler): if self._showReplies(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -15933,7 +15937,7 @@ class PubServer(BaseHTTPRequestHandler): if self._showMediaTimeline(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -15954,7 +15958,7 @@ class PubServer(BaseHTTPRequestHandler): if self._showBlogsTimeline(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -15975,7 +15979,7 @@ class PubServer(BaseHTTPRequestHandler): if self._showNewsTimeline(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -15993,7 +15997,7 @@ class PubServer(BaseHTTPRequestHandler): if self._showFeaturesTimeline(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -16014,7 +16018,7 @@ class PubServer(BaseHTTPRequestHandler): if self._showSharesTimeline(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -16031,7 +16035,7 @@ class PubServer(BaseHTTPRequestHandler): if self._showWantedTimeline(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -16070,7 +16074,7 @@ class PubServer(BaseHTTPRequestHandler): htmlAccountInfo(self.server.cssCache, self.server.translate, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, nickname, self.server.domain, self.server.port, @@ -16107,7 +16111,7 @@ class PubServer(BaseHTTPRequestHandler): htmlAccountInfo(self.server.cssCache, self.server.translate, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, nickname, self.server.domain, self.server.port, @@ -16131,7 +16135,7 @@ class PubServer(BaseHTTPRequestHandler): if self._showBookmarksTimeline(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -16153,7 +16157,7 @@ class PubServer(BaseHTTPRequestHandler): if self._showOutboxTimeline(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -16175,7 +16179,7 @@ class PubServer(BaseHTTPRequestHandler): if self._showModTimeline(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -16194,7 +16198,7 @@ class PubServer(BaseHTTPRequestHandler): if self._showSharesFeed(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -16213,7 +16217,7 @@ class PubServer(BaseHTTPRequestHandler): if self._showFollowingFeed(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -16232,7 +16236,7 @@ class PubServer(BaseHTTPRequestHandler): if self._showFollowersFeed(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -16252,7 +16256,7 @@ class PubServer(BaseHTTPRequestHandler): if self._showPersonProfile(authorized, callingDomain, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -16576,7 +16580,7 @@ class PubServer(BaseHTTPRequestHandler): nickname, self.server.domain, self.server.port, - self.server.httpPrefix, + self.server.http_prefix, mentionsStr + fields['message'], False, False, False, commentsEnabled, filename, attachmentMediaType, @@ -16606,7 +16610,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.projectVersion, nickname): populateReplies(self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domainFull, messageJson, self.server.maxReplies, @@ -16621,7 +16625,7 @@ class PubServer(BaseHTTPRequestHandler): htmlCitations(self.server.base_dir, nickname, self.server.domain, - self.server.httpPrefix, + self.server.http_prefix, self.server.defaultTimeline, self.server.translate, self.server.newswire, @@ -16658,7 +16662,7 @@ class PubServer(BaseHTTPRequestHandler): messageJson = \ createBlogPost(self.server.base_dir, nickname, self.server.domain, self.server.port, - self.server.httpPrefix, + self.server.http_prefix, fields['message'], followersOnly, saveToFile, clientToServer, commentsEnabled, @@ -16683,7 +16687,7 @@ class PubServer(BaseHTTPRequestHandler): nickname): refreshNewswire(self.server.base_dir) populateReplies(self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domainFull, messageJson, self.server.maxReplies, @@ -16723,7 +16727,7 @@ class PubServer(BaseHTTPRequestHandler): mentionedRecipients = [] fields['message'] = \ addHtmlTags(self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, nickname, self.server.domain, fields['message'], mentionedRecipients, @@ -16756,7 +16760,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.domain) postJsonObject['object'] = \ attachMedia(self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, nickname, self.server.domain, self.server.port, @@ -16808,7 +16812,7 @@ class PubServer(BaseHTTPRequestHandler): createUnlistedPost(self.server.base_dir, nickname, self.server.domain, self.server.port, - self.server.httpPrefix, + self.server.http_prefix, mentionsStr + fields['message'], followersOnly, saveToFile, clientToServer, commentsEnabled, @@ -16833,7 +16837,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.projectVersion, nickname): populateReplies(self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, messageJson, self.server.maxReplies, @@ -16859,7 +16863,7 @@ class PubServer(BaseHTTPRequestHandler): nickname, self.server.domain, self.server.port, - self.server.httpPrefix, + self.server.http_prefix, mentionsStr + fields['message'], followersOnly, saveToFile, clientToServer, @@ -16885,7 +16889,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.projectVersion, nickname): populateReplies(self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, messageJson, self.server.maxReplies, @@ -16914,7 +16918,7 @@ class PubServer(BaseHTTPRequestHandler): nickname, self.server.domain, self.server.port, - self.server.httpPrefix, + self.server.http_prefix, mentionsStr + fields['message'], followersOnly, saveToFile, @@ -16943,7 +16947,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.projectVersion, nickname): populateReplies(self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, messageJson, self.server.maxReplies, @@ -16971,7 +16975,7 @@ class PubServer(BaseHTTPRequestHandler): nickname, self.server.domain, self.server.port, - self.server.httpPrefix, + self.server.http_prefix, mentionsStr + fields['message'], followersOnly, saveToFile, clientToServer, commentsEnabled, @@ -17015,7 +17019,7 @@ class PubServer(BaseHTTPRequestHandler): createReportPost(self.server.base_dir, nickname, self.server.domain, self.server.port, - self.server.httpPrefix, + self.server.http_prefix, mentionsStr + fields['message'], True, False, False, True, filename, attachmentMediaType, @@ -17055,7 +17059,7 @@ class PubServer(BaseHTTPRequestHandler): nickname, self.server.domain, self.server.port, - self.server.httpPrefix, + self.server.http_prefix, fields['message'], qOptions, False, False, False, commentsEnabled, @@ -17124,7 +17128,7 @@ class PubServer(BaseHTTPRequestHandler): print('Adding wanted item') sharesFileType = 'wanted' addShare(self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, nickname, self.server.domain, self.server.port, fields['subject'], @@ -17519,7 +17523,7 @@ class PubServer(BaseHTTPRequestHandler): # login screen if self.path.startswith('/login'): self._loginScreen(self.path, callingDomain, cookie, - self.server.base_dir, self.server.httpPrefix, + self.server.base_dir, self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, self.server.onionDomain, self.server.i2pDomain, @@ -17535,7 +17539,7 @@ class PubServer(BaseHTTPRequestHandler): self._setHashtagCategory(callingDomain, cookie, authorized, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.onionDomain, @@ -17550,7 +17554,7 @@ class PubServer(BaseHTTPRequestHandler): # after selecting Edit button then Submit if authorized and self.path.endswith('/profiledata'): self._profileUpdate(callingDomain, cookie, authorized, self.path, - self.server.base_dir, self.server.httpPrefix, + self.server.base_dir, self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.onionDomain, @@ -17563,7 +17567,7 @@ class PubServer(BaseHTTPRequestHandler): if authorized and self.path.endswith('/linksdata'): self._linksUpdate(callingDomain, cookie, authorized, self.path, - self.server.base_dir, self.server.httpPrefix, + self.server.base_dir, self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.onionDomain, @@ -17575,7 +17579,7 @@ class PubServer(BaseHTTPRequestHandler): if authorized and self.path.endswith('/newswiredata'): self._newswireUpdate(callingDomain, cookie, authorized, self.path, - self.server.base_dir, self.server.httpPrefix, + self.server.base_dir, self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.onionDomain, @@ -17586,7 +17590,8 @@ class PubServer(BaseHTTPRequestHandler): if authorized and self.path.endswith('/citationsdata'): self._citationsUpdate(callingDomain, cookie, authorized, self.path, - self.server.base_dir, self.server.httpPrefix, + self.server.base_dir, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.onionDomain, @@ -17598,7 +17603,7 @@ class PubServer(BaseHTTPRequestHandler): if authorized and self.path.endswith('/newseditdata'): self._newsPostEdit(callingDomain, cookie, authorized, self.path, - self.server.base_dir, self.server.httpPrefix, + self.server.base_dir, self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.onionDomain, @@ -17620,7 +17625,7 @@ class PubServer(BaseHTTPRequestHandler): self.path.endswith('/moderationaction'): self._moderatorActions(self.path, callingDomain, cookie, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -17654,7 +17659,7 @@ class PubServer(BaseHTTPRequestHandler): self._receiveSearchQuery(callingDomain, cookie, authorized, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -17684,7 +17689,7 @@ class PubServer(BaseHTTPRequestHandler): self._receiveVote(callingDomain, cookie, authorized, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.onionDomain, @@ -17698,7 +17703,7 @@ class PubServer(BaseHTTPRequestHandler): self._removeShare(callingDomain, cookie, authorized, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.onionDomain, @@ -17712,7 +17717,7 @@ class PubServer(BaseHTTPRequestHandler): self._removeWanted(callingDomain, cookie, authorized, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.onionDomain, @@ -17737,7 +17742,7 @@ class PubServer(BaseHTTPRequestHandler): self._removePost(callingDomain, cookie, authorized, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.onionDomain, @@ -17755,7 +17760,7 @@ class PubServer(BaseHTTPRequestHandler): self._followConfirm(callingDomain, cookie, authorized, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -17774,7 +17779,7 @@ class PubServer(BaseHTTPRequestHandler): self._unfollowConfirm(callingDomain, cookie, authorized, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -17793,7 +17798,7 @@ class PubServer(BaseHTTPRequestHandler): self._unblockConfirm(callingDomain, cookie, authorized, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -17812,7 +17817,7 @@ class PubServer(BaseHTTPRequestHandler): self._blockConfirm(callingDomain, cookie, authorized, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -17832,7 +17837,7 @@ class PubServer(BaseHTTPRequestHandler): self._personOptions(self.path, callingDomain, cookie, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.port, @@ -17857,7 +17862,7 @@ class PubServer(BaseHTTPRequestHandler): self._keyShortcuts(self.path, callingDomain, cookie, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, nickname, self.server.domain, self.server.domainFull, @@ -17885,7 +17890,7 @@ class PubServer(BaseHTTPRequestHandler): self._themeDesigner(self.path, callingDomain, cookie, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, nickname, self.server.domain, self.server.domainFull, @@ -17995,7 +18000,7 @@ class PubServer(BaseHTTPRequestHandler): callingDomain) else: actorPathStr = \ - localActorUrl(self.server.httpPrefix, nickname, + localActorUrl(self.server.http_prefix, nickname, self.server.domainFull) + \ '/' + postRedirect + '?page=' + str(pageNumber) self._redirect_headers(actorPathStr, cookie, @@ -18066,7 +18071,7 @@ class PubServer(BaseHTTPRequestHandler): self._receiveImage(length, callingDomain, cookie, authorized, self.path, self.server.base_dir, - self.server.httpPrefix, + self.server.http_prefix, self.server.domain, self.server.domainFull, self.server.onionDomain, @@ -18426,7 +18431,7 @@ def runDaemon(contentLicenseUrl: str, YTReplacementDomain: str, twitterReplacementDomain: str, port: int = 80, proxyPort: int = 80, - httpPrefix: str = 'https', + http_prefix: str = 'https', fedList: [] = [], maxMentions: int = 10, maxEmoji: int = 10, secureMode: bool = False, @@ -18683,8 +18688,8 @@ def runDaemon(contentLicenseUrl: str, httpd.domain = domain httpd.port = port httpd.domainFull = getFullDomain(domain, port) - saveDomainQrcode(base_dir, httpPrefix, httpd.domainFull) - httpd.httpPrefix = httpPrefix + saveDomainQrcode(base_dir, http_prefix, httpd.domainFull) + httpd.http_prefix = http_prefix httpd.debug = debug httpd.federationList = fedList.copy() httpd.sharedItemsFederatedDomains = sharedItemsFederatedDomains.copy() @@ -18733,18 +18738,18 @@ def runDaemon(contentLicenseUrl: str, # get the list of custom emoji, for use by the mastodon api httpd.customEmoji = \ - metadataCustomEmoji(base_dir, httpPrefix, httpd.domainFull) + metadataCustomEmoji(base_dir, http_prefix, httpd.domainFull) # whether to enable broch mode, which locks down the instance setBrochMode(base_dir, httpd.domainFull, brochMode) if not os.path.isdir(base_dir + '/accounts/inbox@' + domain): print('Creating shared inbox: inbox@' + domain) - createSharedInbox(base_dir, 'inbox', domain, port, httpPrefix) + createSharedInbox(base_dir, 'inbox', domain, port, http_prefix) if not os.path.isdir(base_dir + '/accounts/news@' + domain): print('Creating news inbox: news@' + domain) - createNewsInbox(base_dir, domain, port, httpPrefix) + createNewsInbox(base_dir, domain, port, http_prefix) setConfigParam(base_dir, "listsEnabled", "Murdoch press") # dict of known web crawlers accessing nodeinfo or the masto API @@ -18780,7 +18785,7 @@ def runDaemon(contentLicenseUrl: str, setNewsAvatar(base_dir, httpd.themeName, - httpPrefix, + http_prefix, domain, httpd.domainFull) @@ -18815,7 +18820,7 @@ def runDaemon(contentLicenseUrl: str, httpd.thrCache = \ threadWithTrace(target=expireCache, args=(base_dir, httpd.personCache, - httpd.httpPrefix, + httpd.http_prefix, archiveDir, httpd.maxPostsInBox), daemon=True) httpd.thrCache.start() @@ -18865,14 +18870,14 @@ def runDaemon(contentLicenseUrl: str, httpd.peertubeInstances = [] loadPeertubeInstances(base_dir, httpd.peertubeInstances) - createInitialLastSeen(base_dir, httpPrefix) + createInitialLastSeen(base_dir, http_prefix) print('Creating inbox queue') httpd.thrInboxQueue = \ threadWithTrace(target=runInboxQueue, args=(httpd.recentPostsCache, httpd.maxRecentPosts, projectVersion, - base_dir, httpPrefix, httpd.sendThreads, + base_dir, http_prefix, httpd.sendThreads, httpd.postLog, httpd.cachedWebfingers, httpd.personCache, httpd.inboxQueue, domain, onionDomain, i2pDomain, port, proxyType, @@ -18904,14 +18909,14 @@ def runDaemon(contentLicenseUrl: str, httpd.thrNewswireDaemon = \ threadWithTrace(target=runNewswireDaemon, args=(base_dir, httpd, - httpPrefix, domain, port, + http_prefix, domain, port, httpd.translate), daemon=True) print('Creating federated shares thread') httpd.thrFederatedSharesDaemon = \ threadWithTrace(target=runFederatedSharesDaemon, args=(base_dir, httpd, - httpPrefix, httpd.domainFull, + http_prefix, httpd.domainFull, proxyType, debug, httpd.systemLanguage), daemon=True) diff --git a/delete.py b/delete.py index 623293a38..4d3dc9ce9 100644 --- a/delete.py +++ b/delete.py @@ -29,7 +29,7 @@ from posts import getPersonBox def sendDeleteViaServer(base_dir: str, session, fromNickname: str, password: str, fromDomain: str, fromPort: int, - httpPrefix: str, deleteObjectUrl: str, + http_prefix: str, deleteObjectUrl: str, cachedWebfingers: {}, personCache: {}, debug: bool, projectVersion: str, signingPrivateKeyPem: str) -> {}: @@ -41,7 +41,7 @@ def sendDeleteViaServer(base_dir: str, session, fromDomainFull = getFullDomain(fromDomain, fromPort) - actor = localActorUrl(httpPrefix, fromNickname, fromDomainFull) + actor = localActorUrl(http_prefix, fromNickname, fromDomainFull) toUrl = 'https://www.w3.org/ns/activitystreams#Public' ccUrl = actor + '/followers' @@ -54,11 +54,11 @@ def sendDeleteViaServer(base_dir: str, session, 'type': 'Delete' } - handle = httpPrefix + '://' + fromDomainFull + '/@' + fromNickname + handle = http_prefix + '://' + fromDomainFull + '/@' + fromNickname # lookup the inbox for the To handle wfRequest = \ - webfingerHandle(session, handle, httpPrefix, cachedWebfingers, + webfingerHandle(session, handle, http_prefix, cachedWebfingers, fromDomain, projectVersion, debug, False, signingPrivateKeyPem) if not wfRequest: @@ -78,7 +78,7 @@ def sendDeleteViaServer(base_dir: str, session, fromPersonId, sharedInbox, avatarUrl, displayName, _) = getPersonBox(signingPrivateKeyPem, originDomain, base_dir, session, wfRequest, personCache, - projectVersion, httpPrefix, fromNickname, + projectVersion, http_prefix, fromNickname, fromDomain, postToBox, 53036) if not inboxUrl: @@ -99,7 +99,7 @@ def sendDeleteViaServer(base_dir: str, session, 'Authorization': authHeader } postResult = \ - postJson(httpPrefix, fromDomainFull, + postJson(http_prefix, fromDomainFull, session, newDeleteJson, [], inboxUrl, headers, 3, True) if not postResult: if debug: @@ -112,7 +112,7 @@ def sendDeleteViaServer(base_dir: str, session, return newDeleteJson -def outboxDelete(base_dir: str, httpPrefix: str, +def outboxDelete(base_dir: str, http_prefix: str, nickname: str, domain: str, messageJson: {}, debug: bool, allowDeletion: bool, @@ -131,7 +131,7 @@ def outboxDelete(base_dir: str, httpPrefix: str, return if debug: print('DEBUG: c2s delete request arrived in outbox') - deletePrefix = httpPrefix + '://' + domain + deletePrefix = http_prefix + '://' + domain if (not allowDeletion and (not messageJson['object'].startswith(deletePrefix) or not messageJson['actor'].startswith(deletePrefix))): @@ -168,7 +168,7 @@ def outboxDelete(base_dir: str, httpPrefix: str, print('DEBUG: c2s delete post not found in inbox or outbox') print(messageId) return True - deletePost(base_dir, httpPrefix, deleteNickname, deleteDomain, + deletePost(base_dir, http_prefix, deleteNickname, deleteDomain, postFilename, debug, recentPostsCache) if debug: print('DEBUG: post deleted via c2s - ' + postFilename) diff --git a/desktop_client.py b/desktop_client.py index 18d05a636..e66ad1c1c 100644 --- a/desktop_client.py +++ b/desktop_client.py @@ -413,7 +413,7 @@ def _sayCommand(content: str, sayStr: str, screenreader: str, def _desktopReplyToPost(session, postId: str, base_dir: str, nickname: str, password: str, - domain: str, port: int, httpPrefix: str, + domain: str, port: int, http_prefix: str, cachedWebfingers: {}, personCache: {}, debug: bool, subject: str, screenreader: str, systemLanguage: str, @@ -469,7 +469,7 @@ def _desktopReplyToPost(session, postId: str, base_dir, session, nickname, password, domain, port, toNickname, toDomain, toPort, ccUrl, - httpPrefix, replyMessage, followersOnly, + http_prefix, replyMessage, followersOnly, commentsEnabled, attach, mediaType, attachedImageDescription, city, cachedWebfingers, personCache, isArticle, @@ -485,7 +485,7 @@ def _desktopReplyToPost(session, postId: str, def _desktopNewPost(session, base_dir: str, nickname: str, password: str, - domain: str, port: int, httpPrefix: str, + domain: str, port: int, http_prefix: str, cachedWebfingers: {}, personCache: {}, debug: bool, screenreader: str, systemLanguage: str, @@ -536,7 +536,7 @@ def _desktopNewPost(session, base_dir, session, nickname, password, domain, port, None, '#Public', port, ccUrl, - httpPrefix, newMessage, followersOnly, + http_prefix, newMessage, followersOnly, commentsEnabled, attach, mediaType, attachedImageDescription, city, cachedWebfingers, personCache, isArticle, @@ -664,7 +664,7 @@ def _showRepliesOnPost(postJsonObject: {}, maxReplies: int) -> None: def _readLocalBoxPost(session, nickname: str, domain: str, - httpPrefix: str, base_dir: str, boxName: str, + http_prefix: str, base_dir: str, boxName: str, pageNumber: int, index: int, boxJson: {}, systemLanguage: str, screenreader: str, espeak, @@ -701,7 +701,7 @@ def _readLocalBoxPost(session, nickname: str, domain: str, twitterReplacementDomain = None postJsonObject2 = \ downloadAnnounce(session, base_dir, - httpPrefix, + http_prefix, nickname, domain, postJsonObject, __version__, translate, @@ -832,7 +832,7 @@ def _desktopShowActor(base_dir: str, actorJson: {}, translate: {}, def _desktopShowProfile(session, nickname: str, domain: str, - httpPrefix: str, base_dir: str, boxName: str, + http_prefix: str, base_dir: str, boxName: str, pageNumber: int, index: int, boxJson: {}, systemLanguage: str, screenreader: str, espeak, @@ -878,8 +878,8 @@ def _desktopShowProfile(session, nickname: str, domain: str, def _desktopShowProfileFromHandle(session, nickname: str, domain: str, - httpPrefix: str, base_dir: str, boxName: str, - handle: str, + http_prefix: str, base_dir: str, + boxName: str, handle: str, systemLanguage: str, screenreader: str, espeak, translate: {}, yourActor: str, @@ -1125,7 +1125,7 @@ def _desktopShowBox(indent: str, def _desktopNewDM(session, toHandle: str, base_dir: str, nickname: str, password: str, - domain: str, port: int, httpPrefix: str, + domain: str, port: int, http_prefix: str, cachedWebfingers: {}, personCache: {}, debug: bool, screenreader: str, systemLanguage: str, @@ -1148,7 +1148,7 @@ def _desktopNewDM(session, toHandle: str, handle = handle.strip() _desktopNewDMbase(session, handle, base_dir, nickname, password, - domain, port, httpPrefix, + domain, port, http_prefix, cachedWebfingers, personCache, debug, screenreader, systemLanguage, @@ -1159,7 +1159,7 @@ def _desktopNewDM(session, toHandle: str, def _desktopNewDMbase(session, toHandle: str, base_dir: str, nickname: str, password: str, - domain: str, port: int, httpPrefix: str, + domain: str, port: int, http_prefix: str, cachedWebfingers: {}, personCache: {}, debug: bool, screenreader: str, systemLanguage: str, @@ -1250,7 +1250,7 @@ def _desktopNewDMbase(session, toHandle: str, base_dir, session, nickname, password, domain, port, toNickname, toDomain, toPort, ccUrl, - httpPrefix, newMessage, followersOnly, + http_prefix, newMessage, followersOnly, commentsEnabled, attach, mediaType, attachedImageDescription, city, cachedWebfingers, personCache, isArticle, @@ -1312,7 +1312,7 @@ def _desktopShowFollowing(followingJson: {}, translate: {}, handleNickname + '@' + handleDomainFull) -def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, +def runDesktopClient(base_dir: str, proxyType: str, http_prefix: str, nickname: str, domain: str, port: int, password: str, screenreader: str, systemLanguage: str, @@ -1407,7 +1407,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, systemLanguage, espeak) domainFull = getFullDomain(domain, port) - yourActor = localActorUrl(httpPrefix, nickname, domainFull) + yourActor = localActorUrl(http_prefix, nickname, domainFull) actorJson = None notifyJson = { @@ -1430,7 +1430,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, systemLanguage, espeak) pgpPublicKeyUpload(base_dir, session, nickname, password, - domain, port, httpPrefix, + domain, port, http_prefix, cachedWebfingers, personCache, debug, False, signingPrivateKeyPem) @@ -1441,7 +1441,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, boxJson = c2sBoxJson(base_dir, session, nickname, password, - domain, port, httpPrefix, + domain, port, http_prefix, currTimeline, pageNumber, debug, signingPrivateKeyPem) @@ -1449,7 +1449,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, getFollowRequestsViaServer(base_dir, session, nickname, password, domain, port, - httpPrefix, 1, + http_prefix, 1, cachedWebfingers, personCache, debug, __version__, signingPrivateKeyPem) @@ -1458,7 +1458,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, # monitor the inbox to generate notifications inboxJson = c2sBoxJson(base_dir, session, nickname, password, - domain, port, httpPrefix, + domain, port, http_prefix, 'inbox', 1, debug, signingPrivateKeyPem) else: @@ -1535,7 +1535,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, currTimeline = 'dm' boxJson = c2sBoxJson(base_dir, session, nickname, password, - domain, port, httpPrefix, + domain, port, http_prefix, currTimeline, pageNumber, debug, signingPrivateKeyPem) if boxJson: @@ -1552,7 +1552,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, currTimeline = 'tlreplies' boxJson = c2sBoxJson(base_dir, session, nickname, password, - domain, port, httpPrefix, + domain, port, http_prefix, currTimeline, pageNumber, debug, signingPrivateKeyPem) if boxJson: @@ -1570,7 +1570,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, currTimeline = 'tlbookmarks' boxJson = c2sBoxJson(base_dir, session, nickname, password, - domain, port, httpPrefix, + domain, port, http_prefix, currTimeline, pageNumber, debug, signingPrivateKeyPem) if boxJson: @@ -1589,7 +1589,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, currTimeline = 'outbox' boxJson = c2sBoxJson(base_dir, session, nickname, password, - domain, port, httpPrefix, + domain, port, http_prefix, currTimeline, pageNumber, debug, signingPrivateKeyPem) if boxJson: @@ -1616,7 +1616,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, prevTimelineFirstId = '' boxJson = c2sBoxJson(base_dir, session, nickname, password, - domain, port, httpPrefix, + domain, port, http_prefix, currTimeline, pageNumber, debug, signingPrivateKeyPem) if boxJson: @@ -1637,7 +1637,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, postIndex = int(postIndexStr) postJsonObject = \ _readLocalBoxPost(session, nickname, domain, - httpPrefix, base_dir, currTimeline, + http_prefix, base_dir, currTimeline, pageNumber, postIndex, boxJson, systemLanguage, screenreader, espeak, translate, yourActor, @@ -1659,7 +1659,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, if postJsonObject: actorJson = \ _desktopShowProfile(session, nickname, domain, - httpPrefix, base_dir, + http_prefix, base_dir, currTimeline, pageNumber, postIndex, boxJson, @@ -1677,7 +1677,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, _desktopClearScreen() _desktopShowBanner() _desktopShowProfileFromHandle(session, nickname, domain, - httpPrefix, base_dir, + http_prefix, base_dir, currTimeline, profileHandle, systemLanguage, screenreader, espeak, translate, yourActor, @@ -1695,8 +1695,10 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, postIndex = int(postIndexStr) actorJson = \ _desktopShowProfile(session, nickname, domain, - httpPrefix, base_dir, currTimeline, - pageNumber, postIndex, boxJson, + http_prefix, base_dir, + currTimeline, + pageNumber, postIndex, + boxJson, systemLanguage, screenreader, espeak, translate, yourActor, None, signingPrivateKeyPem) @@ -1722,7 +1724,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, sessionReply = createSession(proxyType) _desktopReplyToPost(sessionReply, postId, base_dir, nickname, password, - domain, port, httpPrefix, + domain, port, http_prefix, cachedWebfingers, personCache, debug, subject, screenreader, systemLanguage, @@ -1759,7 +1761,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, if toHandle: _desktopNewDM(sessionPost, toHandle, base_dir, nickname, password, - domain, port, httpPrefix, + domain, port, http_prefix, cachedWebfingers, personCache, debug, screenreader, systemLanguage, @@ -1771,7 +1773,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, # public post _desktopNewPost(sessionPost, base_dir, nickname, password, - domain, port, httpPrefix, + domain, port, http_prefix, cachedWebfingers, personCache, debug, screenreader, systemLanguage, @@ -1800,7 +1802,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, sessionLike = createSession(proxyType) sendLikeViaServer(base_dir, sessionLike, nickname, password, - domain, port, httpPrefix, + domain, port, http_prefix, postJsonObject['id'], cachedWebfingers, personCache, False, __version__, @@ -1840,8 +1842,10 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, sendUndoMuteViaServer(base_dir, sessionMute, nickname, password, domain, port, - httpPrefix, postJsonObject['id'], - cachedWebfingers, personCache, + http_prefix, + postJsonObject['id'], + cachedWebfingers, + personCache, False, __version__, signingPrivateKeyPem) refreshTimeline = True @@ -1870,7 +1874,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, sendMuteViaServer(base_dir, sessionMute, nickname, password, domain, port, - httpPrefix, postJsonObject['id'], + http_prefix, postJsonObject['id'], cachedWebfingers, personCache, False, __version__, signingPrivateKeyPem) @@ -1910,7 +1914,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, sessionbm = createSession(proxyType) sendUndoBookmarkViaServer(base_dir, sessionbm, nickname, password, - domain, port, httpPrefix, + domain, port, http_prefix, postJsonObject['id'], cachedWebfingers, personCache, @@ -1941,7 +1945,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, sessionbm = createSession(proxyType) sendBookmarkViaServer(base_dir, sessionbm, nickname, password, - domain, port, httpPrefix, + domain, port, http_prefix, postJsonObject['id'], cachedWebfingers, personCache, False, __version__, @@ -1976,7 +1980,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, sendUndoBlockViaServer(base_dir, sessionBlock, nickname, password, domain, port, - httpPrefix, + http_prefix, blockActor, cachedWebfingers, personCache, @@ -2000,7 +2004,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, blockDomain = blockHandle.split('@')[1] blockNickname = blockHandle.split('@')[0] blockActor = \ - localActorUrl(httpPrefix, + localActorUrl(http_prefix, blockNickname, blockDomain) if currIndex > 0 and boxJson and not blockActor: postJsonObject = \ @@ -2022,7 +2026,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, sendBlockViaServer(base_dir, sessionBlock, nickname, password, domain, port, - httpPrefix, + http_prefix, blockActor, cachedWebfingers, personCache, @@ -2051,7 +2055,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, sessionUnlike = createSession(proxyType) sendUndoLikeViaServer(base_dir, sessionUnlike, nickname, password, - domain, port, httpPrefix, + domain, port, http_prefix, postJsonObject['id'], cachedWebfingers, personCache, False, __version__, @@ -2083,7 +2087,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, sendAnnounceViaServer(base_dir, sessionAnnounce, nickname, password, domain, port, - httpPrefix, postId, + http_prefix, postId, cachedWebfingers, personCache, True, __version__, signingPrivateKeyPem) @@ -2117,7 +2121,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, postJsonObject, nickname, password, domain, port, - httpPrefix, postId, + http_prefix, postId, cachedWebfingers, personCache, True, __version__, @@ -2135,7 +2139,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, getFollowRequestsViaServer(base_dir, session, nickname, password, domain, port, - httpPrefix, currPage, + http_prefix, currPage, cachedWebfingers, personCache, debug, __version__, signingPrivateKeyPem) @@ -2155,7 +2159,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, getFollowingViaServer(base_dir, session, nickname, password, domain, port, - httpPrefix, currPage, + http_prefix, currPage, cachedWebfingers, personCache, debug, __version__, signingPrivateKeyPem) @@ -2176,7 +2180,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, getFollowersViaServer(base_dir, session, nickname, password, domain, port, - httpPrefix, currPage, + http_prefix, currPage, cachedWebfingers, personCache, debug, __version__, signingPrivateKeyPem) @@ -2215,7 +2219,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, followNickname, followDomain, followPort, - httpPrefix, + http_prefix, cachedWebfingers, personCache, debug, __version__, @@ -2250,7 +2254,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, followNickname, followDomain, followPort, - httpPrefix, + http_prefix, cachedWebfingers, personCache, debug, __version__, @@ -2278,7 +2282,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, approveFollowRequestViaServer(base_dir, sessionApprove, nickname, password, domain, port, - httpPrefix, + http_prefix, approveHandle, cachedWebfingers, personCache, @@ -2311,7 +2315,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, denyFollowRequestViaServer(base_dir, sessionDeny, nickname, password, domain, port, - httpPrefix, + http_prefix, denyHandle, cachedWebfingers, personCache, @@ -2395,7 +2399,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, twitterReplacementDomain = None postJsonObject2 = \ downloadAnnounce(session, base_dir, - httpPrefix, + http_prefix, nickname, domain, postJsonObject, __version__, translate, @@ -2484,7 +2488,7 @@ def runDesktopClient(base_dir: str, proxyType: str, httpPrefix: str, sendDeleteViaServer(base_dir, sessionrm, nickname, password, domain, port, - httpPrefix, + http_prefix, postJsonObject['id'], cachedWebfingers, personCache, diff --git a/devices.py b/devices.py index 513b85514..5a326dc15 100644 --- a/devices.py +++ b/devices.py @@ -140,13 +140,13 @@ def E2EEaddDevice(base_dir: str, nickname: str, domain: str, def E2EEdevicesCollection(base_dir: str, nickname: str, domain: str, - domainFull: str, httpPrefix: str) -> {}: + domainFull: str, http_prefix: str) -> {}: """Returns a list of registered devices """ personDir = acctDir(base_dir, nickname, domain) if not os.path.isdir(personDir): return {} - personId = localActorUrl(httpPrefix, nickname, domainFull) + personId = localActorUrl(http_prefix, nickname, domainFull) if not os.path.isdir(personDir + '/devices'): os.mkdir(personDir + '/devices') deviceList = [] diff --git a/epicyon.py b/epicyon.py index b089bf349..6d1ed4a85 100644 --- a/epicyon.py +++ b/epicyon.py @@ -673,11 +673,11 @@ if args.testsnetwork: print('All tests succeeded') sys.exit() -httpPrefix = 'https' +http_prefix = 'https' if args.http or args.i2p: - httpPrefix = 'http' + http_prefix = 'http' elif args.gnunet: - httpPrefix = 'gnunet' + http_prefix = 'gnunet' base_dir = args.base_dir if base_dir.endswith('/'): @@ -727,7 +727,7 @@ if args.posts: args.language = 'en' signingPrivateKeyPem = getInstanceActorKey(base_dir, originDomain) getPublicPostsOfPerson(base_dir, nickname, domain, False, True, - proxyType, args.port, httpPrefix, debug, + proxyType, args.port, http_prefix, debug, __version__, args.language, signingPrivateKeyPem, originDomain) sys.exit() @@ -772,7 +772,7 @@ if args.postDomains: base_dir, nickname, domain, originDomain, proxyType, args.port, - httpPrefix, debug, + http_prefix, debug, __version__, wordFrequency, domainList, args.language, @@ -819,7 +819,7 @@ if args.postDomainsBlocked: domainList = getPublicPostDomainsBlocked(None, base_dir, nickname, domain, proxyType, args.port, - httpPrefix, debug, + http_prefix, debug, __version__, wordFrequency, domainList, args.language, @@ -864,7 +864,7 @@ if args.checkDomains: checkDomains(None, base_dir, nickname, domain, proxyType, args.port, - httpPrefix, debug, + http_prefix, debug, __version__, maxBlockedDomains, False, args.language, signingPrivateKeyPem) @@ -891,7 +891,7 @@ if args.socnet: signingPrivateKeyPem = getInstanceActorKey(base_dir, domain) dotGraph = instancesGraph(base_dir, args.socnet, proxyType, args.port, - httpPrefix, debug, + http_prefix, debug, __version__, args.language, signingPrivateKeyPem) try: @@ -927,7 +927,7 @@ if args.postsraw: args.language = 'en' signingPrivateKeyPem = getInstanceActorKey(base_dir, originDomain) getPublicPostsOfPerson(base_dir, nickname, domain, False, False, - proxyType, args.port, httpPrefix, debug, + proxyType, args.port, http_prefix, debug, __version__, args.language, signingPrivateKeyPem, originDomain) sys.exit() @@ -951,7 +951,7 @@ if args.json: else: print('Did not obtain instance actor key for ' + domain) testJson = getJson(signingPrivateKeyPem, session, args.json, asHeader, - None, debug, __version__, httpPrefix, domain) + None, debug, __version__, http_prefix, domain) if testJson: pprint(testJson) sys.exit() @@ -976,7 +976,7 @@ if args.htmlpost: print('Did not obtain instance actor key for ' + domain) testHtml = downloadHtml(signingPrivateKeyPem, session, args.htmlpost, asHeader, None, debug, __version__, - httpPrefix, domain) + http_prefix, domain) if testHtml: print(testHtml) sys.exit() @@ -1192,7 +1192,7 @@ if args.approve: if args.secureMode: signingPrivateKeyPem = getInstanceActorKey(base_dir, domain) manualApproveFollowRequest(session, base_dir, - httpPrefix, + http_prefix, args.nickname, domain, port, args.approve, federationList, @@ -1220,7 +1220,7 @@ if args.deny: if args.secureMode: signingPrivateKeyPem = getInstanceActorKey(base_dir, domain) manualDenyFollowRequest(session, base_dir, - httpPrefix, + http_prefix, args.nickname, domain, port, args.deny, federationList, @@ -1318,7 +1318,7 @@ if args.message: base_dir, session, args.nickname, args.password, domain, port, toNickname, toDomain, toPort, ccUrl, - httpPrefix, sendMessage, followersOnly, + http_prefix, sendMessage, followersOnly, args.commentsEnabled, attach, mediaType, attachedImageDescription, city, cachedWebfingers, personCache, isArticle, @@ -1354,7 +1354,7 @@ if args.announce: sendAnnounceViaServer(base_dir, session, args.nickname, args.password, domain, port, - httpPrefix, args.announce, + http_prefix, args.announce, cachedWebfingers, personCache, True, __version__, signingPrivateKeyPem) for i in range(10): @@ -1398,7 +1398,7 @@ if args.box: session = createSession(proxyType) boxJson = c2sBoxJson(base_dir, session, args.nickname, args.password, - domain, port, httpPrefix, + domain, port, http_prefix, args.box, args.pageNumber, args.debug, signingPrivateKeyPem) if boxJson: @@ -1460,7 +1460,7 @@ if args.itemName: sendShareViaServer(base_dir, session, args.nickname, args.password, domain, port, - httpPrefix, + http_prefix, args.itemName, args.summary, args.itemImage, @@ -1503,7 +1503,7 @@ if args.undoItemName: sendUndoShareViaServer(base_dir, session, args.nickname, args.password, domain, port, - httpPrefix, + http_prefix, args.undoItemName, cachedWebfingers, personCache, debug, __version__, signingPrivateKeyPem) @@ -1565,7 +1565,7 @@ if args.wantedItemName: sendWantedViaServer(base_dir, session, args.nickname, args.password, domain, port, - httpPrefix, + http_prefix, args.wantedItemName, args.summary, args.itemImage, @@ -1608,7 +1608,7 @@ if args.undoWantedItemName: sendUndoWantedViaServer(base_dir, session, args.nickname, args.password, domain, port, - httpPrefix, + http_prefix, args.undoWantedItemName, cachedWebfingers, personCache, debug, __version__, signingPrivateKeyPem) @@ -1642,7 +1642,7 @@ if args.like: sendLikeViaServer(base_dir, session, args.nickname, args.password, domain, port, - httpPrefix, args.like, + http_prefix, args.like, cachedWebfingers, personCache, True, __version__, signingPrivateKeyPem) for i in range(10): @@ -1681,7 +1681,7 @@ if args.react: sendReactionViaServer(base_dir, session, args.nickname, args.password, domain, port, - httpPrefix, args.react, args.emoji, + http_prefix, args.react, args.emoji, cachedWebfingers, personCache, True, __version__, signingPrivateKeyPem) for i in range(10): @@ -1714,7 +1714,7 @@ if args.undolike: sendUndoLikeViaServer(base_dir, session, args.nickname, args.password, domain, port, - httpPrefix, args.undolike, + http_prefix, args.undolike, cachedWebfingers, personCache, True, __version__, signingPrivateKeyPem) @@ -1754,7 +1754,7 @@ if args.undoreact: sendUndoReactionViaServer(base_dir, session, args.nickname, args.password, domain, port, - httpPrefix, args.undoreact, args.emoji, + http_prefix, args.undoreact, args.emoji, cachedWebfingers, personCache, True, __version__, signingPrivateKeyPem) @@ -1788,7 +1788,7 @@ if args.bookmark: sendBookmarkViaServer(base_dir, session, args.nickname, args.password, domain, port, - httpPrefix, args.bookmark, + http_prefix, args.bookmark, cachedWebfingers, personCache, True, __version__, signingPrivateKeyPem) @@ -1822,7 +1822,7 @@ if args.unbookmark: sendUndoBookmarkViaServer(base_dir, session, args.nickname, args.password, domain, port, - httpPrefix, args.unbookmark, + http_prefix, args.unbookmark, cachedWebfingers, personCache, True, __version__, signingPrivateKeyPem) for i in range(10): @@ -1855,7 +1855,7 @@ if args.delete: sendDeleteViaServer(base_dir, session, args.nickname, args.password, domain, port, - httpPrefix, args.delete, + http_prefix, args.delete, cachedWebfingers, personCache, True, __version__, signingPrivateKeyPem) for i in range(10): @@ -1887,7 +1887,7 @@ if args.follow: session = createSession(proxyType) personCache = {} cachedWebfingers = {} - followHttpPrefix = httpPrefix + followHttpPrefix = http_prefix if args.follow.startswith('https'): followHttpPrefix = 'https' if not domain: @@ -1900,7 +1900,7 @@ if args.follow: args.nickname, args.password, domain, port, followNickname, followDomain, followPort, - httpPrefix, + http_prefix, cachedWebfingers, personCache, debug, __version__, signingPrivateKeyPem) for t in range(20): @@ -1933,7 +1933,7 @@ if args.unfollow: session = createSession(proxyType) personCache = {} cachedWebfingers = {} - followHttpPrefix = httpPrefix + followHttpPrefix = http_prefix if args.follow.startswith('https'): followHttpPrefix = 'https' if not domain: @@ -1946,7 +1946,7 @@ if args.unfollow: args.nickname, args.password, domain, port, followNickname, followDomain, followPort, - httpPrefix, + http_prefix, cachedWebfingers, personCache, debug, __version__, signingPrivateKeyPem) for t in range(20): @@ -1970,7 +1970,7 @@ if args.followingList: session = createSession(proxyType) personCache = {} cachedWebfingers = {} - followHttpPrefix = httpPrefix + followHttpPrefix = http_prefix if not domain: domain = getConfigParam(base_dir, 'domain') signingPrivateKeyPem = None @@ -1981,7 +1981,7 @@ if args.followingList: getFollowingViaServer(base_dir, session, args.nickname, args.password, domain, port, - httpPrefix, args.pageNumber, + http_prefix, args.pageNumber, cachedWebfingers, personCache, debug, __version__, signingPrivateKeyPem) if followingJson: @@ -2003,7 +2003,7 @@ if args.followersList: session = createSession(proxyType) personCache = {} cachedWebfingers = {} - followHttpPrefix = httpPrefix + followHttpPrefix = http_prefix if not domain: domain = getConfigParam(base_dir, 'domain') signingPrivateKeyPem = None @@ -2014,7 +2014,7 @@ if args.followersList: getFollowersViaServer(base_dir, session, args.nickname, args.password, domain, port, - httpPrefix, args.pageNumber, + http_prefix, args.pageNumber, cachedWebfingers, personCache, debug, __version__, signingPrivateKeyPem) @@ -2037,7 +2037,7 @@ if args.followRequestsList: session = createSession(proxyType) personCache = {} cachedWebfingers = {} - followHttpPrefix = httpPrefix + followHttpPrefix = http_prefix if not domain: domain = getConfigParam(base_dir, 'domain') signingPrivateKeyPem = None @@ -2048,7 +2048,7 @@ if args.followRequestsList: getFollowRequestsViaServer(base_dir, session, args.nickname, args.password, domain, port, - httpPrefix, args.pageNumber, + http_prefix, args.pageNumber, cachedWebfingers, personCache, debug, __version__, signingPrivateKeyPem) if followRequestsJson: @@ -2066,28 +2066,28 @@ if args.proxyPort: proxyPort = args.proxyPort setConfigParam(base_dir, 'proxyPort', proxyPort) if args.gnunet: - httpPrefix = 'gnunet' + http_prefix = 'gnunet' if args.dat or args.hyper: - httpPrefix = 'hyper' + http_prefix = 'hyper' if args.i2p: - httpPrefix = 'http' + http_prefix = 'http' if args.migrations: cachedWebfingers = {} if args.http or domain.endswith('.onion'): - httpPrefix = 'http' + http_prefix = 'http' port = 80 proxyType = 'tor' elif domain.endswith('.i2p'): - httpPrefix = 'http' + http_prefix = 'http' port = 80 proxyType = 'i2p' elif args.gnunet: - httpPrefix = 'gnunet' + http_prefix = 'gnunet' port = 80 proxyType = 'gnunet' else: - httpPrefix = 'https' + http_prefix = 'https' port = 443 session = createSession(proxyType) if not domain: @@ -2096,7 +2096,7 @@ if args.migrations: if args.secureMode: signingPrivateKeyPem = getInstanceActorKey(base_dir, domain) ctr = migrateAccounts(base_dir, session, - httpPrefix, cachedWebfingers, + http_prefix, cachedWebfingers, True, signingPrivateKeyPem) if ctr == 0: print('No followed accounts have moved') @@ -2172,19 +2172,19 @@ if args.followers: domain = domain.replace('\n', '').replace('\r', '') cachedWebfingers = {} if args.http or domain.endswith('.onion'): - httpPrefix = 'http' + http_prefix = 'http' port = 80 proxyType = 'tor' elif domain.endswith('.i2p'): - httpPrefix = 'http' + http_prefix = 'http' port = 80 proxyType = 'i2p' elif args.gnunet: - httpPrefix = 'gnunet' + http_prefix = 'gnunet' port = 80 proxyType = 'gnunet' else: - httpPrefix = 'https' + http_prefix = 'https' port = 443 session = createSession(proxyType) if nickname == 'inbox': @@ -2198,7 +2198,7 @@ if args.followers: if args.secureMode: signingPrivateKeyPem = getInstanceActorKey(base_dir, domain) wfRequest = webfingerHandle(session, handle, - httpPrefix, cachedWebfingers, + http_prefix, cachedWebfingers, hostDomain, __version__, debug, False, signingPrivateKeyPem) if not wfRequest: @@ -2232,7 +2232,7 @@ if args.followers: personUrl = personUrl.replace('/c/', '/actor/') if not personUrl: # try single user instance - personUrl = httpPrefix + '://' + domain + personUrl = http_prefix + '://' + domain profileStr = 'https://www.w3.org/ns/activitystreams' asHeader = { 'Accept': 'application/ld+json; profile="' + profileStr + '"' @@ -2248,7 +2248,7 @@ if args.followers: followersList = \ downloadFollowCollection(signingPrivateKeyPem, 'followers', session, - httpPrefix, personUrl, 1, 3, args.debug) + http_prefix, personUrl, 1, 3, args.debug) if followersList: for actor in followersList: print(actor) @@ -2293,8 +2293,8 @@ if args.addaccount: if domain.endswith('.onion') or \ domain.endswith('.i2p'): port = 80 - httpPrefix = 'http' - createPerson(base_dir, nickname, domain, port, httpPrefix, + http_prefix = 'http' + createPerson(base_dir, nickname, domain, port, http_prefix, True, not args.noapproval, args.password.strip()) if os.path.isdir(accountDir): print('Account created for ' + nickname + '@' + domain) @@ -2330,7 +2330,7 @@ if args.addgroup: if os.path.isdir(accountDir): print('Group already exists') sys.exit() - createGroup(base_dir, nickname, domain, port, httpPrefix, + createGroup(base_dir, nickname, domain, port, http_prefix, True, args.password.strip()) if os.path.isdir(accountDir): print('Group created for ' + nickname + '@' + domain) @@ -2434,7 +2434,7 @@ if args.archive: else: print('Archiving to ' + args.archive + '...') archiveMedia(base_dir, args.archive, args.archiveWeeks) - archivePosts(base_dir, httpPrefix, args.archive, {}, args.archiveMaxPosts) + archivePosts(base_dir, http_prefix, args.archive, {}, args.archiveMaxPosts) print('Archiving complete') sys.exit() @@ -2450,7 +2450,7 @@ if args.avatar: print('Specify a nickname with --nickname [name]') sys.exit() city = 'London, England' - if setProfileImage(base_dir, httpPrefix, args.nickname, domain, + if setProfileImage(base_dir, http_prefix, args.nickname, domain, port, args.avatar, 'avatar', '128x128', city, args.contentLicenseUrl): print('Avatar added for ' + args.nickname) @@ -2466,7 +2466,7 @@ if args.backgroundImage: print('Specify a nickname with --nickname [name]') sys.exit() city = 'London, England' - if setProfileImage(base_dir, httpPrefix, args.nickname, domain, + if setProfileImage(base_dir, http_prefix, args.nickname, domain, port, args.backgroundImage, 'background', '256x256', city, args.contentLicenseUrl): print('Background image added for ' + args.nickname) @@ -2509,7 +2509,7 @@ if args.skill: sendSkillViaServer(base_dir, session, nickname, args.password, domain, port, - httpPrefix, + http_prefix, args.skill, args.skillLevelPercent, cachedWebfingers, personCache, True, __version__, signingPrivateKeyPem) @@ -2543,7 +2543,7 @@ if args.availability: sendAvailabilityViaServer(base_dir, session, nickname, args.password, domain, port, - httpPrefix, + http_prefix, args.availability, cachedWebfingers, personCache, True, __version__, signingPrivateKeyPem) @@ -2589,7 +2589,7 @@ if args.desktop: # only store inbox posts if we are not running as a daemon storeInboxPosts = not args.noKeyPress - runDesktopClient(base_dir, proxyType, httpPrefix, + runDesktopClient(base_dir, proxyType, http_prefix, nickname, domain, port, args.password, args.screenreader, args.language, args.notificationSounds, @@ -2636,7 +2636,7 @@ if args.block: blockedDomain = args.block.split('@')[1] blockedDomain = blockedDomain.replace('\n', '').replace('\r', '') blockedNickname = args.block.split('@')[0] - blockedActor = httpPrefix + '://' + blockedDomain + \ + blockedActor = http_prefix + '://' + blockedDomain + \ '/users/' + blockedNickname args.block = blockedActor else: @@ -2656,7 +2656,7 @@ if args.block: sendBlockViaServer(base_dir, session, nickname, args.password, domain, port, - httpPrefix, args.block, + http_prefix, args.block, cachedWebfingers, personCache, True, __version__, signingPrivateKeyPem) for i in range(10): @@ -2688,7 +2688,7 @@ if args.mute: sendMuteViaServer(base_dir, session, nickname, args.password, domain, port, - httpPrefix, args.mute, + http_prefix, args.mute, cachedWebfingers, personCache, True, __version__, signingPrivateKeyPem) for i in range(10): @@ -2720,7 +2720,7 @@ if args.unmute: sendUndoMuteViaServer(base_dir, session, nickname, args.password, domain, port, - httpPrefix, args.unmute, + http_prefix, args.unmute, cachedWebfingers, personCache, True, __version__, signingPrivateKeyPem) for i in range(10): @@ -2744,7 +2744,7 @@ if args.unblock: blockedDomain = args.unblock.split('@')[1] blockedDomain = blockedDomain.replace('\n', '').replace('\r', '') blockedNickname = args.unblock.split('@')[0] - blockedActor = httpPrefix + '://' + blockedDomain + \ + blockedActor = http_prefix + '://' + blockedDomain + \ '/users/' + blockedNickname args.unblock = blockedActor else: @@ -2764,7 +2764,7 @@ if args.unblock: sendUndoBlockViaServer(base_dir, session, nickname, args.password, domain, port, - httpPrefix, args.unblock, + http_prefix, args.unblock, cachedWebfingers, personCache, True, __version__, signingPrivateKeyPem) for i in range(10): @@ -2814,16 +2814,16 @@ if args.testdata: setConfigParam(base_dir, 'registrationsRemaining', str(maxRegistrations)) - createPerson(base_dir, 'maxboardroom', domain, port, httpPrefix, + createPerson(base_dir, 'maxboardroom', domain, port, http_prefix, True, False, password) - createPerson(base_dir, 'ultrapancake', domain, port, httpPrefix, + createPerson(base_dir, 'ultrapancake', domain, port, http_prefix, True, False, password) - createPerson(base_dir, 'drokk', domain, port, httpPrefix, + createPerson(base_dir, 'drokk', domain, port, http_prefix, True, False, password) - createPerson(base_dir, 'sausagedog', domain, port, httpPrefix, + createPerson(base_dir, 'sausagedog', domain, port, http_prefix, True, False, password) - createPerson(base_dir, nickname, domain, port, httpPrefix, + createPerson(base_dir, nickname, domain, port, http_prefix, True, False, 'likewhateveryouwantscoob') setSkillLevel(base_dir, nickname, domain, 'testing', 60) setSkillLevel(base_dir, nickname, domain, 'typing', 50) @@ -2831,7 +2831,7 @@ if args.testdata: setAvailability(base_dir, nickname, domain, 'busy') addShare(base_dir, - httpPrefix, nickname, domain, port, + http_prefix, nickname, domain, port, "spanner", "It's a spanner", "img/shares1.png", @@ -2842,7 +2842,7 @@ if args.testdata: debug, city, args.language, {}, 'shares', args.lowBandwidth, args.contentLicenseUrl) addShare(base_dir, - httpPrefix, nickname, domain, port, + http_prefix, nickname, domain, port, "witch hat", "Spooky", "img/shares2.png", @@ -2875,7 +2875,7 @@ if args.testdata: conversationId = None lowBandwidth = False - createPublicPost(base_dir, nickname, domain, port, httpPrefix, + createPublicPost(base_dir, nickname, domain, port, http_prefix, "like this is totally just a #test man", testFollowersOnly, testSaveToFile, @@ -2888,7 +2888,7 @@ if args.testdata: testEventDate, testEventTime, testLocation, testIsArticle, args.language, conversationId, lowBandwidth, args.contentLicenseUrl) - createPublicPost(base_dir, nickname, domain, port, httpPrefix, + createPublicPost(base_dir, nickname, domain, port, http_prefix, "Zoiks!!!", testFollowersOnly, testSaveToFile, @@ -2901,7 +2901,7 @@ if args.testdata: testEventDate, testEventTime, testLocation, testIsArticle, args.language, conversationId, lowBandwidth, args.contentLicenseUrl) - createPublicPost(base_dir, nickname, domain, port, httpPrefix, + createPublicPost(base_dir, nickname, domain, port, http_prefix, "Hey scoob we need like a hundred more #milkshakes", testFollowersOnly, testSaveToFile, @@ -2914,7 +2914,7 @@ if args.testdata: testEventDate, testEventTime, testLocation, testIsArticle, args.language, conversationId, lowBandwidth, args.contentLicenseUrl) - createPublicPost(base_dir, nickname, domain, port, httpPrefix, + createPublicPost(base_dir, nickname, domain, port, http_prefix, "Getting kinda spooky around here", testFollowersOnly, testSaveToFile, @@ -2927,7 +2927,7 @@ if args.testdata: testEventDate, testEventTime, testLocation, testIsArticle, args.language, conversationId, lowBandwidth, args.contentLicenseUrl) - createPublicPost(base_dir, nickname, domain, port, httpPrefix, + createPublicPost(base_dir, nickname, domain, port, http_prefix, "And they would have gotten away with it too" + "if it wasn't for those pesky hackers", testFollowersOnly, @@ -2941,7 +2941,7 @@ if args.testdata: testEventDate, testEventTime, testLocation, testIsArticle, args.language, conversationId, lowBandwidth, args.contentLicenseUrl) - createPublicPost(base_dir, nickname, domain, port, httpPrefix, + createPublicPost(base_dir, nickname, domain, port, http_prefix, "man these centralized sites are like the worst!", testFollowersOnly, testSaveToFile, @@ -2954,7 +2954,7 @@ if args.testdata: testEventDate, testEventTime, testLocation, testIsArticle, args.language, conversationId, lowBandwidth, args.contentLicenseUrl) - createPublicPost(base_dir, nickname, domain, port, httpPrefix, + createPublicPost(base_dir, nickname, domain, port, http_prefix, "another mystery solved #test", testFollowersOnly, testSaveToFile, @@ -2967,7 +2967,7 @@ if args.testdata: testEventDate, testEventTime, testLocation, testIsArticle, args.language, conversationId, lowBandwidth, args.contentLicenseUrl) - createPublicPost(base_dir, nickname, domain, port, httpPrefix, + createPublicPost(base_dir, nickname, domain, port, http_prefix, "let's go bowling", testFollowersOnly, testSaveToFile, @@ -3250,7 +3250,7 @@ if __name__ == "__main__": domain, onionDomain, i2pDomain, args.YTReplacementDomain, args.twitterReplacementDomain, - port, proxyPort, httpPrefix, + port, proxyPort, http_prefix, federationList, args.maxMentions, args.maxEmoji, args.secureMode, proxyType, args.maxReplies, diff --git a/feeds.py b/feeds.py index 794f327c9..07cb7741d 100644 --- a/feeds.py +++ b/feeds.py @@ -8,13 +8,13 @@ __status__ = "Production" __module_group__ = "RSS Feeds" -def rss2TagHeader(hashtag: str, httpPrefix: str, domainFull: str) -> str: +def rss2TagHeader(hashtag: str, http_prefix: str, domainFull: str) -> str: return \ "" + \ "" + \ '' + \ ' #' + hashtag + '' + \ - ' ' + httpPrefix + '://' + domainFull + \ + ' ' + http_prefix + '://' + domainFull + \ '/tags/rss2/' + hashtag + '' diff --git a/follow.py b/follow.py index b43754261..232890a16 100644 --- a/follow.py +++ b/follow.py @@ -38,7 +38,7 @@ from session import getJson from session import postJson -def createInitialLastSeen(base_dir: str, httpPrefix: str) -> None: +def createInitialLastSeen(base_dir: str, http_prefix: str) -> None: """Creates initial lastseen files for all follows. The lastseen files are used to generate the Zzz icons on follows/following lists on the profile screen. @@ -70,7 +70,7 @@ def createInitialLastSeen(base_dir: str, httpPrefix: str) -> None: domain = handle.split('@')[1] if nickname.startswith('!'): nickname = nickname[1:] - actor = localActorUrl(httpPrefix, nickname, domain) + actor = localActorUrl(http_prefix, nickname, domain) lastSeenFilename = \ lastSeenDir + '/' + actor.replace('/', '#') + '.txt' if not os.path.isfile(lastSeenFilename): @@ -423,7 +423,7 @@ def getNoOfFollowers(base_dir: str, def getFollowingFeed(base_dir: str, domain: str, port: int, path: str, - httpPrefix: str, authorized: bool, + http_prefix: str, authorized: bool, followsPerPage=12, followFile='following') -> {}: """Returns the following and followers feeds from GET requests. @@ -468,10 +468,10 @@ def getFollowingFeed(base_dir: str, domain: str, port: int, path: str, if headerOnly: firstStr = \ - localActorUrl(httpPrefix, nickname, domain) + \ + localActorUrl(http_prefix, nickname, domain) + \ '/' + followFile + '?page=1' idStr = \ - localActorUrl(httpPrefix, nickname, domain) + '/' + followFile + localActorUrl(http_prefix, nickname, domain) + '/' + followFile totalStr = \ _getNoOfFollows(base_dir, nickname, domain, authorized) following = { @@ -488,10 +488,10 @@ def getFollowingFeed(base_dir: str, domain: str, port: int, path: str, nextPageNumber = int(pageNumber + 1) idStr = \ - localActorUrl(httpPrefix, nickname, domain) + \ + localActorUrl(http_prefix, nickname, domain) + \ '/' + followFile + '?page=' + str(pageNumber) partOfStr = \ - localActorUrl(httpPrefix, nickname, domain) + '/' + followFile + localActorUrl(http_prefix, nickname, domain) + '/' + followFile following = { '@context': 'https://www.w3.org/ns/activitystreams', 'id': idStr, @@ -529,10 +529,10 @@ def getFollowingFeed(base_dir: str, domain: str, port: int, path: str, dom = line2.split('@')[1] if not nick.startswith('!'): # person actor - url = localActorUrl(httpPrefix, nick, dom) + url = localActorUrl(http_prefix, nick, dom) else: # group actor - url = httpPrefix + '://' + dom + '/c/' + nick + url = http_prefix + '://' + dom + '/c/' + nick following['orderedItems'].append(url) elif ((line.startswith('http') or line.startswith('hyper')) and @@ -553,7 +553,7 @@ def getFollowingFeed(base_dir: str, domain: str, port: int, path: str, lastPage = 1 if nextPageNumber > lastPage: following['next'] = \ - localActorUrl(httpPrefix, nickname, domain) + \ + localActorUrl(http_prefix, nickname, domain) + \ '/' + followFile + '?page=' + str(lastPage) return following @@ -713,7 +713,7 @@ def storeFollowRequest(base_dir: str, return saveJson(followJson, followActivityfilename) -def followedAccountAccepts(session, base_dir: str, httpPrefix: str, +def followedAccountAccepts(session, base_dir: str, http_prefix: str, nicknameToFollow: str, domainToFollow: str, port: int, nickname: str, domain: str, fromPort: int, @@ -736,7 +736,7 @@ def followedAccountAccepts(session, base_dir: str, httpPrefix: str, ' back to ' + acceptHandle) acceptJson = createAccept(base_dir, federationList, nicknameToFollow, domainToFollow, port, - personUrl, '', httpPrefix, + personUrl, '', http_prefix, followJson) if debug: pprint(acceptJson) @@ -768,7 +768,7 @@ def followedAccountAccepts(session, base_dir: str, httpPrefix: str, return sendSignedJson(acceptJson, session, base_dir, nicknameToFollow, domainToFollow, port, nickname, domain, fromPort, '', - httpPrefix, True, clientToServer, + http_prefix, True, clientToServer, federationList, sendThreads, postLog, cachedWebfingers, personCache, debug, projectVersion, None, @@ -776,7 +776,7 @@ def followedAccountAccepts(session, base_dir: str, httpPrefix: str, 7856837) -def followedAccountRejects(session, base_dir: str, httpPrefix: str, +def followedAccountRejects(session, base_dir: str, http_prefix: str, nicknameToFollow: str, domainToFollow: str, port: int, nickname: str, domain: str, fromPort: int, @@ -811,7 +811,7 @@ def followedAccountRejects(session, base_dir: str, httpPrefix: str, rejectJson = \ createReject(base_dir, federationList, nicknameToFollow, domainToFollow, port, - personUrl, '', httpPrefix, followJson) + personUrl, '', http_prefix, followJson) if debug: pprint(rejectJson) print('DEBUG: sending follow Reject from ' + @@ -836,7 +836,7 @@ def followedAccountRejects(session, base_dir: str, httpPrefix: str, return sendSignedJson(rejectJson, session, base_dir, nicknameToFollow, domainToFollow, port, nickname, domain, fromPort, '', - httpPrefix, True, clientToServer, + http_prefix, True, clientToServer, federationList, sendThreads, postLog, cachedWebfingers, personCache, debug, projectVersion, None, @@ -845,7 +845,7 @@ def followedAccountRejects(session, base_dir: str, httpPrefix: str, def sendFollowRequest(session, base_dir: str, - nickname: str, domain: str, port: int, httpPrefix: str, + nickname: str, domain: str, port: int, http_prefix: str, followNickname: str, followDomain: str, followedActor: str, followPort: int, followHttpPrefix: str, @@ -863,7 +863,7 @@ def sendFollowRequest(session, base_dir: str, return None fullDomain = getFullDomain(domain, port) - followActor = localActorUrl(httpPrefix, nickname, fullDomain) + followActor = localActorUrl(http_prefix, nickname, fullDomain) requestDomain = getFullDomain(followDomain, followPort) @@ -928,7 +928,7 @@ def sendFollowRequest(session, base_dir: str, sendSignedJson(newFollowJson, session, base_dir, nickname, domain, port, followNickname, followDomain, followPort, 'https://www.w3.org/ns/activitystreams#Public', - httpPrefix, True, clientToServer, + http_prefix, True, clientToServer, federationList, sendThreads, postLog, cachedWebfingers, personCache, debug, projectVersion, None, groupAccount, @@ -942,7 +942,7 @@ def sendFollowRequestViaServer(base_dir: str, session, fromDomain: str, fromPort: int, followNickname: str, followDomain: str, followPort: int, - httpPrefix: str, + http_prefix: str, cachedWebfingers: {}, personCache: {}, debug: bool, projectVersion: str, signingPrivateKeyPem: str) -> {}: @@ -956,9 +956,9 @@ def sendFollowRequestViaServer(base_dir: str, session, followDomainFull = getFullDomain(followDomain, followPort) - followActor = localActorUrl(httpPrefix, fromNickname, fromDomainFull) + followActor = localActorUrl(http_prefix, fromNickname, fromDomainFull) followedId = \ - httpPrefix + '://' + followDomainFull + '/@' + followNickname + http_prefix + '://' + followDomainFull + '/@' + followNickname statusNumber, published = getStatusNumber() newFollowJson = { @@ -969,11 +969,11 @@ def sendFollowRequestViaServer(base_dir: str, session, 'object': followedId } - handle = httpPrefix + '://' + fromDomainFull + '/@' + fromNickname + handle = http_prefix + '://' + fromDomainFull + '/@' + fromNickname # lookup the inbox for the To handle wfRequest = \ - webfingerHandle(session, handle, httpPrefix, cachedWebfingers, + webfingerHandle(session, handle, http_prefix, cachedWebfingers, fromDomain, projectVersion, debug, False, signingPrivateKeyPem) if not wfRequest: @@ -993,7 +993,7 @@ def sendFollowRequestViaServer(base_dir: str, session, fromPersonId, sharedInbox, avatarUrl, displayName, _) = getPersonBox(signingPrivateKeyPem, originDomain, base_dir, session, wfRequest, personCache, - projectVersion, httpPrefix, fromNickname, + projectVersion, http_prefix, fromNickname, fromDomain, postToBox, 52025) if not inboxUrl: @@ -1014,7 +1014,7 @@ def sendFollowRequestViaServer(base_dir: str, session, 'Authorization': authHeader } postResult = \ - postJson(httpPrefix, fromDomainFull, + postJson(http_prefix, fromDomainFull, session, newFollowJson, [], inboxUrl, headers, 3, True) if not postResult: if debug: @@ -1032,7 +1032,7 @@ def sendUnfollowRequestViaServer(base_dir: str, session, fromDomain: str, fromPort: int, followNickname: str, followDomain: str, followPort: int, - httpPrefix: str, + http_prefix: str, cachedWebfingers: {}, personCache: {}, debug: bool, projectVersion: str, signingPrivateKeyPem: str) -> {}: @@ -1045,9 +1045,9 @@ def sendUnfollowRequestViaServer(base_dir: str, session, fromDomainFull = getFullDomain(fromDomain, fromPort) followDomainFull = getFullDomain(followDomain, followPort) - followActor = localActorUrl(httpPrefix, fromNickname, fromDomainFull) + followActor = localActorUrl(http_prefix, fromNickname, fromDomainFull) followedId = \ - httpPrefix + '://' + followDomainFull + '/@' + followNickname + http_prefix + '://' + followDomainFull + '/@' + followNickname statusNumber, published = getStatusNumber() unfollowJson = { @@ -1063,11 +1063,11 @@ def sendUnfollowRequestViaServer(base_dir: str, session, } } - handle = httpPrefix + '://' + fromDomainFull + '/@' + fromNickname + handle = http_prefix + '://' + fromDomainFull + '/@' + fromNickname # lookup the inbox for the To handle wfRequest = \ - webfingerHandle(session, handle, httpPrefix, cachedWebfingers, + webfingerHandle(session, handle, http_prefix, cachedWebfingers, fromDomain, projectVersion, debug, False, signingPrivateKeyPem) if not wfRequest: @@ -1088,7 +1088,7 @@ def sendUnfollowRequestViaServer(base_dir: str, session, originDomain, base_dir, session, wfRequest, personCache, - projectVersion, httpPrefix, + projectVersion, http_prefix, fromNickname, fromDomain, postToBox, 76536) @@ -1111,7 +1111,7 @@ def sendUnfollowRequestViaServer(base_dir: str, session, 'Authorization': authHeader } postResult = \ - postJson(httpPrefix, fromDomainFull, + postJson(http_prefix, fromDomainFull, session, unfollowJson, [], inboxUrl, headers, 3, True) if not postResult: if debug: @@ -1127,7 +1127,7 @@ def sendUnfollowRequestViaServer(base_dir: str, session, def getFollowingViaServer(base_dir: str, session, nickname: str, password: str, domain: str, port: int, - httpPrefix: str, pageNumber: int, + http_prefix: str, pageNumber: int, cachedWebfingers: {}, personCache: {}, debug: bool, projectVersion: str, signingPrivateKeyPem: str) -> {}: @@ -1138,7 +1138,7 @@ def getFollowingViaServer(base_dir: str, session, return 6 domainFull = getFullDomain(domain, port) - followActor = localActorUrl(httpPrefix, nickname, domainFull) + followActor = localActorUrl(http_prefix, nickname, domainFull) authHeader = createBasicAuthHeader(nickname, password) @@ -1153,7 +1153,7 @@ def getFollowingViaServer(base_dir: str, session, url = followActor + '/following?page=' + str(pageNumber) followingJson = \ getJson(signingPrivateKeyPem, session, url, headers, {}, debug, - __version__, httpPrefix, domain, 10, True) + __version__, http_prefix, domain, 10, True) if not followingJson: if debug: print('DEBUG: GET following list failed for c2s to ' + url) @@ -1168,7 +1168,7 @@ def getFollowingViaServer(base_dir: str, session, def getFollowersViaServer(base_dir: str, session, nickname: str, password: str, domain: str, port: int, - httpPrefix: str, pageNumber: int, + http_prefix: str, pageNumber: int, cachedWebfingers: {}, personCache: {}, debug: bool, projectVersion: str, signingPrivateKeyPem: str) -> {}: @@ -1179,7 +1179,7 @@ def getFollowersViaServer(base_dir: str, session, return 6 domainFull = getFullDomain(domain, port) - followActor = localActorUrl(httpPrefix, nickname, domainFull) + followActor = localActorUrl(http_prefix, nickname, domainFull) authHeader = createBasicAuthHeader(nickname, password) @@ -1194,7 +1194,7 @@ def getFollowersViaServer(base_dir: str, session, url = followActor + '/followers?page=' + str(pageNumber) followersJson = \ getJson(signingPrivateKeyPem, session, url, headers, {}, debug, - __version__, httpPrefix, domain, 10, True) + __version__, http_prefix, domain, 10, True) if not followersJson: if debug: print('DEBUG: GET followers list failed for c2s to ' + url) @@ -1209,7 +1209,7 @@ def getFollowersViaServer(base_dir: str, session, def getFollowRequestsViaServer(base_dir: str, session, nickname: str, password: str, domain: str, port: int, - httpPrefix: str, pageNumber: int, + http_prefix: str, pageNumber: int, cachedWebfingers: {}, personCache: {}, debug: bool, projectVersion: str, signingPrivateKeyPem: str) -> {}: @@ -1221,7 +1221,7 @@ def getFollowRequestsViaServer(base_dir: str, session, domainFull = getFullDomain(domain, port) - followActor = localActorUrl(httpPrefix, nickname, domainFull) + followActor = localActorUrl(http_prefix, nickname, domainFull) authHeader = createBasicAuthHeader(nickname, password) headers = { @@ -1235,7 +1235,7 @@ def getFollowRequestsViaServer(base_dir: str, session, url = followActor + '/followrequests?page=' + str(pageNumber) followersJson = \ getJson(signingPrivateKeyPem, session, url, headers, {}, debug, - __version__, httpPrefix, domain, 10, True) + __version__, http_prefix, domain, 10, True) if not followersJson: if debug: print('DEBUG: GET follow requests list failed for c2s to ' + url) @@ -1250,7 +1250,7 @@ def getFollowRequestsViaServer(base_dir: str, session, def approveFollowRequestViaServer(base_dir: str, session, nickname: str, password: str, domain: str, port: int, - httpPrefix: str, approveHandle: int, + http_prefix: str, approveHandle: int, cachedWebfingers: {}, personCache: {}, debug: bool, projectVersion: str, signingPrivateKeyPem: str) -> str: @@ -1263,7 +1263,7 @@ def approveFollowRequestViaServer(base_dir: str, session, return 6 domainFull = getFullDomain(domain, port) - actor = localActorUrl(httpPrefix, nickname, domainFull) + actor = localActorUrl(http_prefix, nickname, domainFull) authHeader = createBasicAuthHeader(nickname, password) @@ -1276,7 +1276,7 @@ def approveFollowRequestViaServer(base_dir: str, session, url = actor + '/followapprove=' + approveHandle approveHtml = \ getJson(signingPrivateKeyPem, session, url, headers, {}, debug, - __version__, httpPrefix, domain, 10, True) + __version__, http_prefix, domain, 10, True) if not approveHtml: if debug: print('DEBUG: GET approve follow request failed for c2s to ' + url) @@ -1291,7 +1291,7 @@ def approveFollowRequestViaServer(base_dir: str, session, def denyFollowRequestViaServer(base_dir: str, session, nickname: str, password: str, domain: str, port: int, - httpPrefix: str, denyHandle: int, + http_prefix: str, denyHandle: int, cachedWebfingers: {}, personCache: {}, debug: bool, projectVersion: str, signingPrivateKeyPem: str) -> str: @@ -1304,7 +1304,7 @@ def denyFollowRequestViaServer(base_dir: str, session, return 6 domainFull = getFullDomain(domain, port) - actor = localActorUrl(httpPrefix, nickname, domainFull) + actor = localActorUrl(http_prefix, nickname, domainFull) authHeader = createBasicAuthHeader(nickname, password) @@ -1317,7 +1317,7 @@ def denyFollowRequestViaServer(base_dir: str, session, url = actor + '/followdeny=' + denyHandle denyHtml = \ getJson(signingPrivateKeyPem, session, url, headers, {}, debug, - __version__, httpPrefix, domain, 10, True) + __version__, http_prefix, domain, 10, True) if not denyHtml: if debug: print('DEBUG: GET deny follow request failed for c2s to ' + url) diff --git a/httpsig.py b/httpsig.py index 27383e844..38fbce90d 100644 --- a/httpsig.py +++ b/httpsig.py @@ -68,7 +68,7 @@ def signPostHeaders(dateStr: str, privateKeyPem: str, domain: str, port: int, toDomain: str, toPort: int, path: str, - httpPrefix: str, + http_prefix: str, messageBodyJsonStr: str, contentType: str, algorithm: str, @@ -83,10 +83,10 @@ def signPostHeaders(dateStr: str, privateKeyPem: str, if not dateStr: dateStr = strftime("%a, %d %b %Y %H:%M:%S %Z", gmtime()) if nickname != domain and nickname.lower() != 'actor': - keyID = localActorUrl(httpPrefix, nickname, domain) + keyID = localActorUrl(http_prefix, nickname, domain) else: # instance actor - keyID = httpPrefix + '://' + domain + '/actor' + keyID = http_prefix + '://' + domain + '/actor' keyID += '#main-key' if not messageBodyJsonStr: headers = { @@ -147,7 +147,7 @@ def signPostHeadersNew(dateStr: str, privateKeyPem: str, domain: str, port: int, toDomain: str, toPort: int, path: str, - httpPrefix: str, + http_prefix: str, messageBodyJsonStr: str, algorithm: str, digestAlgorithm: str, debug: bool) -> (str, str): @@ -168,7 +168,7 @@ def signPostHeadersNew(dateStr: str, privateKeyPem: str, currTime = datetime.datetime.strptime(dateStr, timeFormat) secondsSinceEpoch = \ int((currTime - datetime.datetime(1970, 1, 1)).total_seconds()) - keyID = localActorUrl(httpPrefix, nickname, domain) + '#main-key' + keyID = localActorUrl(http_prefix, nickname, domain) + '#main-key' if not messageBodyJsonStr: headers = { '@request-target': f'get {path}', @@ -240,7 +240,7 @@ def signPostHeadersNew(dateStr: str, privateKeyPem: str, def createSignedHeader(dateStr: str, privateKeyPem: str, nickname: str, domain: str, port: int, toDomain: str, toPort: int, - path: str, httpPrefix: str, withDigest: bool, + path: str, http_prefix: str, withDigest: bool, messageBodyJsonStr: str, contentType: str) -> {}: """Note that the domain is the destination, not the sender @@ -267,7 +267,7 @@ def createSignedHeader(dateStr: str, privateKeyPem: str, nickname: str, signatureHeader = \ signPostHeaders(dateStr, privateKeyPem, nickname, domain, port, toDomain, toPort, - path, httpPrefix, None, contentType, + path, http_prefix, None, contentType, algorithm, None) else: bodyDigest = messageContentDigest(messageBodyJsonStr, digestAlgorithm) @@ -285,7 +285,7 @@ def createSignedHeader(dateStr: str, privateKeyPem: str, nickname: str, signPostHeaders(dateStr, privateKeyPem, nickname, domain, port, toDomain, toPort, - path, httpPrefix, messageBodyJsonStr, + path, http_prefix, messageBodyJsonStr, contentType, algorithm, digestAlgorithm) headers['signature'] = signatureHeader return headers @@ -311,7 +311,7 @@ def _verifyRecentSignature(signedDateStr: str) -> bool: return True -def verifyPostHeaders(httpPrefix: str, +def verifyPostHeaders(http_prefix: str, publicKeyPem: str, headers: dict, path: str, GETmethod: bool, messageBodyDigest: str, diff --git a/inbox.py b/inbox.py index bc651f3f4..174e5ae58 100644 --- a/inbox.py +++ b/inbox.py @@ -155,7 +155,7 @@ def _storeLastPostId(base_dir: str, nickname: str, domain: str, def _updateCachedHashtagSwarm(base_dir: str, nickname: str, domain: str, - httpPrefix: str, domainFull: str, + http_prefix: str, domainFull: str, translate: {}) -> bool: """Updates the hashtag swarm stored as a file """ @@ -186,7 +186,7 @@ def _updateCachedHashtagSwarm(base_dir: str, nickname: str, domain: str, else: print('WARN: no modified date for ' + str(lastModified)) if saveSwarm: - actor = localActorUrl(httpPrefix, nickname, domainFull) + actor = localActorUrl(http_prefix, nickname, domainFull) newSwarmStr = htmlHashTagSwarm(base_dir, actor, translate) if newSwarmStr: try: @@ -200,7 +200,7 @@ def _updateCachedHashtagSwarm(base_dir: str, nickname: str, domain: str, def storeHashTags(base_dir: str, nickname: str, domain: str, - httpPrefix: str, domainFull: str, + http_prefix: str, domainFull: str, postJsonObject: {}, translate: {}) -> None: """Extracts hashtags from an incoming post and updates the relevant tags files. @@ -275,12 +275,12 @@ def storeHashTags(base_dir: str, nickname: str, domain: str, # ready for later display if hashtagsCtr > 0: _updateCachedHashtagSwarm(base_dir, nickname, domain, - httpPrefix, domainFull, translate) + http_prefix, domainFull, translate) def _inboxStorePostToHtmlCache(recentPostsCache: {}, maxRecentPosts: int, translate: {}, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, session, cachedWebfingers: {}, personCache: {}, nickname: str, domain: str, port: int, postJsonObject: {}, @@ -311,7 +311,7 @@ def _inboxStorePostToHtmlCache(recentPostsCache: {}, maxRecentPosts: int, personCache, nickname, domain, port, postJsonObject, avatarUrl, True, allowDeletion, - httpPrefix, __version__, boxname, + http_prefix, __version__, boxname, YTReplacementDomain, twitterReplacementDomain, showPublishedDateOnly, peertubeInstances, allowLocalNetworkAccess, @@ -448,7 +448,7 @@ def inboxPermittedMessage(domain: str, messageJson: {}, return True -def savePostToInboxQueue(base_dir: str, httpPrefix: str, +def savePostToInboxQueue(base_dir: str, http_prefix: str, nickname: str, domain: str, postJsonObject: {}, originalPostJsonObject: {}, @@ -542,7 +542,7 @@ def savePostToInboxQueue(base_dir: str, httpPrefix: str, if actor: postId = actor + '/statuses/' + statusNumber else: - postId = localActorUrl(httpPrefix, nickname, originalDomain) + \ + postId = localActorUrl(http_prefix, nickname, originalDomain) + \ '/statuses/' + statusNumber # NOTE: don't change postJsonObject['id'] before signature check @@ -593,7 +593,7 @@ def savePostToInboxQueue(base_dir: str, httpPrefix: str, return filename -def _inboxPostRecipientsAdd(base_dir: str, httpPrefix: str, toList: [], +def _inboxPostRecipientsAdd(base_dir: str, http_prefix: str, toList: [], recipientsDict: {}, domainMatch: str, domain: str, actor: str, debug: bool) -> bool: @@ -628,7 +628,7 @@ def _inboxPostRecipientsAdd(base_dir: str, httpPrefix: str, toList: [], def _inboxPostRecipients(base_dir: str, postJsonObject: {}, - httpPrefix: str, domain: str, port: int, + http_prefix: str, domain: str, port: int, debug: bool) -> ([], []): """Returns dictionaries containing the recipients of the given post The shared dictionary contains followers @@ -660,7 +660,7 @@ def _inboxPostRecipients(base_dir: str, postJsonObject: {}, if debug: print('DEBUG: resolving "to"') includesFollowers, recipientsDict = \ - _inboxPostRecipientsAdd(base_dir, httpPrefix, + _inboxPostRecipientsAdd(base_dir, http_prefix, recipientsList, recipientsDict, domainMatch, domainBase, @@ -677,7 +677,7 @@ def _inboxPostRecipients(base_dir: str, postJsonObject: {}, else: recipientsList = [postJsonObject['object']['cc']] includesFollowers, recipientsDict = \ - _inboxPostRecipientsAdd(base_dir, httpPrefix, + _inboxPostRecipientsAdd(base_dir, http_prefix, recipientsList, recipientsDict, domainMatch, domainBase, @@ -702,7 +702,7 @@ def _inboxPostRecipients(base_dir: str, postJsonObject: {}, else: recipientsList = [postJsonObject['to']] includesFollowers, recipientsDict = \ - _inboxPostRecipientsAdd(base_dir, httpPrefix, + _inboxPostRecipientsAdd(base_dir, http_prefix, recipientsList, recipientsDict, domainMatch, domainBase, @@ -716,7 +716,7 @@ def _inboxPostRecipients(base_dir: str, postJsonObject: {}, else: recipientsList = [postJsonObject['cc']] includesFollowers, recipientsDict = \ - _inboxPostRecipientsAdd(base_dir, httpPrefix, + _inboxPostRecipientsAdd(base_dir, http_prefix, recipientsList, recipientsDict, domainMatch, domainBase, @@ -736,7 +736,7 @@ def _inboxPostRecipients(base_dir: str, postJsonObject: {}, return recipientsDict, recipientsDictFollowers -def _receiveUndoFollow(session, base_dir: str, httpPrefix: str, +def _receiveUndoFollow(session, base_dir: str, http_prefix: str, port: int, messageJson: {}, federationList: [], debug: bool) -> bool: @@ -791,7 +791,7 @@ def _receiveUndoFollow(session, base_dir: str, httpPrefix: str, return False -def _receiveUndo(session, base_dir: str, httpPrefix: str, +def _receiveUndo(session, base_dir: str, http_prefix: str, port: int, sendThreads: [], postLog: [], cachedWebfingers: {}, personCache: {}, messageJson: {}, federationList: [], @@ -814,7 +814,7 @@ def _receiveUndo(session, base_dir: str, httpPrefix: str, return False if messageJson['object']['type'] == 'Follow' or \ messageJson['object']['type'] == 'Join': - return _receiveUndoFollow(session, base_dir, httpPrefix, + return _receiveUndoFollow(session, base_dir, http_prefix, port, messageJson, federationList, debug) return False @@ -938,7 +938,7 @@ def _receiveUpdateToQuestion(recentPostsCache: {}, messageJson: {}, def _receiveUpdate(recentPostsCache: {}, session, base_dir: str, - httpPrefix: str, domain: str, port: int, + http_prefix: str, domain: str, port: int, sendThreads: [], postLog: [], cachedWebfingers: {}, personCache: {}, messageJson: {}, federationList: [], nickname: str, debug: bool) -> bool: @@ -991,7 +991,7 @@ def _receiveUpdate(recentPostsCache: {}, session, base_dir: str, def _receiveLike(recentPostsCache: {}, session, handle: str, isGroup: bool, base_dir: str, - httpPrefix: str, domain: str, port: int, + http_prefix: str, domain: str, port: int, onionDomain: str, sendThreads: [], postLog: [], cachedWebfingers: {}, personCache: {}, messageJson: {}, federationList: [], @@ -1096,7 +1096,7 @@ def _receiveLike(recentPostsCache: {}, session, cachedWebfingers, personCache, handleName, domain, port, likedPostJson, None, True, allowDeletion, - httpPrefix, __version__, + http_prefix, __version__, 'inbox', YTReplacementDomain, twitterReplacementDomain, @@ -1114,7 +1114,7 @@ def _receiveLike(recentPostsCache: {}, def _receiveUndoLike(recentPostsCache: {}, session, handle: str, isGroup: bool, base_dir: str, - httpPrefix: str, domain: str, port: int, + http_prefix: str, domain: str, port: int, sendThreads: [], postLog: [], cachedWebfingers: {}, personCache: {}, messageJson: {}, federationList: [], debug: bool, @@ -1207,7 +1207,7 @@ def _receiveUndoLike(recentPostsCache: {}, session, cachedWebfingers, personCache, handleName, domain, port, likedPostJson, None, True, allowDeletion, - httpPrefix, __version__, + http_prefix, __version__, 'inbox', YTReplacementDomain, twitterReplacementDomain, @@ -1225,7 +1225,7 @@ def _receiveUndoLike(recentPostsCache: {}, def _receiveReaction(recentPostsCache: {}, session, handle: str, isGroup: bool, base_dir: str, - httpPrefix: str, domain: str, port: int, + http_prefix: str, domain: str, port: int, onionDomain: str, sendThreads: [], postLog: [], cachedWebfingers: {}, personCache: {}, messageJson: {}, federationList: [], @@ -1355,7 +1355,7 @@ def _receiveReaction(recentPostsCache: {}, session, cachedWebfingers, personCache, handleName, domain, port, reactionPostJson, None, True, allowDeletion, - httpPrefix, __version__, + http_prefix, __version__, 'inbox', YTReplacementDomain, twitterReplacementDomain, @@ -1373,7 +1373,7 @@ def _receiveReaction(recentPostsCache: {}, def _receiveUndoReaction(recentPostsCache: {}, session, handle: str, isGroup: bool, base_dir: str, - httpPrefix: str, domain: str, port: int, + http_prefix: str, domain: str, port: int, sendThreads: [], postLog: [], cachedWebfingers: {}, personCache: {}, messageJson: {}, federationList: [], debug: bool, @@ -1482,7 +1482,7 @@ def _receiveUndoReaction(recentPostsCache: {}, session, cachedWebfingers, personCache, handleName, domain, port, reactionPostJson, None, True, allowDeletion, - httpPrefix, __version__, + http_prefix, __version__, 'inbox', YTReplacementDomain, twitterReplacementDomain, @@ -1500,7 +1500,7 @@ def _receiveUndoReaction(recentPostsCache: {}, def _receiveBookmark(recentPostsCache: {}, session, handle: str, isGroup: bool, base_dir: str, - httpPrefix: str, domain: str, port: int, + http_prefix: str, domain: str, port: int, sendThreads: [], postLog: [], cachedWebfingers: {}, personCache: {}, messageJson: {}, federationList: [], debug: bool, signingPrivateKeyPem: str, @@ -1592,7 +1592,7 @@ def _receiveBookmark(recentPostsCache: {}, session, cachedWebfingers, personCache, nickname, domain, port, bookmarkedPostJson, None, True, allowDeletion, - httpPrefix, __version__, + http_prefix, __version__, 'inbox', YTReplacementDomain, twitterReplacementDomain, @@ -1610,7 +1610,7 @@ def _receiveBookmark(recentPostsCache: {}, def _receiveUndoBookmark(recentPostsCache: {}, session, handle: str, isGroup: bool, base_dir: str, - httpPrefix: str, domain: str, port: int, + http_prefix: str, domain: str, port: int, sendThreads: [], postLog: [], cachedWebfingers: {}, personCache: {}, messageJson: {}, federationList: [], debug: bool, signingPrivateKeyPem: str, @@ -1703,7 +1703,7 @@ def _receiveUndoBookmark(recentPostsCache: {}, session, cachedWebfingers, personCache, nickname, domain, port, bookmarkedPostJson, None, True, allowDeletion, - httpPrefix, __version__, + http_prefix, __version__, 'inbox', YTReplacementDomain, twitterReplacementDomain, @@ -1719,7 +1719,7 @@ def _receiveUndoBookmark(recentPostsCache: {}, def _receiveDelete(session, handle: str, isGroup: bool, base_dir: str, - httpPrefix: str, domain: str, port: int, + http_prefix: str, domain: str, port: int, sendThreads: [], postLog: [], cachedWebfingers: {}, personCache: {}, messageJson: {}, federationList: [], debug: bool, allowDeletion: bool, @@ -1735,7 +1735,7 @@ def _receiveDelete(session, handle: str, isGroup: bool, base_dir: str, if not hasObjectString(messageJson, debug): return False domainFull = getFullDomain(domain, port) - deletePrefix = httpPrefix + '://' + domainFull + '/' + deletePrefix = http_prefix + '://' + domainFull + '/' if (not allowDeletion and (not messageJson['object'].startswith(deletePrefix) or not messageJson['actor'].startswith(deletePrefix))): @@ -1774,7 +1774,7 @@ def _receiveDelete(session, handle: str, isGroup: bool, base_dir: str, print('DEBUG: delete post not found in inbox or outbox') print(messageId) return True - deletePost(base_dir, httpPrefix, handleNickname, + deletePost(base_dir, http_prefix, handleNickname, handleDomain, postFilename, debug, recentPostsCache) if debug: @@ -1785,7 +1785,7 @@ def _receiveDelete(session, handle: str, isGroup: bool, base_dir: str, postFilename = locatePost(base_dir, 'news', handleDomain, messageId) if postFilename: - deletePost(base_dir, httpPrefix, 'news', + deletePost(base_dir, http_prefix, 'news', handleDomain, postFilename, debug, recentPostsCache) if debug: @@ -1795,7 +1795,7 @@ def _receiveDelete(session, handle: str, isGroup: bool, base_dir: str, def _receiveAnnounce(recentPostsCache: {}, session, handle: str, isGroup: bool, base_dir: str, - httpPrefix: str, + http_prefix: str, domain: str, onionDomain: str, port: int, sendThreads: [], postLog: [], cachedWebfingers: {}, personCache: {}, messageJson: {}, federationList: [], @@ -1910,7 +1910,7 @@ def _receiveAnnounce(recentPostsCache: {}, session, cachedWebfingers, personCache, nickname, domain, port, messageJson, None, True, allowDeletion, - httpPrefix, __version__, + http_prefix, __version__, 'inbox', YTReplacementDomain, twitterReplacementDomain, @@ -1931,7 +1931,7 @@ def _receiveAnnounce(recentPostsCache: {}, print('Generated announce html ' + announceHtml.replace('\n', '')) postJsonObject = downloadAnnounce(session, base_dir, - httpPrefix, + http_prefix, nickname, domain, messageJson, __version__, translate, @@ -1962,7 +1962,7 @@ def _receiveAnnounce(recentPostsCache: {}, print('DEBUG: Announce post downloaded for ' + messageJson['actor'] + ' -> ' + messageJson['object']) storeHashTags(base_dir, nickname, domain, - httpPrefix, domainFull, + http_prefix, domainFull, postJsonObject, translate) # Try to obtain the actor for this person # so that their avatar can be shown @@ -1984,7 +1984,7 @@ def _receiveAnnounce(recentPostsCache: {}, if isRecentPost(postJsonObject, 3): if not os.path.isfile(postFilename + '.tts'): domainFull = getFullDomain(domain, port) - updateSpeaker(base_dir, httpPrefix, + updateSpeaker(base_dir, http_prefix, nickname, domain, domainFull, postJsonObject, personCache, translate, lookupActor, @@ -2003,7 +2003,7 @@ def _receiveAnnounce(recentPostsCache: {}, pubKey = \ getPersonPubKey(base_dir, session, lookupActor, personCache, debug, - __version__, httpPrefix, + __version__, http_prefix, domain, onionDomain, signingPrivateKeyPem) if pubKey: @@ -2023,7 +2023,7 @@ def _receiveAnnounce(recentPostsCache: {}, def _receiveUndoAnnounce(recentPostsCache: {}, session, handle: str, isGroup: bool, base_dir: str, - httpPrefix: str, domain: str, port: int, + http_prefix: str, domain: str, port: int, sendThreads: [], postLog: [], cachedWebfingers: {}, personCache: {}, messageJson: {}, federationList: [], debug: bool) -> bool: @@ -2104,7 +2104,7 @@ def _postAllowsComments(postFilename: str) -> bool: return jsonPostAllowsComments(postJsonObject) -def populateReplies(base_dir: str, httpPrefix: str, domain: str, +def populateReplies(base_dir: str, http_prefix: str, domain: str, messageJson: {}, maxReplies: int, debug: bool) -> bool: """Updates the list of replies for a post on this domain if a reply to it arrives @@ -2123,11 +2123,11 @@ def populateReplies(base_dir: str, httpPrefix: str, domain: str, if debug: print('DEBUG: post contains a reply') # is this a reply to a post on this domain? - if not replyTo.startswith(httpPrefix + '://' + domain + '/'): + if not replyTo.startswith(http_prefix + '://' + domain + '/'): if debug: print('DEBUG: post is a reply to another not on this domain') print(replyTo) - print('Expected: ' + httpPrefix + '://' + domain + '/') + print('Expected: ' + http_prefix + '://' + domain + '/') return False replyToNickname = getNicknameFromActor(replyTo) if not replyToNickname: @@ -2188,7 +2188,7 @@ def _validPostContent(base_dir: str, nickname: str, domain: str, messageJson: {}, maxMentions: int, maxEmoji: int, allowLocalNetworkAccess: bool, debug: bool, systemLanguage: str, - httpPrefix: str, domainFull: str, + http_prefix: str, domainFull: str, personCache: {}) -> bool: """Is the content of a received post valid? Check for bad html @@ -2264,7 +2264,7 @@ def _validPostContent(base_dir: str, nickname: str, domain: str, # check that the post is in a language suitable for this account if not understoodPostLanguage(base_dir, nickname, domain, messageJson, systemLanguage, - httpPrefix, domainFull, + http_prefix, domainFull, personCache): return False # check for filtered content @@ -2289,7 +2289,7 @@ def _validPostContent(base_dir: str, nickname: str, domain: str, return True -def _obtainAvatarForReplyPost(session, base_dir: str, httpPrefix: str, +def _obtainAvatarForReplyPost(session, base_dir: str, http_prefix: str, domain: str, onionDomain: str, personCache: {}, postJsonObject: {}, debug: bool, signingPrivateKeyPem: str) -> None: @@ -2322,7 +2322,7 @@ def _obtainAvatarForReplyPost(session, base_dir: str, httpPrefix: str, pubKey = \ getPersonPubKey(base_dir, session, lookupActor, personCache, debug, - __version__, httpPrefix, + __version__, http_prefix, domain, onionDomain, signingPrivateKeyPem) if pubKey: if debug: @@ -2607,7 +2607,7 @@ def _groupHandle(base_dir: str, handle: str) -> bool: def _sendToGroupMembers(session, base_dir: str, handle: str, port: int, postJsonObject: {}, - httpPrefix: str, federationList: [], + http_prefix: str, federationList: [], sendThreads: [], postLog: [], cachedWebfingers: {}, personCache: {}, debug: bool, systemLanguage: str, @@ -2642,7 +2642,7 @@ def _sendToGroupMembers(session, base_dir: str, handle: str, port: int, nickname = handle.split('@')[0].replace('!', '') domain = handle.split('@')[1] domainFull = getFullDomain(domain, port) - groupActor = localActorUrl(httpPrefix, nickname, domainFull) + groupActor = localActorUrl(http_prefix, nickname, domainFull) if groupActor not in postJsonObject['to']: return cc = '' @@ -2650,7 +2650,7 @@ def _sendToGroupMembers(session, base_dir: str, handle: str, port: int, # save to the group outbox so that replies will be to the group # rather than the original sender - savePostToBox(base_dir, httpPrefix, None, + savePostToBox(base_dir, http_prefix, None, nickname, domain, postJsonObject, 'outbox') postId = removeIdEnding(postJsonObject['object']['id']) @@ -2660,14 +2660,14 @@ def _sendToGroupMembers(session, base_dir: str, handle: str, port: int, createAnnounce(session, base_dir, federationList, nickname, domain, port, groupActor + '/followers', cc, - httpPrefix, postId, False, False, + http_prefix, postId, False, False, sendThreads, postLog, personCache, cachedWebfingers, debug, __version__, signingPrivateKeyPem) sendToFollowersThread(session, base_dir, nickname, domain, onionDomain, i2pDomain, port, - httpPrefix, federationList, + http_prefix, federationList, sendThreads, postLog, cachedWebfingers, personCache, announceJson, debug, __version__, @@ -2787,7 +2787,7 @@ def _updateLastSeen(base_dir: str, handle: str, actor: str) -> None: print('EX: unable to write ' + lastSeenFilename) -def _bounceDM(senderPostId: str, session, httpPrefix: str, +def _bounceDM(senderPostId: str, session, http_prefix: str, base_dir: str, nickname: str, domain: str, port: int, sendingHandle: str, federationList: [], sendThreads: [], postLog: [], @@ -2846,7 +2846,7 @@ def _bounceDM(senderPostId: str, session, httpPrefix: str, lowBandwidth = False postJsonObject = \ createDirectMessagePost(base_dir, nickname, domain, port, - httpPrefix, content, followersOnly, + http_prefix, content, followersOnly, saveToFile, clientToServer, commentsEnabled, attachImageFilename, mediaType, @@ -2864,7 +2864,7 @@ def _bounceDM(senderPostId: str, session, httpPrefix: str, sendSignedJson(postJsonObject, session, base_dir, nickname, domain, port, senderNickname, senderDomain, senderPort, cc, - httpPrefix, False, False, federationList, + http_prefix, False, False, federationList, sendThreads, postLog, cachedWebfingers, personCache, debug, __version__, None, groupAccount, signingPrivateKeyPem, 7238634) @@ -2873,7 +2873,7 @@ def _bounceDM(senderPostId: str, session, httpPrefix: str, def _isValidDM(base_dir: str, nickname: str, domain: str, port: int, postJsonObject: {}, updateIndexList: [], - session, httpPrefix: str, + session, http_prefix: str, federationList: [], sendThreads: [], postLog: [], cachedWebfingers: {}, @@ -2895,7 +2895,7 @@ def _isValidDM(base_dir: str, nickname: str, domain: str, port: int, if not os.path.isfile(followDMsFilename): # dm index will be updated updateIndexList.append('dm') - actUrl = localActorUrl(httpPrefix, nickname, domain) + actUrl = localActorUrl(http_prefix, nickname, domain) _dmNotify(base_dir, handle, actUrl + '/dm') return True @@ -2949,7 +2949,7 @@ def _isValidDM(base_dir: str, nickname: str, domain: str, port: int, if not obj.get('inReplyTo'): bouncedId = removeIdEnding(postJsonObject['id']) _bounceDM(bouncedId, - session, httpPrefix, + session, http_prefix, base_dir, nickname, domain, port, sendH, @@ -2966,13 +2966,13 @@ def _isValidDM(base_dir: str, nickname: str, domain: str, port: int, # dm index will be updated updateIndexList.append('dm') - actUrl = localActorUrl(httpPrefix, nickname, domain) + actUrl = localActorUrl(http_prefix, nickname, domain) _dmNotify(base_dir, handle, actUrl + '/dm') return True def _receiveQuestionVote(base_dir: str, nickname: str, domain: str, - httpPrefix: str, handle: str, debug: bool, + http_prefix: str, handle: str, debug: bool, postJsonObject: {}, recentPostsCache: {}, session, onionDomain: str, i2pDomain: str, port: int, federationList: [], sendThreads: [], postLog: [], @@ -3022,7 +3022,7 @@ def _receiveQuestionVote(base_dir: str, nickname: str, domain: str, session, cachedWebfingers, personCache, nickname, domain, port, questionJson, None, True, allowDeletion, - httpPrefix, __version__, + http_prefix, __version__, 'inbox', YTReplacementDomain, twitterReplacementDomain, @@ -3041,7 +3041,7 @@ def _receiveQuestionVote(base_dir: str, nickname: str, domain: str, questionPostFilename, debug) # Is this a question created by this instance? - idPrefix = httpPrefix + '://' + domain + idPrefix = http_prefix + '://' + domain if not questionJson['object']['id'].startswith(idPrefix): return # if the votes on a question have changed then @@ -3051,7 +3051,7 @@ def _receiveQuestionVote(base_dir: str, nickname: str, domain: str, sharedItemFederationTokens = {} sendToFollowersThread(session, base_dir, nickname, domain, onionDomain, i2pDomain, port, - httpPrefix, federationList, + http_prefix, federationList, sendThreads, postLog, cachedWebfingers, personCache, postJsonObject, debug, __version__, @@ -3063,7 +3063,7 @@ def _receiveQuestionVote(base_dir: str, nickname: str, domain: str, def _createReplyNotificationFile(base_dir: str, nickname: str, domain: str, handle: str, debug: bool, postIsDM: bool, postJsonObject: {}, actor: str, - updateIndexList: [], httpPrefix: str, + updateIndexList: [], http_prefix: str, defaultReplyIntervalHours: int) -> bool: """Generates a file indicating that a new reply has arrived The file can then be used by other systems to create a notification @@ -3098,7 +3098,7 @@ def _createReplyNotificationFile(base_dir: str, nickname: str, domain: str, defaultReplyIntervalHours) if canReplyTo(base_dir, nickname, domain, inReplyTo, replyIntervalHours): - actUrl = localActorUrl(httpPrefix, nickname, domain) + actUrl = localActorUrl(http_prefix, nickname, domain) _replyNotify(base_dir, handle, actUrl + '/tlreplies') else: if debug: @@ -3111,7 +3111,7 @@ def _createReplyNotificationFile(base_dir: str, nickname: str, domain: str, return isReplyToMutedPost -def _lowFrequencyPostNotification(base_dir: str, httpPrefix: str, +def _lowFrequencyPostNotification(base_dir: str, http_prefix: str, nickname: str, domain: str, port: int, handle: str, postIsDM: bool, jsonObj: {}) -> None: @@ -3138,7 +3138,7 @@ def _lowFrequencyPostNotification(base_dir: str, httpPrefix: str, postId = removeIdEnding(jsonObj['id']) domFull = getFullDomain(domain, port) postLink = \ - localActorUrl(httpPrefix, nickname, domFull) + \ + localActorUrl(http_prefix, nickname, domFull) + \ '?notifypost=' + postId.replace('/', '-') _notifyPostArrival(base_dir, handle, postLink) @@ -3177,7 +3177,7 @@ def _checkForGitPatches(base_dir: str, nickname: str, domain: str, def _inboxAfterInitial(recentPostsCache: {}, maxRecentPosts: int, session, keyId: str, handle: str, messageJson: {}, - base_dir: str, httpPrefix: str, sendThreads: [], + base_dir: str, http_prefix: str, sendThreads: [], postLog: [], cachedWebfingers: {}, personCache: {}, queue: [], domain: str, onionDomain: str, i2pDomain: str, @@ -3212,7 +3212,7 @@ def _inboxAfterInitial(recentPostsCache: {}, maxRecentPosts: int, if _receiveLike(recentPostsCache, session, handle, isGroup, - base_dir, httpPrefix, + base_dir, http_prefix, domain, port, onionDomain, sendThreads, postLog, @@ -3235,7 +3235,7 @@ def _inboxAfterInitial(recentPostsCache: {}, maxRecentPosts: int, if _receiveUndoLike(recentPostsCache, session, handle, isGroup, - base_dir, httpPrefix, + base_dir, http_prefix, domain, port, sendThreads, postLog, cachedWebfingers, @@ -3257,7 +3257,7 @@ def _inboxAfterInitial(recentPostsCache: {}, maxRecentPosts: int, if _receiveReaction(recentPostsCache, session, handle, isGroup, - base_dir, httpPrefix, + base_dir, http_prefix, domain, port, onionDomain, sendThreads, postLog, @@ -3280,7 +3280,7 @@ def _inboxAfterInitial(recentPostsCache: {}, maxRecentPosts: int, if _receiveUndoReaction(recentPostsCache, session, handle, isGroup, - base_dir, httpPrefix, + base_dir, http_prefix, domain, port, sendThreads, postLog, cachedWebfingers, @@ -3302,7 +3302,7 @@ def _inboxAfterInitial(recentPostsCache: {}, maxRecentPosts: int, if _receiveBookmark(recentPostsCache, session, handle, isGroup, - base_dir, httpPrefix, + base_dir, http_prefix, domain, port, sendThreads, postLog, cachedWebfingers, @@ -3324,7 +3324,7 @@ def _inboxAfterInitial(recentPostsCache: {}, maxRecentPosts: int, if _receiveUndoBookmark(recentPostsCache, session, handle, isGroup, - base_dir, httpPrefix, + base_dir, http_prefix, domain, port, sendThreads, postLog, cachedWebfingers, @@ -3349,7 +3349,7 @@ def _inboxAfterInitial(recentPostsCache: {}, maxRecentPosts: int, if _receiveAnnounce(recentPostsCache, session, handle, isGroup, - base_dir, httpPrefix, + base_dir, http_prefix, domain, onionDomain, port, sendThreads, postLog, cachedWebfingers, @@ -3371,7 +3371,7 @@ def _inboxAfterInitial(recentPostsCache: {}, maxRecentPosts: int, if _receiveUndoAnnounce(recentPostsCache, session, handle, isGroup, - base_dir, httpPrefix, + base_dir, http_prefix, domain, port, sendThreads, postLog, cachedWebfingers, @@ -3384,7 +3384,7 @@ def _inboxAfterInitial(recentPostsCache: {}, maxRecentPosts: int, return False if _receiveDelete(session, handle, isGroup, - base_dir, httpPrefix, + base_dir, http_prefix, domain, port, sendThreads, postLog, cachedWebfingers, @@ -3416,7 +3416,7 @@ def _inboxAfterInitial(recentPostsCache: {}, maxRecentPosts: int, if _validPostContent(base_dir, nickname, domain, postJsonObject, maxMentions, maxEmoji, allowLocalNetworkAccess, debug, - systemLanguage, httpPrefix, + systemLanguage, http_prefix, domainFull, personCache): # is the sending actor valid? if not validSendingActor(session, base_dir, nickname, domain, @@ -3444,11 +3444,11 @@ def _inboxAfterInitial(recentPostsCache: {}, maxRecentPosts: int, # list of indexes to be updated updateIndexList = ['inbox'] - populateReplies(base_dir, httpPrefix, domain, postJsonObject, + populateReplies(base_dir, http_prefix, domain, postJsonObject, maxReplies, debug) _receiveQuestionVote(base_dir, nickname, domain, - httpPrefix, handle, debug, + http_prefix, handle, debug, postJsonObject, recentPostsCache, session, onionDomain, i2pDomain, port, federationList, sendThreads, postLog, @@ -3472,7 +3472,7 @@ def _inboxAfterInitial(recentPostsCache: {}, maxRecentPosts: int, if postIsDM: if not _isValidDM(base_dir, nickname, domain, port, postJsonObject, updateIndexList, - session, httpPrefix, + session, http_prefix, federationList, sendThreads, postLog, cachedWebfingers, @@ -3485,17 +3485,17 @@ def _inboxAfterInitial(recentPostsCache: {}, maxRecentPosts: int, return False # get the actor being replied to - actor = localActorUrl(httpPrefix, nickname, domainFull) + actor = localActorUrl(http_prefix, nickname, domainFull) # create a reply notification file if needed isReplyToMutedPost = \ _createReplyNotificationFile(base_dir, nickname, domain, handle, debug, postIsDM, postJsonObject, actor, - updateIndexList, httpPrefix, + updateIndexList, http_prefix, defaultReplyIntervalHours) - if isImageMedia(session, base_dir, httpPrefix, + if isImageMedia(session, base_dir, http_prefix, nickname, domain, postJsonObject, translate, YTReplacementDomain, @@ -3511,13 +3511,13 @@ def _inboxAfterInitial(recentPostsCache: {}, maxRecentPosts: int, # get the avatar for a reply/announce _obtainAvatarForReplyPost(session, base_dir, - httpPrefix, domain, onionDomain, + http_prefix, domain, onionDomain, personCache, postJsonObject, debug, signingPrivateKeyPem) # save the post to file if saveJson(postJsonObject, destinationFilename): - _lowFrequencyPostNotification(base_dir, httpPrefix, + _lowFrequencyPostNotification(base_dir, http_prefix, nickname, domain, port, handle, postIsDM, jsonObj) @@ -3541,7 +3541,7 @@ def _inboxAfterInitial(recentPostsCache: {}, maxRecentPosts: int, if boxname == 'inbox': if isRecentPost(postJsonObject, 3): domainFull = getFullDomain(domain, port) - updateSpeaker(base_dir, httpPrefix, + updateSpeaker(base_dir, http_prefix, nickname, domain, domainFull, postJsonObject, personCache, translate, None, themeName) @@ -3554,7 +3554,7 @@ def _inboxAfterInitial(recentPostsCache: {}, maxRecentPosts: int, _inboxStorePostToHtmlCache(recentPostsCache, maxRecentPosts, translate, base_dir, - httpPrefix, + http_prefix, session, cachedWebfingers, personCache, handleName, @@ -3590,7 +3590,7 @@ def _inboxAfterInitial(recentPostsCache: {}, maxRecentPosts: int, # If this was an edit then delete the previous version of the post if editedFilename: - deletePost(base_dir, httpPrefix, + deletePost(base_dir, http_prefix, nickname, domain, editedFilename, debug, recentPostsCache) @@ -3600,14 +3600,14 @@ def _inboxAfterInitial(recentPostsCache: {}, maxRecentPosts: int, _inboxUpdateCalendar(base_dir, handle, postJsonObject) storeHashTags(base_dir, handleName, domain, - httpPrefix, domainFull, + http_prefix, domainFull, postJsonObject, translate) # send the post out to group members if isGroup: _sendToGroupMembers(session, base_dir, handle, port, postJsonObject, - httpPrefix, federationList, sendThreads, + http_prefix, federationList, sendThreads, postLog, cachedWebfingers, personCache, debug, systemLanguage, onionDomain, i2pDomain, @@ -3843,7 +3843,7 @@ def _checkJsonSignature(base_dir: str, queueJson: {}) -> (bool, bool): return hasJsonSignature, jwebsigType -def _receiveFollowRequest(session, base_dir: str, httpPrefix: str, +def _receiveFollowRequest(session, base_dir: str, http_prefix: str, port: int, sendThreads: [], postLog: [], cachedWebfingers: {}, personCache: {}, messageJson: {}, federationList: [], @@ -3968,7 +3968,7 @@ def _receiveFollowRequest(session, base_dir: str, httpPrefix: str, print('Obtaining the following actor: ' + messageJson['actor']) if not getPersonPubKey(base_dir, session, messageJson['actor'], personCache, debug, projectVersion, - httpPrefix, domainToFollow, onionDomain, + http_prefix, domainToFollow, onionDomain, signingPrivateKeyPem): if debug: print('Unable to obtain following actor: ' + @@ -4005,7 +4005,7 @@ def _receiveFollowRequest(session, base_dir: str, httpPrefix: str, print('Obtaining the following actor: ' + messageJson['actor']) if not getPersonPubKey(base_dir, session, messageJson['actor'], personCache, debug, projectVersion, - httpPrefix, domainToFollow, onionDomain, + http_prefix, domainToFollow, onionDomain, signingPrivateKeyPem): if debug: print('Unable to obtain following actor: ' + @@ -4048,7 +4048,7 @@ def _receiveFollowRequest(session, base_dir: str, httpPrefix: str, print('EX: unable to write ' + followersFilename) print('Beginning follow accept') - return followedAccountAccepts(session, base_dir, httpPrefix, + return followedAccountAccepts(session, base_dir, http_prefix, nicknameToFollow, domainToFollow, port, nickname, domain, fromPort, messageJson['actor'], federationList, @@ -4060,18 +4060,22 @@ def _receiveFollowRequest(session, base_dir: str, httpPrefix: str, def runInboxQueue(recentPostsCache: {}, maxRecentPosts: int, projectVersion: str, - base_dir: str, httpPrefix: str, sendThreads: [], postLog: [], + base_dir: str, http_prefix: str, + sendThreads: [], postLog: [], cachedWebfingers: {}, personCache: {}, queue: [], domain: str, - onionDomain: str, i2pDomain: str, port: int, proxyType: str, + onionDomain: str, i2pDomain: str, + port: int, proxyType: str, federationList: [], maxReplies: int, - domainMaxPostsPerDay: int, accountMaxPostsPerDay: int, + domainMaxPostsPerDay: int, + accountMaxPostsPerDay: int, allowDeletion: bool, debug: bool, maxMentions: int, maxEmoji: int, translate: {}, unitTest: bool, YTReplacementDomain: str, twitterReplacementDomain: str, showPublishedDateOnly: bool, - maxFollowers: int, allowLocalNetworkAccess: bool, + maxFollowers: int, + allowLocalNetworkAccess: bool, peertubeInstances: [], verifyAllSignatures: bool, themeName: str, systemLanguage: str, @@ -4228,7 +4232,7 @@ def runInboxQueue(recentPostsCache: {}, maxRecentPosts: int, pubKey = \ getPersonPubKey(base_dir, session, keyId, personCache, debug, - projectVersion, httpPrefix, + projectVersion, http_prefix, domain, onionDomain, signingPrivateKeyPem) if pubKey: if debug: @@ -4259,7 +4263,7 @@ def runInboxQueue(recentPostsCache: {}, maxRecentPosts: int, pprint(queueJson['httpHeaders']) postStr = json.dumps(queueJson['post']) httpSignatureFailed = False - if not verifyPostHeaders(httpPrefix, + if not verifyPostHeaders(http_prefix, pubKey, queueJson['httpHeaders'], queueJson['path'], False, @@ -4339,7 +4343,7 @@ def runInboxQueue(recentPostsCache: {}, maxRecentPosts: int, # queueJson['post']['id'] = queueJson['id'] if _receiveUndo(session, - base_dir, httpPrefix, port, + base_dir, http_prefix, port, sendThreads, postLog, cachedWebfingers, personCache, @@ -4360,7 +4364,7 @@ def runInboxQueue(recentPostsCache: {}, maxRecentPosts: int, if debug: print('DEBUG: checking for follow requests') if _receiveFollowRequest(session, - base_dir, httpPrefix, port, + base_dir, http_prefix, port, sendThreads, postLog, cachedWebfingers, personCache, @@ -4385,7 +4389,7 @@ def runInboxQueue(recentPostsCache: {}, maxRecentPosts: int, print('DEBUG: No follow requests') if receiveAcceptReject(session, - base_dir, httpPrefix, domain, port, + base_dir, http_prefix, domain, port, sendThreads, postLog, cachedWebfingers, personCache, queueJson['post'], @@ -4402,7 +4406,7 @@ def runInboxQueue(recentPostsCache: {}, maxRecentPosts: int, continue if _receiveUpdate(recentPostsCache, session, - base_dir, httpPrefix, + base_dir, http_prefix, domain, port, sendThreads, postLog, cachedWebfingers, @@ -4426,7 +4430,7 @@ def runInboxQueue(recentPostsCache: {}, maxRecentPosts: int, # get recipients list recipientsDict, recipientsDictFollowers = \ _inboxPostRecipients(base_dir, queueJson['post'], - httpPrefix, domain, port, debug) + http_prefix, domain, port, debug) if len(recipientsDict.items()) == 0 and \ len(recipientsDictFollowers.items()) == 0: if debug: @@ -4485,7 +4489,7 @@ def runInboxQueue(recentPostsCache: {}, maxRecentPosts: int, maxRecentPosts, session, keyId, handle, queueJson['post'], - base_dir, httpPrefix, + base_dir, http_prefix, sendThreads, postLog, cachedWebfingers, personCache, queue, diff --git a/languages.py b/languages.py index 60b556f96..70a12b330 100644 --- a/languages.py +++ b/languages.py @@ -91,7 +91,7 @@ def setActorLanguages(base_dir: str, actorJson: {}, languagesStr: str) -> None: def understoodPostLanguage(base_dir: str, nickname: str, domain: str, messageJson: {}, systemLanguage: str, - httpPrefix: str, domainFull: str, + http_prefix: str, domainFull: str, personCache: {}) -> bool: """Returns true if the post is written in a language understood by this account @@ -105,7 +105,7 @@ def understoodPostLanguage(base_dir: str, nickname: str, domain: str, return True if msgObject['contentMap'].get(systemLanguage): return True - personUrl = localActorUrl(httpPrefix, nickname, domainFull) + personUrl = localActorUrl(http_prefix, nickname, domainFull) actorJson = getPersonFromCache(base_dir, personUrl, personCache, False) if not actorJson: print('WARN: unable to load actor to check languages ' + personUrl) diff --git a/like.py b/like.py index e9b895699..dae98ae6c 100644 --- a/like.py +++ b/like.py @@ -71,7 +71,7 @@ def likedByPerson(postJsonObject: {}, nickname: str, domain: str) -> bool: def _like(recentPostsCache: {}, session, base_dir: str, federationList: [], nickname: str, domain: str, port: int, - ccList: [], httpPrefix: str, + ccList: [], http_prefix: str, objectUrl: str, actorLiked: str, clientToServer: bool, sendThreads: [], postLog: [], @@ -91,7 +91,7 @@ def _like(recentPostsCache: {}, newLikeJson = { "@context": "https://www.w3.org/ns/activitystreams", 'type': 'Like', - 'actor': localActorUrl(httpPrefix, nickname, fullDomain), + 'actor': localActorUrl(http_prefix, nickname, fullDomain), 'object': objectUrl } if ccList: @@ -135,7 +135,7 @@ def _like(recentPostsCache: {}, nickname, domain, port, likedPostNickname, likedPostDomain, likedPostPort, 'https://www.w3.org/ns/activitystreams#Public', - httpPrefix, True, clientToServer, federationList, + http_prefix, True, clientToServer, federationList, sendThreads, postLog, cachedWebfingers, personCache, debug, projectVersion, None, groupAccount, signingPrivateKeyPem, 7367374) @@ -145,7 +145,7 @@ def _like(recentPostsCache: {}, def likePost(recentPostsCache: {}, session, base_dir: str, federationList: [], - nickname: str, domain: str, port: int, httpPrefix: str, + nickname: str, domain: str, port: int, http_prefix: str, likeNickname: str, likeDomain: str, likePort: int, ccList: [], likeStatusNumber: int, clientToServer: bool, @@ -157,12 +157,12 @@ def likePost(recentPostsCache: {}, """ likeDomain = getFullDomain(likeDomain, likePort) - actorLiked = localActorUrl(httpPrefix, likeNickname, likeDomain) + actorLiked = localActorUrl(http_prefix, likeNickname, likeDomain) objectUrl = actorLiked + '/statuses/' + str(likeStatusNumber) return _like(recentPostsCache, session, base_dir, federationList, nickname, domain, port, - ccList, httpPrefix, objectUrl, actorLiked, clientToServer, + ccList, http_prefix, objectUrl, actorLiked, clientToServer, sendThreads, postLog, personCache, cachedWebfingers, debug, projectVersion, signingPrivateKeyPem) @@ -170,7 +170,7 @@ def likePost(recentPostsCache: {}, def sendLikeViaServer(base_dir: str, session, fromNickname: str, password: str, fromDomain: str, fromPort: int, - httpPrefix: str, likeUrl: str, + http_prefix: str, likeUrl: str, cachedWebfingers: {}, personCache: {}, debug: bool, projectVersion: str, signingPrivateKeyPem: str) -> {}: @@ -182,7 +182,7 @@ def sendLikeViaServer(base_dir: str, session, fromDomainFull = getFullDomain(fromDomain, fromPort) - actor = localActorUrl(httpPrefix, fromNickname, fromDomainFull) + actor = localActorUrl(http_prefix, fromNickname, fromDomainFull) newLikeJson = { "@context": "https://www.w3.org/ns/activitystreams", @@ -191,10 +191,10 @@ def sendLikeViaServer(base_dir: str, session, 'object': likeUrl } - handle = httpPrefix + '://' + fromDomainFull + '/@' + fromNickname + handle = http_prefix + '://' + fromDomainFull + '/@' + fromNickname # lookup the inbox for the To handle - wfRequest = webfingerHandle(session, handle, httpPrefix, + wfRequest = webfingerHandle(session, handle, http_prefix, cachedWebfingers, fromDomain, projectVersion, debug, False, signingPrivateKeyPem) @@ -216,7 +216,7 @@ def sendLikeViaServer(base_dir: str, session, originDomain, base_dir, session, wfRequest, personCache, - projectVersion, httpPrefix, + projectVersion, http_prefix, fromNickname, fromDomain, postToBox, 72873) @@ -236,7 +236,7 @@ def sendLikeViaServer(base_dir: str, session, 'Content-type': 'application/json', 'Authorization': authHeader } - postResult = postJson(httpPrefix, fromDomainFull, + postResult = postJson(http_prefix, fromDomainFull, session, newLikeJson, [], inboxUrl, headers, 3, True) if not postResult: @@ -253,7 +253,7 @@ def sendLikeViaServer(base_dir: str, session, def sendUndoLikeViaServer(base_dir: str, session, fromNickname: str, password: str, fromDomain: str, fromPort: int, - httpPrefix: str, likeUrl: str, + http_prefix: str, likeUrl: str, cachedWebfingers: {}, personCache: {}, debug: bool, projectVersion: str, signingPrivateKeyPem: str) -> {}: @@ -265,7 +265,7 @@ def sendUndoLikeViaServer(base_dir: str, session, fromDomainFull = getFullDomain(fromDomain, fromPort) - actor = localActorUrl(httpPrefix, fromNickname, fromDomainFull) + actor = localActorUrl(http_prefix, fromNickname, fromDomainFull) newUndoLikeJson = { "@context": "https://www.w3.org/ns/activitystreams", @@ -278,10 +278,10 @@ def sendUndoLikeViaServer(base_dir: str, session, } } - handle = httpPrefix + '://' + fromDomainFull + '/@' + fromNickname + handle = http_prefix + '://' + fromDomainFull + '/@' + fromNickname # lookup the inbox for the To handle - wfRequest = webfingerHandle(session, handle, httpPrefix, + wfRequest = webfingerHandle(session, handle, http_prefix, cachedWebfingers, fromDomain, projectVersion, debug, False, signingPrivateKeyPem) @@ -304,7 +304,7 @@ def sendUndoLikeViaServer(base_dir: str, session, originDomain, base_dir, session, wfRequest, personCache, projectVersion, - httpPrefix, fromNickname, + http_prefix, fromNickname, fromDomain, postToBox, 72625) @@ -324,7 +324,7 @@ def sendUndoLikeViaServer(base_dir: str, session, 'Content-type': 'application/json', 'Authorization': authHeader } - postResult = postJson(httpPrefix, fromDomainFull, + postResult = postJson(http_prefix, fromDomainFull, session, newUndoLikeJson, [], inboxUrl, headers, 3, True) if not postResult: @@ -339,7 +339,7 @@ def sendUndoLikeViaServer(base_dir: str, session, def outboxLike(recentPostsCache: {}, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, nickname: str, domain: str, port: int, messageJson: {}, debug: bool) -> None: """ When a like request is received by the outbox from c2s @@ -374,7 +374,7 @@ def outboxLike(recentPostsCache: {}, def outboxUndoLike(recentPostsCache: {}, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, nickname: str, domain: str, port: int, messageJson: {}, debug: bool) -> None: """ When an undo like request is received by the outbox from c2s diff --git a/manualapprove.py b/manualapprove.py index 313aeab82..1a1ac49e9 100644 --- a/manualapprove.py +++ b/manualapprove.py @@ -20,7 +20,7 @@ from threads import threadWithTrace def manualDenyFollowRequest(session, base_dir: str, - httpPrefix: str, + http_prefix: str, nickname: str, domain: str, port: int, denyHandle: str, federationList: [], @@ -59,7 +59,7 @@ def manualDenyFollowRequest(session, base_dir: str, if ':' in denyDomain: denyPort = getPortFromDomain(denyDomain) denyDomain = removeDomainPort(denyDomain) - followedAccountRejects(session, base_dir, httpPrefix, + followedAccountRejects(session, base_dir, http_prefix, nickname, domain, port, denyNickname, denyDomain, denyPort, federationList, @@ -72,7 +72,7 @@ def manualDenyFollowRequest(session, base_dir: str, def manualDenyFollowRequestThread(session, base_dir: str, - httpPrefix: str, + http_prefix: str, nickname: str, domain: str, port: int, denyHandle: str, federationList: [], @@ -87,7 +87,7 @@ def manualDenyFollowRequestThread(session, base_dir: str, thr = \ threadWithTrace(target=manualDenyFollowRequest, args=(session, base_dir, - httpPrefix, + http_prefix, nickname, domain, port, denyHandle, federationList, @@ -121,7 +121,7 @@ def _approveFollowerHandle(accountDir: str, approveHandle: str) -> None: def manualApproveFollowRequest(session, base_dir: str, - httpPrefix: str, + http_prefix: str, nickname: str, domain: str, port: int, approveHandle: str, federationList: [], @@ -156,7 +156,7 @@ def manualApproveFollowRequest(session, base_dir: str, groupAccount = True reqNick = approveHandle.split('@')[0].replace('!', '') reqDomain = approveHandle.split('@')[1].strip() - reqPrefix = httpPrefix + '://' + reqDomain + reqPrefix = http_prefix + '://' + reqDomain paths = getUserPaths() for userPath in paths: if reqPrefix + userPath + reqNick in approveFollowsStr: @@ -206,7 +206,7 @@ def manualApproveFollowRequest(session, base_dir: str, handle + ' follow request from ' + approveNickname + '@' + approveDomain) followedAccountAccepts(session, base_dir, - httpPrefix, + http_prefix, nickname, domain, port, approveNickname, approveDomain, @@ -278,7 +278,7 @@ def manualApproveFollowRequest(session, base_dir: str, def manualApproveFollowRequestThread(session, base_dir: str, - httpPrefix: str, + http_prefix: str, nickname: str, domain: str, port: int, approveHandle: str, federationList: [], @@ -293,7 +293,7 @@ def manualApproveFollowRequestThread(session, base_dir: str, thr = \ threadWithTrace(target=manualApproveFollowRequest, args=(session, base_dir, - httpPrefix, + http_prefix, nickname, domain, port, approveHandle, federationList, diff --git a/mastoapiv1.py b/mastoapiv1.py index 283325959..80f0b1857 100644 --- a/mastoapiv1.py +++ b/mastoapiv1.py @@ -84,7 +84,7 @@ def _getMastoApiV1Account(base_dir: str, nickname: str, domain: str) -> {}: def mastoApiV1Response(path: str, callingDomain: str, uaStr: str, authorized: bool, - httpPrefix: str, + http_prefix: str, base_dir: str, nickname: str, domain: str, domainFull: str, onionDomain: str, i2pDomain: str, @@ -210,10 +210,10 @@ def mastoApiV1Response(path: str, callingDomain: str, if callingDomain.endswith('.onion') and onionDomain: domainFull = onionDomain - httpPrefix = 'http' + http_prefix = 'http' elif (callingDomain.endswith('.i2p') and i2pDomain): domainFull = i2pDomain - httpPrefix = 'http' + http_prefix = 'http' if brochMode: showNodeInfoAccounts = False @@ -223,7 +223,7 @@ def mastoApiV1Response(path: str, callingDomain: str, instanceTitle, instanceDescriptionShort, instanceDescription, - httpPrefix, + http_prefix, base_dir, adminNickname, domain, diff --git a/media.py b/media.py index e1d864fbc..e352e647d 100644 --- a/media.py +++ b/media.py @@ -293,7 +293,7 @@ def _updateEtag(mediaFilename: str) -> None: str(mediaFilename) + '.etag') -def attachMedia(base_dir: str, httpPrefix: str, +def attachMedia(base_dir: str, http_prefix: str, nickname: str, domain: str, port: int, postJson: {}, imageFilename: str, mediaType: str, description: str, @@ -338,7 +338,7 @@ def attachMedia(base_dir: str, httpPrefix: str, 'mediaType': mediaType, 'name': description, 'type': 'Document', - 'url': httpPrefix + '://' + domain + '/' + mediaPath + 'url': http_prefix + '://' + domain + '/' + mediaPath } if mediaType.startswith('image/'): attachmentJson['blurhash'] = _getBlurHash() diff --git a/metadata.py b/metadata.py index cccb8fa7d..84a2b004b 100644 --- a/metadata.py +++ b/metadata.py @@ -85,7 +85,7 @@ def metaDataInstance(showAccounts: bool, instanceTitle: str, instanceDescriptionShort: str, instanceDescription: str, - httpPrefix: str, base_dir: str, + http_prefix: str, base_dir: str, adminNickname: str, domain: str, domainFull: str, registration: bool, systemLanguage: str, version: str) -> {}: @@ -128,7 +128,7 @@ def metaDataInstance(showAccounts: bool, isBot = True url = \ - httpPrefix + '://' + domainFull + '/@' + \ + http_prefix + '://' + domainFull + '/@' + \ adminActor['preferredUsername'] if showAccounts: @@ -170,7 +170,7 @@ def metaDataInstance(showAccounts: bool, 'status_count': localPosts, 'user_count': activeAccounts }, - 'thumbnail': httpPrefix + '://' + domainFull + '/login.png', + 'thumbnail': http_prefix + '://' + domainFull + '/login.png', 'title': instanceTitle, 'uri': domainFull, 'urls': {}, @@ -208,13 +208,13 @@ def metaDataInstance(showAccounts: bool, def metadataCustomEmoji(base_dir: str, - httpPrefix: str, domainFull: str) -> {}: + http_prefix: str, domainFull: str) -> {}: """Returns the custom emoji Endpoint /api/v1/custom_emojis See https://docs.joinmastodon.org/methods/instance/custom_emojis """ result = [] - emojisUrl = httpPrefix + '://' + domainFull + '/emoji' + emojisUrl = http_prefix + '://' + domainFull + '/emoji' for subdir, dirs, files in os.walk(base_dir + '/emoji'): for f in files: if len(f) < 3: diff --git a/migrate.py b/migrate.py index 1db549e20..146b9a2e6 100644 --- a/migrate.py +++ b/migrate.py @@ -22,7 +22,7 @@ from person import getActorJson def _moveFollowingHandlesForAccount(base_dir: str, nickname: str, domain: str, session, - httpPrefix: str, cachedWebfingers: {}, + http_prefix: str, cachedWebfingers: {}, debug: bool, signingPrivateKeyPem: str) -> int: """Goes through all follows for an account and updates any that have moved @@ -38,14 +38,14 @@ def _moveFollowingHandlesForAccount(base_dir: str, nickname: str, domain: str, ctr += \ _updateMovedHandle(base_dir, nickname, domain, followHandle, session, - httpPrefix, cachedWebfingers, + http_prefix, cachedWebfingers, debug, signingPrivateKeyPem) return ctr def _updateMovedHandle(base_dir: str, nickname: str, domain: str, handle: str, session, - httpPrefix: str, cachedWebfingers: {}, + http_prefix: str, cachedWebfingers: {}, debug: bool, signingPrivateKeyPem: str) -> int: """Check if an account has moved, and if so then alter following.txt for each account. @@ -59,7 +59,7 @@ def _updateMovedHandle(base_dir: str, nickname: str, domain: str, if handle.startswith('@'): handle = handle[1:] wfRequest = webfingerHandle(session, handle, - httpPrefix, cachedWebfingers, + http_prefix, cachedWebfingers, domain, __version__, debug, False, signingPrivateKeyPem) if not wfRequest: @@ -82,10 +82,10 @@ def _updateMovedHandle(base_dir: str, nickname: str, domain: str, return ctr gnunet = False - if httpPrefix == 'gnunet': + if http_prefix == 'gnunet': gnunet = True personJson = \ - getActorJson(domain, personUrl, httpPrefix, gnunet, debug, False, + getActorJson(domain, personUrl, http_prefix, gnunet, debug, False, signingPrivateKeyPem, None) if not personJson: return ctr @@ -174,7 +174,7 @@ def _updateMovedHandle(base_dir: str, nickname: str, domain: str, def migrateAccounts(base_dir: str, session, - httpPrefix: str, cachedWebfingers: {}, + http_prefix: str, cachedWebfingers: {}, debug: bool, signingPrivateKeyPem: str) -> int: """If followed accounts change then this modifies the following lists for each account accordingly. @@ -190,7 +190,7 @@ def migrateAccounts(base_dir: str, session, domain = handle.split('@')[1] ctr += \ _moveFollowingHandlesForAccount(base_dir, nickname, domain, - session, httpPrefix, + session, http_prefix, cachedWebfingers, debug, signingPrivateKeyPem) break diff --git a/newsdaemon.py b/newsdaemon.py index 8e64b1ce4..213df8d7a 100644 --- a/newsdaemon.py +++ b/newsdaemon.py @@ -285,7 +285,7 @@ def hashtagRuleTree(operators: [], return tree -def _hashtagAdd(base_dir: str, httpPrefix: str, domainFull: str, +def _hashtagAdd(base_dir: str, http_prefix: str, domainFull: str, postJsonObject: {}, actionStr: str, hashtags: [], systemLanguage: str, translate: {}) -> None: @@ -301,7 +301,7 @@ def _hashtagAdd(base_dir: str, httpPrefix: str, domainFull: str, if not validHashTag(htId): return - hashtagUrl = httpPrefix + "://" + domainFull + "/tags/" + htId + hashtagUrl = http_prefix + "://" + domainFull + "/tags/" + htId newTag = { 'href': hashtagUrl, 'name': addHashtag, @@ -337,11 +337,11 @@ def _hashtagAdd(base_dir: str, httpPrefix: str, domainFull: str, if ':' in domain: domain = domain.split(':')[0] storeHashTags(base_dir, 'news', domain, - httpPrefix, domainFull, + http_prefix, domainFull, postJsonObject, translate) -def _hashtagRemove(httpPrefix: str, domainFull: str, postJsonObject: {}, +def _hashtagRemove(http_prefix: str, domainFull: str, postJsonObject: {}, actionStr: str, hashtags: [], systemLanguage: str) -> None: """Removes a hashtag via a hashtag rule """ @@ -352,7 +352,7 @@ def _hashtagRemove(httpPrefix: str, domainFull: str, postJsonObject: {}, if rmHashtag in hashtags: hashtags.remove(rmHashtag) htId = rmHashtag.replace('#', '') - hashtagUrl = httpPrefix + "://" + domainFull + "/tags/" + htId + hashtagUrl = http_prefix + "://" + domainFull + "/tags/" + htId # remove tag html from the post content hashtagHtml = \ " None: def runNewswireDaemon(base_dir: str, httpd, - httpPrefix: str, domain: str, port: int, + http_prefix: str, domain: str, port: int, translate: {}) -> None: """Periodically updates RSS feeds """ @@ -823,7 +823,7 @@ def runNewswireDaemon(base_dir: str, httpd, print('Converting newswire to activitypub format') _convertRSStoActivityPub(base_dir, - httpPrefix, domain, port, + http_prefix, domain, port, newNewswire, translate, httpd.recentPostsCache, httpd.maxRecentPosts, @@ -845,7 +845,7 @@ def runNewswireDaemon(base_dir: str, httpd, archiveSubdir = \ archiveDir + '/accounts/news@' + domain + '/outbox' print('Archiving news posts') - archivePostsForPerson(httpPrefix, 'news', + archivePostsForPerson(http_prefix, 'news', domain, base_dir, 'outbox', archiveSubdir, httpd.recentPostsCache, diff --git a/newswire.py b/newswire.py index ae2cf824d..aa5b214e1 100644 --- a/newswire.py +++ b/newswire.py @@ -49,7 +49,7 @@ def _removeCDATA(text: str) -> str: return text -def rss2Header(httpPrefix: str, +def rss2Header(http_prefix: str, nickname: str, domainFull: str, title: str, translate: {}) -> str: """Header for an RSS 2.0 feed @@ -62,18 +62,18 @@ def rss2Header(httpPrefix: str, if title.startswith('News'): rssStr += \ ' Newswire' + \ - ' ' + httpPrefix + '://' + domainFull + \ + ' ' + http_prefix + '://' + domainFull + \ '/newswire.xml' + '' elif title.startswith('Site'): rssStr += \ ' ' + domainFull + '' + \ - ' ' + httpPrefix + '://' + domainFull + \ + ' ' + http_prefix + '://' + domainFull + \ '/blog/rss.xml' + '' else: rssStr += \ ' ' + translate[title] + '' + \ ' ' + \ - localActorUrl(httpPrefix, nickname, domainFull) + \ + localActorUrl(http_prefix, nickname, domainFull) + \ '/rss.xml' + '' return rssStr @@ -920,12 +920,12 @@ def getRSS(base_dir: str, domain: str, session, url: str, def getRSSfromDict(base_dir: str, newswire: {}, - httpPrefix: str, domainFull: str, + http_prefix: str, domainFull: str, title: str, translate: {}) -> str: """Returns an rss feed from the current newswire dict. This allows other instances to subscribe to the same newswire """ - rssStr = rss2Header(httpPrefix, + rssStr = rss2Header(http_prefix, None, domainFull, 'Newswire', translate) if not newswire: @@ -951,7 +951,7 @@ def getRSSfromDict(base_dir: str, newswire: {}, url = fields[1] if '://' not in url: if domainFull not in url: - url = httpPrefix + '://' + domainFull + url + url = http_prefix + '://' + domainFull + url rssStr += ' ' + url + '\n' rssDateStr = pubDate.strftime("%a, %d %b %Y %H:%M:%S UT") diff --git a/outbox.py b/outbox.py index 680befaee..033b3bf89 100644 --- a/outbox.py +++ b/outbox.py @@ -59,7 +59,7 @@ from webapp_post import individualPostAsHtml def _outboxPersonReceiveUpdate(recentPostsCache: {}, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, nickname: str, domain: str, port: int, messageJson: {}, debug: bool) -> None: """ Receive an actor update from c2s @@ -101,7 +101,7 @@ def _outboxPersonReceiveUpdate(recentPostsCache: {}, print('DEBUG: c2s actor update id is not a string') return domainFull = getFullDomain(domain, port) - actor = localActorUrl(httpPrefix, nickname, domainFull) + actor = localActorUrl(http_prefix, nickname, domainFull) if len(messageJson['to']) != 1: if debug: print('DEBUG: c2s actor update - to does not contain one actor ' + @@ -179,7 +179,7 @@ def _outboxPersonReceiveUpdate(recentPostsCache: {}, def postMessageToOutbox(session, translate: {}, messageJson: {}, postToNickname: str, - server, base_dir: str, httpPrefix: str, + server, base_dir: str, http_prefix: str, domain: str, domainFull: str, onionDomain: str, i2pDomain: str, port: int, recentPostsCache: {}, followersThreads: [], @@ -215,7 +215,7 @@ def postMessageToOutbox(session, translate: {}, if debug: print('DEBUG: POST to outbox - adding Create wrapper') messageJson = \ - outboxMessageCreateWrap(httpPrefix, + outboxMessageCreateWrap(http_prefix, postToNickname, domain, port, messageJson) @@ -334,7 +334,7 @@ def postMessageToOutbox(session, translate: {}, os.rename(uploadMediaFilename, mediaFilename) # change the url of the attachment attach['url'] = \ - httpPrefix + '://' + domainFull + '/' + mediaPath + http_prefix + '://' + domainFull + '/' + mediaPath attach['url'] = \ attach['url'].replace('/media/', '/system/' + @@ -371,7 +371,7 @@ def postMessageToOutbox(session, translate: {}, savedFilename = \ savePostToBox(base_dir, - httpPrefix, + http_prefix, postId, postToNickname, domainFull, messageJson, outboxName) @@ -412,14 +412,14 @@ def postMessageToOutbox(session, translate: {}, if messageJson['type'] in indexedActivities: indexes = [outboxName, "inbox"] selfActor = \ - localActorUrl(httpPrefix, postToNickname, domainFull) + localActorUrl(http_prefix, postToNickname, domainFull) for boxNameIndex in indexes: if not boxNameIndex: continue # should this also go to the media timeline? if boxNameIndex == 'inbox': - if isImageMedia(session, base_dir, httpPrefix, + if isImageMedia(session, base_dir, http_prefix, postToNickname, domain, messageJson, translate, @@ -462,7 +462,7 @@ def postMessageToOutbox(session, translate: {}, postToNickname, domain, port, messageJson, None, True, allowDeletion, - httpPrefix, __version__, + http_prefix, __version__, boxNameIndex, YTReplacementDomain, twitterReplacementDomain, @@ -513,7 +513,7 @@ def postMessageToOutbox(session, translate: {}, base_dir, postToNickname, domain, onionDomain, i2pDomain, - port, httpPrefix, + port, http_prefix, federationList, sendThreads, postLog, @@ -541,52 +541,52 @@ def postMessageToOutbox(session, translate: {}, if debug: print('DEBUG: handle any like requests') outboxLike(recentPostsCache, - base_dir, httpPrefix, + base_dir, http_prefix, postToNickname, domain, port, messageJson, debug) if debug: print('DEBUG: handle any undo like requests') outboxUndoLike(recentPostsCache, - base_dir, httpPrefix, + base_dir, http_prefix, postToNickname, domain, port, messageJson, debug) if debug: print('DEBUG: handle any emoji reaction requests') outboxReaction(recentPostsCache, - base_dir, httpPrefix, + base_dir, http_prefix, postToNickname, domain, port, messageJson, debug) if debug: print('DEBUG: handle any undo emoji reaction requests') outboxUndoReaction(recentPostsCache, - base_dir, httpPrefix, + base_dir, http_prefix, postToNickname, domain, port, messageJson, debug) if debug: print('DEBUG: handle any undo announce requests') outboxUndoAnnounce(recentPostsCache, - base_dir, httpPrefix, + base_dir, http_prefix, postToNickname, domain, port, messageJson, debug) if debug: print('DEBUG: handle any bookmark requests') outboxBookmark(recentPostsCache, - base_dir, httpPrefix, + base_dir, http_prefix, postToNickname, domain, port, messageJson, debug) if debug: print('DEBUG: handle any undo bookmark requests') outboxUndoBookmark(recentPostsCache, - base_dir, httpPrefix, + base_dir, http_prefix, postToNickname, domain, port, messageJson, debug) if debug: print('DEBUG: handle delete requests') - outboxDelete(base_dir, httpPrefix, + outboxDelete(base_dir, http_prefix, postToNickname, domain, messageJson, debug, allowDeletion, @@ -594,20 +594,20 @@ def postMessageToOutbox(session, translate: {}, if debug: print('DEBUG: handle block requests') - outboxBlock(base_dir, httpPrefix, + outboxBlock(base_dir, http_prefix, postToNickname, domain, port, messageJson, debug) if debug: print('DEBUG: handle undo block requests') - outboxUndoBlock(base_dir, httpPrefix, + outboxUndoBlock(base_dir, http_prefix, postToNickname, domain, port, messageJson, debug) if debug: print('DEBUG: handle mute requests') - outboxMute(base_dir, httpPrefix, + outboxMute(base_dir, http_prefix, postToNickname, domain, port, messageJson, debug, @@ -615,7 +615,7 @@ def postMessageToOutbox(session, translate: {}, if debug: print('DEBUG: handle undo mute requests') - outboxUndoMute(base_dir, httpPrefix, + outboxUndoMute(base_dir, http_prefix, postToNickname, domain, port, messageJson, debug, @@ -623,21 +623,21 @@ def postMessageToOutbox(session, translate: {}, if debug: print('DEBUG: handle share uploads') - outboxShareUpload(base_dir, httpPrefix, postToNickname, domain, + outboxShareUpload(base_dir, http_prefix, postToNickname, domain, port, messageJson, debug, city, systemLanguage, translate, lowBandwidth, contentLicenseUrl) if debug: print('DEBUG: handle undo share uploads') - outboxUndoShareUpload(base_dir, httpPrefix, + outboxUndoShareUpload(base_dir, http_prefix, postToNickname, domain, port, messageJson, debug) if debug: print('DEBUG: handle actor updates from c2s') _outboxPersonReceiveUpdate(recentPostsCache, - base_dir, httpPrefix, + base_dir, http_prefix, postToNickname, domain, port, messageJson, debug) @@ -654,7 +654,7 @@ def postMessageToOutbox(session, translate: {}, sendToNamedAddressesThread(server.session, base_dir, postToNickname, domain, onionDomain, i2pDomain, port, - httpPrefix, + http_prefix, federationList, sendThreads, postLog, diff --git a/person.py b/person.py index 4fa7c8528..b3628218b 100644 --- a/person.py +++ b/person.py @@ -91,7 +91,8 @@ def generateRSAKey() -> (str, str): return privateKeyPem, publicKeyPem -def setProfileImage(base_dir: str, httpPrefix: str, nickname: str, domain: str, +def setProfileImage(base_dir: str, http_prefix: str, + nickname: str, domain: str, port: int, imageFilename: str, imageType: str, resolution: str, city: str, contentLicenseUrl: str) -> bool: @@ -148,7 +149,7 @@ def setProfileImage(base_dir: str, httpPrefix: str, nickname: str, domain: str, if personJson: personJson[iconFilenameBase]['mediaType'] = mediaType personJson[iconFilenameBase]['url'] = \ - localActorUrl(httpPrefix, nickname, fullDomain) + \ + localActorUrl(http_prefix, nickname, fullDomain) + \ '/' + iconFilename saveJson(personJson, personFilename) @@ -348,7 +349,7 @@ def getDefaultPersonContext() -> str: def _createPersonBase(base_dir: str, nickname: str, domain: str, port: int, - httpPrefix: str, saveToFile: bool, + http_prefix: str, saveToFile: bool, manualFollowerApproval: bool, groupAccount: bool, password: str) -> (str, str, {}, {}): @@ -357,7 +358,7 @@ def _createPersonBase(base_dir: str, nickname: str, domain: str, port: int, privateKeyPem, publicKeyPem = generateRSAKey() webfingerEndpoint = \ createWebfingerEndpoint(nickname, domain, port, - httpPrefix, publicKeyPem, + http_prefix, publicKeyPem, groupAccount) if saveToFile: storeWebfingerEndpoint(nickname, domain, port, @@ -373,20 +374,20 @@ def _createPersonBase(base_dir: str, nickname: str, domain: str, port: int, # Enable follower approval by default approveFollowers = manualFollowerApproval personName = nickname - personId = localActorUrl(httpPrefix, nickname, domain) + personId = localActorUrl(http_prefix, nickname, domain) inboxStr = personId + '/inbox' - personUrl = httpPrefix + '://' + domain + '/@' + personName + personUrl = http_prefix + '://' + domain + '/@' + personName if nickname == 'inbox': # shared inbox - inboxStr = httpPrefix + '://' + domain + '/actor/inbox' - personId = httpPrefix + '://' + domain + '/actor' - personUrl = httpPrefix + '://' + domain + \ + inboxStr = http_prefix + '://' + domain + '/actor/inbox' + personId = http_prefix + '://' + domain + '/actor' + personUrl = http_prefix + '://' + domain + \ '/about/more?instance_actor=true' personName = originalDomain approveFollowers = True personType = 'Application' elif nickname == 'news': - personUrl = httpPrefix + '://' + domain + \ + personUrl = http_prefix + '://' + domain + \ '/about/more?news_actor=true' approveFollowers = True personType = 'Application' @@ -415,7 +416,7 @@ def _createPersonBase(base_dir: str, nickname: str, domain: str, port: int, 'devices': personId + '/collections/devices', 'endpoints': { 'id': personId + '/endpoints', - 'sharedInbox': httpPrefix + '://' + domain + '/inbox', + 'sharedInbox': http_prefix + '://' + domain + '/inbox', }, 'featured': personId + '/collections/featured', 'featuredTags': personId + '/collections/tags', @@ -538,7 +539,7 @@ def _createPersonBase(base_dir: str, nickname: str, domain: str, port: int, return privateKeyPem, publicKeyPem, newPerson, webfingerEndpoint -def registerAccount(base_dir: str, httpPrefix: str, domain: str, port: int, +def registerAccount(base_dir: str, http_prefix: str, domain: str, port: int, nickname: str, password: str, manualFollowerApproval: bool) -> bool: """Registers a new account from the web interface @@ -554,7 +555,7 @@ def registerAccount(base_dir: str, httpPrefix: str, domain: str, port: int, (privateKeyPem, publicKeyPem, newPerson, webfingerEndpoint) = createPerson(base_dir, nickname, domain, port, - httpPrefix, True, + http_prefix, True, manualFollowerApproval, password) if privateKeyPem: @@ -563,14 +564,14 @@ def registerAccount(base_dir: str, httpPrefix: str, domain: str, port: int, def createGroup(base_dir: str, nickname: str, domain: str, port: int, - httpPrefix: str, saveToFile: bool, + http_prefix: str, saveToFile: bool, password: str = None) -> (str, str, {}, {}): """Returns a group """ (privateKeyPem, publicKeyPem, newPerson, webfingerEndpoint) = createPerson(base_dir, nickname, domain, port, - httpPrefix, saveToFile, + http_prefix, saveToFile, False, password, True) return privateKeyPem, publicKeyPem, newPerson, webfingerEndpoint @@ -591,7 +592,7 @@ def savePersonQrcode(base_dir: str, def createPerson(base_dir: str, nickname: str, domain: str, port: int, - httpPrefix: str, saveToFile: bool, + http_prefix: str, saveToFile: bool, manualFollowerApproval: bool, password: str, groupAccount: bool = False) -> (str, str, {}, {}): @@ -617,7 +618,7 @@ def createPerson(base_dir: str, nickname: str, domain: str, port: int, (privateKeyPem, publicKeyPem, newPerson, webfingerEndpoint) = _createPersonBase(base_dir, nickname, domain, port, - httpPrefix, + http_prefix, saveToFile, manualFollowerApproval, groupAccount, @@ -704,19 +705,19 @@ def createPerson(base_dir: str, nickname: str, domain: str, port: int, def createSharedInbox(base_dir: str, nickname: str, domain: str, port: int, - httpPrefix: str) -> (str, str, {}, {}): + http_prefix: str) -> (str, str, {}, {}): """Generates the shared inbox """ - return _createPersonBase(base_dir, nickname, domain, port, httpPrefix, + return _createPersonBase(base_dir, nickname, domain, port, http_prefix, True, True, False, None) def createNewsInbox(base_dir: str, domain: str, port: int, - httpPrefix: str) -> (str, str, {}, {}): + http_prefix: str) -> (str, str, {}, {}): """Generates the news inbox """ return createPerson(base_dir, 'news', domain, port, - httpPrefix, True, True, None) + http_prefix, True, True, None) def personUpgradeActor(base_dir: str, personJson: {}, @@ -896,7 +897,7 @@ def personLookup(domain: str, path: str, base_dir: str) -> {}: def personBoxJson(recentPostsCache: {}, session, base_dir: str, domain: str, port: int, path: str, - httpPrefix: str, noOfItems: int, boxname: str, + http_prefix: str, noOfItems: int, boxname: str, authorized: bool, newswireVotesThreshold: int, positiveVoting: bool, votingTimeMins: int) -> {}: @@ -947,50 +948,50 @@ def personBoxJson(recentPostsCache: {}, if boxname == 'inbox': return createInbox(recentPostsCache, session, base_dir, nickname, domain, port, - httpPrefix, + http_prefix, noOfItems, headerOnly, pageNumber) elif boxname == 'dm': return createDMTimeline(recentPostsCache, session, base_dir, nickname, domain, port, - httpPrefix, + http_prefix, noOfItems, headerOnly, pageNumber) elif boxname == 'tlbookmarks' or boxname == 'bookmarks': return createBookmarksTimeline(session, base_dir, nickname, domain, - port, httpPrefix, + port, http_prefix, noOfItems, headerOnly, pageNumber) elif boxname == 'tlreplies': return createRepliesTimeline(recentPostsCache, session, base_dir, nickname, domain, - port, httpPrefix, + port, http_prefix, noOfItems, headerOnly, pageNumber) elif boxname == 'tlmedia': return createMediaTimeline(session, base_dir, nickname, domain, port, - httpPrefix, noOfItems, headerOnly, + http_prefix, noOfItems, headerOnly, pageNumber) elif boxname == 'tlnews': return createNewsTimeline(session, base_dir, nickname, domain, port, - httpPrefix, noOfItems, headerOnly, + http_prefix, noOfItems, headerOnly, newswireVotesThreshold, positiveVoting, votingTimeMins, pageNumber) elif boxname == 'tlfeatures': return createFeaturesTimeline(session, base_dir, nickname, domain, port, - httpPrefix, noOfItems, headerOnly, + http_prefix, noOfItems, headerOnly, pageNumber) elif boxname == 'tlblogs': return createBlogsTimeline(session, base_dir, nickname, domain, port, - httpPrefix, noOfItems, headerOnly, + http_prefix, noOfItems, headerOnly, pageNumber) elif boxname == 'outbox': return createOutbox(session, base_dir, nickname, domain, port, - httpPrefix, + http_prefix, noOfItems, headerOnly, authorized, pageNumber) elif boxname == 'moderation': return createModeration(base_dir, nickname, domain, port, - httpPrefix, + http_prefix, noOfItems, headerOnly, pageNumber) return None @@ -1497,19 +1498,19 @@ def getActorJson(hostDomain: str, handle: str, http: bool, gnunet: bool, cachedWebfingers = {} proxyType = None if http or domain.endswith('.onion'): - httpPrefix = 'http' + http_prefix = 'http' proxyType = 'tor' elif domain.endswith('.i2p'): - httpPrefix = 'http' + http_prefix = 'http' proxyType = 'i2p' elif gnunet: - httpPrefix = 'gnunet' + http_prefix = 'gnunet' proxyType = 'gnunet' else: if '127.0.' not in domain and '192.168.' not in domain: - httpPrefix = 'https' + http_prefix = 'https' else: - httpPrefix = 'http' + http_prefix = 'http' if existingSession: session = existingSession else: @@ -1532,7 +1533,7 @@ def getActorJson(hostDomain: str, handle: str, http: bool, gnunet: bool, else: handle = nickname + '@' + domain wfRequest = webfingerHandle(session, handle, - httpPrefix, cachedWebfingers, + http_prefix, cachedWebfingers, hostDomain, __version__, debug, groupAccount, signingPrivateKeyPem) if not wfRequest: @@ -1570,10 +1571,10 @@ def getActorJson(hostDomain: str, handle: str, http: bool, gnunet: bool, for userPath in paths: personUrl = personUrl.replace(userPath, '/actor/') if not personUrl and groupAccount: - personUrl = httpPrefix + '://' + domain + '/c/' + nickname + personUrl = http_prefix + '://' + domain + '/c/' + nickname if not personUrl: # try single user instance - personUrl = httpPrefix + '://' + domain + '/' + nickname + personUrl = http_prefix + '://' + domain + '/' + nickname headersList = ( "ld+json", "jrd+json", "activity+json" ) @@ -1592,7 +1593,7 @@ def getActorJson(hostDomain: str, handle: str, http: bool, gnunet: bool, } personJson = \ getJson(signingPrivateKeyPem, session, personUrl, asHeader, None, - debug, __version__, httpPrefix, hostDomain, 20, quiet) + debug, __version__, http_prefix, hostDomain, 20, quiet) if personJson: if not quiet: pprint(personJson) diff --git a/pgp.py b/pgp.py index 48edfe554..406947cbf 100644 --- a/pgp.py +++ b/pgp.py @@ -455,7 +455,7 @@ def pgpLocalPublicKey() -> str: def pgpPublicKeyUpload(base_dir: str, session, nickname: str, password: str, domain: str, port: int, - httpPrefix: str, + http_prefix: str, cachedWebfingers: {}, personCache: {}, debug: bool, test: str, signingPrivateKeyPem: str) -> {}: @@ -500,7 +500,7 @@ def pgpPublicKeyUpload(base_dir: str, session, if debug: print('Actor for ' + handle + ' obtained') - actor = localActorUrl(httpPrefix, nickname, domainFull) + actor = localActorUrl(http_prefix, nickname, domainFull) handle = replaceUsersWithAt(actor) # check that this looks like the correct actor @@ -557,7 +557,7 @@ def pgpPublicKeyUpload(base_dir: str, session, # lookup the inbox for the To handle wfRequest = \ - webfingerHandle(session, handle, httpPrefix, cachedWebfingers, + webfingerHandle(session, handle, http_prefix, cachedWebfingers, domain, __version__, debug, False, signingPrivateKeyPem) if not wfRequest: @@ -578,7 +578,7 @@ def pgpPublicKeyUpload(base_dir: str, session, (inboxUrl, pubKeyId, pubKey, fromPersonId, sharedInbox, avatarUrl, displayName, _) = getPersonBox(signingPrivateKeyPem, originDomain, base_dir, session, wfRequest, personCache, - __version__, httpPrefix, nickname, + __version__, http_prefix, nickname, domain, postToBox, 35725) if not inboxUrl: @@ -601,7 +601,7 @@ def pgpPublicKeyUpload(base_dir: str, session, tries = 0 while tries < 4: postResult = \ - postJson(httpPrefix, domainFull, + postJson(http_prefix, domainFull, session, actorUpdate, [], inboxUrl, headers, 5, quiet) if postResult: diff --git a/posts.py b/posts.py index df2b772fd..85d19c942 100644 --- a/posts.py +++ b/posts.py @@ -228,7 +228,7 @@ def getUserUrl(wfRequest: {}, sourceId: int, debug: bool) -> str: def parseUserFeed(signingPrivateKeyPem: str, session, feedUrl: str, asHeader: {}, - projectVersion: str, httpPrefix: str, + projectVersion: str, http_prefix: str, originDomain: str, debug: bool, depth: int = 0) -> []: if depth > 10: if debug: @@ -238,11 +238,11 @@ def parseUserFeed(signingPrivateKeyPem: str, if debug: print('Getting user feed for ' + feedUrl) print('User feed header ' + str(asHeader)) - print('httpPrefix ' + str(httpPrefix)) + print('http_prefix ' + str(http_prefix)) print('originDomain ' + str(originDomain)) feedJson = getJson(signingPrivateKeyPem, session, feedUrl, asHeader, None, - debug, projectVersion, httpPrefix, originDomain) + debug, projectVersion, http_prefix, originDomain) if not feedJson: profileStr = 'https://www.w3.org/ns/activitystreams' acceptStr = 'application/ld+json; profile="' + profileStr + '"' @@ -252,7 +252,7 @@ def parseUserFeed(signingPrivateKeyPem: str, } feedJson = getJson(signingPrivateKeyPem, session, feedUrl, asHeader, None, debug, projectVersion, - httpPrefix, originDomain) + http_prefix, originDomain) if not feedJson: if debug: print('No user feed was returned') @@ -282,7 +282,7 @@ def parseUserFeed(signingPrivateKeyPem: str, userFeed = \ parseUserFeed(signingPrivateKeyPem, session, nextUrl, asHeader, - projectVersion, httpPrefix, + projectVersion, http_prefix, originDomain, debug, depth + 1) if userFeed: return userFeed @@ -298,7 +298,7 @@ def parseUserFeed(signingPrivateKeyPem: str, def _getPersonBoxActor(session, base_dir: str, actor: str, profileStr: str, asHeader: {}, debug: bool, projectVersion: str, - httpPrefix: str, originDomain: str, + http_prefix: str, originDomain: str, personCache: {}, signingPrivateKeyPem: str, sourceId: int) -> {}: @@ -314,14 +314,14 @@ def _getPersonBoxActor(session, base_dir: str, actor: str, 'Accept': 'application/ld+json; profile="' + profileStr + '"' } personJson = getJson(signingPrivateKeyPem, session, actor, asHeader, None, - debug, projectVersion, httpPrefix, originDomain) + debug, projectVersion, http_prefix, originDomain) if personJson: return personJson asHeader = { 'Accept': 'application/ld+json; profile="' + profileStr + '"' } personJson = getJson(signingPrivateKeyPem, session, actor, asHeader, None, - debug, projectVersion, httpPrefix, originDomain) + debug, projectVersion, http_prefix, originDomain) if personJson: return personJson print('Unable to get actor for ' + actor + ' ' + str(sourceId)) @@ -332,7 +332,7 @@ def _getPersonBoxActor(session, base_dir: str, actor: str, def getPersonBox(signingPrivateKeyPem: str, originDomain: str, base_dir: str, session, wfRequest: {}, personCache: {}, - projectVersion: str, httpPrefix: str, + projectVersion: str, http_prefix: str, nickname: str, domain: str, boxName: str = 'inbox', sourceId=0) -> (str, str, str, str, str, str, str, bool): @@ -353,13 +353,13 @@ def getPersonBox(signingPrivateKeyPem: str, originDomain: str, if nickname == 'dev': # try single user instance print('getPersonBox: Trying single user instance with ld+json') - personUrl = httpPrefix + '://' + domain + personUrl = http_prefix + '://' + domain asHeader = { 'Accept': 'application/ld+json; profile="' + profileStr + '"' } else: # the final fallback is a mastodon style url - personUrl = localActorUrl(httpPrefix, nickname, domain) + personUrl = localActorUrl(http_prefix, nickname, domain) if not personUrl: return None, None, None, None, None, None, None, None @@ -368,7 +368,7 @@ def getPersonBox(signingPrivateKeyPem: str, originDomain: str, _getPersonBoxActor(session, base_dir, personUrl, profileStr, asHeader, debug, projectVersion, - httpPrefix, originDomain, + http_prefix, originDomain, personCache, signingPrivateKeyPem, sourceId) if not personJson: @@ -529,7 +529,7 @@ def _getPosts(session, outboxUrl: str, maxPosts: int, federationList: [], personCache: {}, raw: bool, simple: bool, debug: bool, - projectVersion: str, httpPrefix: str, + projectVersion: str, http_prefix: str, originDomain: str, systemLanguage: str, signingPrivateKeyPem: str) -> {}: """Gets public posts from an outbox @@ -560,7 +560,7 @@ def _getPosts(session, outboxUrl: str, maxPosts: int, i = 0 userFeed = parseUserFeed(signingPrivateKeyPem, session, outboxUrl, asHeader, - projectVersion, httpPrefix, + projectVersion, http_prefix, originDomain, debug) for item in userFeed: result.append(item) @@ -574,7 +574,7 @@ def _getPosts(session, outboxUrl: str, maxPosts: int, print('Returning a human readable version of the feed') userFeed = parseUserFeed(signingPrivateKeyPem, session, outboxUrl, asHeader, - projectVersion, httpPrefix, + projectVersion, http_prefix, originDomain, debug) if not userFeed: return personPosts @@ -748,7 +748,7 @@ def getPostDomains(session, outboxUrl: str, maxPosts: int, federationList: [], personCache: {}, debug: bool, - projectVersion: str, httpPrefix: str, + projectVersion: str, http_prefix: str, domain: str, wordFrequency: {}, domainList: [], systemLanguage: str, @@ -777,7 +777,7 @@ def getPostDomains(session, outboxUrl: str, maxPosts: int, i = 0 userFeed = parseUserFeed(signingPrivateKeyPem, session, outboxUrl, asHeader, - projectVersion, httpPrefix, domain, debug) + projectVersion, http_prefix, domain, debug) for item in userFeed: i += 1 if i > maxPosts: @@ -815,7 +815,7 @@ def _getPostsForBlockedDomains(base_dir: str, federationList: [], personCache: {}, debug: bool, - projectVersion: str, httpPrefix: str, + projectVersion: str, http_prefix: str, domain: str, signingPrivateKeyPem: str) -> {}: """Returns a dictionary of posts for blocked domains @@ -842,7 +842,7 @@ def _getPostsForBlockedDomains(base_dir: str, i = 0 userFeed = parseUserFeed(signingPrivateKeyPem, session, outboxUrl, asHeader, - projectVersion, httpPrefix, domain, debug) + projectVersion, http_prefix, domain, debug) for item in userFeed: i += 1 if i > maxPosts: @@ -905,7 +905,7 @@ def deleteAllPosts(base_dir: str, print('ERROR: deleteAllPosts ' + str(ex)) -def savePostToBox(base_dir: str, httpPrefix: str, postId: str, +def savePostToBox(base_dir: str, http_prefix: str, postId: str, nickname: str, domain: str, postJsonObject: {}, boxname: str) -> str: """Saves the give json to the give box @@ -921,7 +921,7 @@ def savePostToBox(base_dir: str, httpPrefix: str, postId: str, if not postId: statusNumber, published = getStatusNumber() postId = \ - localActorUrl(httpPrefix, nickname, originalDomain) + \ + localActorUrl(http_prefix, nickname, originalDomain) + \ '/statuses/' + statusNumber postJsonObject['id'] = postId + '/activity' if hasObjectDict(postJsonObject): @@ -1064,7 +1064,7 @@ def _createPostCWFromReply(base_dir: str, nickname: str, domain: str, def _createPostS2S(base_dir: str, nickname: str, domain: str, port: int, - httpPrefix: str, content: str, statusNumber: str, + http_prefix: str, content: str, statusNumber: str, published: str, newPostId: str, postContext: {}, toRecipients: [], toCC: [], inReplyTo: str, sensitive: bool, commentsEnabled: bool, @@ -1076,14 +1076,14 @@ def _createPostS2S(base_dir: str, nickname: str, domain: str, port: int, contentLicenseUrl: str) -> {}: """Creates a new server-to-server post """ - actorUrl = localActorUrl(httpPrefix, nickname, domain) + actorUrl = localActorUrl(http_prefix, nickname, domain) idStr = \ - localActorUrl(httpPrefix, nickname, domain) + \ + localActorUrl(http_prefix, nickname, domain) + \ '/statuses/' + statusNumber + '/replies' newPostUrl = \ - httpPrefix + '://' + domain + '/@' + nickname + '/' + statusNumber + http_prefix + '://' + domain + '/@' + nickname + '/' + statusNumber newPostAttributedTo = \ - localActorUrl(httpPrefix, nickname, domain) + localActorUrl(http_prefix, nickname, domain) if not conversationId: conversationId = newPostId newPost = { @@ -1131,7 +1131,7 @@ def _createPostS2S(base_dir: str, nickname: str, domain: str, port: int, } if attachImageFilename: newPost['object'] = \ - attachMedia(base_dir, httpPrefix, nickname, domain, port, + attachMedia(base_dir, http_prefix, nickname, domain, port, newPost['object'], attachImageFilename, mediaType, imageDescription, city, lowBandwidth, contentLicenseUrl) @@ -1139,7 +1139,7 @@ def _createPostS2S(base_dir: str, nickname: str, domain: str, port: int, def _createPostC2S(base_dir: str, nickname: str, domain: str, port: int, - httpPrefix: str, content: str, statusNumber: str, + http_prefix: str, content: str, statusNumber: str, published: str, newPostId: str, postContext: {}, toRecipients: [], toCC: [], inReplyTo: str, sensitive: bool, commentsEnabled: bool, @@ -1153,10 +1153,10 @@ def _createPostC2S(base_dir: str, nickname: str, domain: str, port: int, """ domainFull = getFullDomain(domain, port) idStr = \ - localActorUrl(httpPrefix, nickname, domainFull) + \ + localActorUrl(http_prefix, nickname, domainFull) + \ '/statuses/' + statusNumber + '/replies' newPostUrl = \ - httpPrefix + '://' + domain + '/@' + nickname + '/' + statusNumber + http_prefix + '://' + domain + '/@' + nickname + '/' + statusNumber if not conversationId: conversationId = newPostId newPost = { @@ -1168,7 +1168,7 @@ def _createPostC2S(base_dir: str, nickname: str, domain: str, port: int, 'inReplyTo': inReplyTo, 'published': published, 'url': newPostUrl, - 'attributedTo': localActorUrl(httpPrefix, nickname, domainFull), + 'attributedTo': localActorUrl(http_prefix, nickname, domainFull), 'to': toRecipients, 'cc': toCC, 'sensitive': sensitive, @@ -1196,7 +1196,7 @@ def _createPostC2S(base_dir: str, nickname: str, domain: str, port: int, } if attachImageFilename: newPost = \ - attachMedia(base_dir, httpPrefix, nickname, domain, port, + attachMedia(base_dir, http_prefix, nickname, domain, port, newPost, attachImageFilename, mediaType, imageDescription, city, lowBandwidth, contentLicenseUrl) @@ -1361,7 +1361,7 @@ def getActorFromInReplyTo(inReplyTo: str) -> str: def _createPostBase(base_dir: str, nickname: str, domain: str, port: int, - toUrl: str, ccUrl: str, httpPrefix: str, content: str, + toUrl: str, ccUrl: str, http_prefix: str, content: str, followersOnly: bool, saveToFile: bool, clientToServer: bool, commentsEnabled: bool, attachImageFilename: str, @@ -1391,7 +1391,7 @@ def _createPostBase(base_dir: str, if nickname != 'news': mentionedRecipients = \ - getMentionedPeople(base_dir, httpPrefix, content, domain, False) + getMentionedPeople(base_dir, http_prefix, content, domain, False) else: mentionedRecipients = '' @@ -1403,7 +1403,7 @@ def _createPostBase(base_dir: str, # add tags if nickname != 'news': content = \ - addHtmlTags(base_dir, httpPrefix, + addHtmlTags(base_dir, http_prefix, nickname, domain, content, mentionedRecipients, hashtagsDict, True) @@ -1428,7 +1428,7 @@ def _createPostBase(base_dir: str, statusNumber, published = getStatusNumber() newPostId = \ - localActorUrl(httpPrefix, nickname, domain) + \ + localActorUrl(http_prefix, nickname, domain) + \ '/statuses/' + statusNumber sensitive = False @@ -1509,7 +1509,7 @@ def _createPostBase(base_dir: str, if not clientToServer: newPost = \ _createPostS2S(base_dir, nickname, domain, port, - httpPrefix, content, statusNumber, + http_prefix, content, statusNumber, published, newPostId, postContext, toRecipients, toCC, inReplyTo, sensitive, commentsEnabled, @@ -1522,7 +1522,7 @@ def _createPostBase(base_dir: str, else: newPost = \ _createPostC2S(base_dir, nickname, domain, port, - httpPrefix, content, statusNumber, + http_prefix, content, statusNumber, published, newPostId, postContext, toRecipients, toCC, inReplyTo, sensitive, commentsEnabled, @@ -1546,7 +1546,7 @@ def _createPostBase(base_dir: str, # add an item to the scheduled post index file _addSchedulePost(base_dir, nickname, domain, eventDateStr, newPostId) - savePostToBox(base_dir, httpPrefix, newPostId, + savePostToBox(base_dir, http_prefix, newPostId, nickname, domain, newPost, 'scheduled') else: print('Unable to create scheduled post without ' + @@ -1554,15 +1554,15 @@ def _createPostBase(base_dir: str, return newPost elif saveToFile: if isArticle: - savePostToBox(base_dir, httpPrefix, newPostId, + savePostToBox(base_dir, http_prefix, newPostId, nickname, domain, newPost, 'tlblogs') else: - savePostToBox(base_dir, httpPrefix, newPostId, + savePostToBox(base_dir, http_prefix, newPostId, nickname, domain, newPost, 'outbox') return newPost -def outboxMessageCreateWrap(httpPrefix: str, +def outboxMessageCreateWrap(http_prefix: str, nickname: str, domain: str, port: int, messageJson: {}) -> {}: """Wraps a received message in a Create @@ -1574,7 +1574,7 @@ def outboxMessageCreateWrap(httpPrefix: str, if messageJson.get('published'): published = messageJson['published'] newPostId = \ - localActorUrl(httpPrefix, nickname, domain) + \ + localActorUrl(http_prefix, nickname, domain) + \ '/statuses/' + statusNumber cc = [] if messageJson.get('cc'): @@ -1583,7 +1583,7 @@ def outboxMessageCreateWrap(httpPrefix: str, "@context": "https://www.w3.org/ns/activitystreams", 'id': newPostId + '/activity', 'type': 'Create', - 'actor': localActorUrl(httpPrefix, nickname, domain), + 'actor': localActorUrl(http_prefix, nickname, domain), 'published': published, 'to': messageJson['to'], 'cc': cc, @@ -1591,16 +1591,16 @@ def outboxMessageCreateWrap(httpPrefix: str, } newPost['object']['id'] = newPost['id'] newPost['object']['url'] = \ - httpPrefix + '://' + domain + '/@' + nickname + '/' + statusNumber + http_prefix + '://' + domain + '/@' + nickname + '/' + statusNumber newPost['object']['atomUri'] = \ - localActorUrl(httpPrefix, nickname, domain) + \ + localActorUrl(http_prefix, nickname, domain) + \ '/statuses/' + statusNumber return newPost def _postIsAddressedToFollowers(base_dir: str, nickname: str, domain: str, port: int, - httpPrefix: str, + http_prefix: str, postJsonObject: {}) -> bool: """Returns true if the given post is addressed to followers of the nickname """ @@ -1623,7 +1623,7 @@ def _postIsAddressedToFollowers(base_dir: str, ccList = postJsonObject['cc'] followersUrl = \ - localActorUrl(httpPrefix, nickname, domainFull) + '/followers' + localActorUrl(http_prefix, nickname, domainFull) + '/followers' # does the followers url exist in 'to' or 'cc' lists? addressedToFollowers = False @@ -1659,7 +1659,7 @@ def undoPinnedPost(base_dir: str, nickname: str, domain: str) -> None: print('EX: undoPinnedPost unable to delete ' + pinnedFilename) -def getPinnedPostAsJson(base_dir: str, httpPrefix: str, +def getPinnedPostAsJson(base_dir: str, http_prefix: str, nickname: str, domain: str, domainFull: str, systemLanguage: str) -> {}: """Returns the pinned profile post as json @@ -1667,7 +1667,7 @@ def getPinnedPostAsJson(base_dir: str, httpPrefix: str, accountDir = acctDir(base_dir, nickname, domain) pinnedFilename = accountDir + '/pinToProfile.txt' pinnedPostJson = {} - actor = localActorUrl(httpPrefix, nickname, domainFull) + actor = localActorUrl(http_prefix, nickname, domainFull) if os.path.isfile(pinnedFilename): pinnedContent = None with open(pinnedFilename, 'r') as pinFile: @@ -1699,20 +1699,20 @@ def getPinnedPostAsJson(base_dir: str, httpPrefix: str, return pinnedPostJson -def jsonPinPost(base_dir: str, httpPrefix: str, +def jsonPinPost(base_dir: str, http_prefix: str, nickname: str, domain: str, domainFull: str, systemLanguage: str) -> {}: """Returns a pinned post as json """ pinnedPostJson = \ - getPinnedPostAsJson(base_dir, httpPrefix, + getPinnedPostAsJson(base_dir, http_prefix, nickname, domain, domainFull, systemLanguage) itemsList = [] if pinnedPostJson: itemsList = [pinnedPostJson] - actor = localActorUrl(httpPrefix, nickname, domainFull) + actor = localActorUrl(http_prefix, nickname, domainFull) postContext = getIndividualPostContext() return { '@context': postContext, @@ -1755,7 +1755,7 @@ def regenerateIndexForBox(base_dir: str, def createPublicPost(base_dir: str, - nickname: str, domain: str, port: int, httpPrefix: str, + nickname: str, domain: str, port: int, http_prefix: str, content: str, followersOnly: bool, saveToFile: bool, clientToServer: bool, commentsEnabled: bool, attachImageFilename: str, mediaType: str, @@ -1783,11 +1783,11 @@ def createPublicPost(base_dir: str, anonymousParticipationEnabled = None eventStatus = None ticketUrl = None - localActor = localActorUrl(httpPrefix, nickname, domainFull) + localActor = localActorUrl(http_prefix, nickname, domainFull) return _createPostBase(base_dir, nickname, domain, port, 'https://www.w3.org/ns/activitystreams#Public', localActor + '/followers', - httpPrefix, content, followersOnly, saveToFile, + http_prefix, content, followersOnly, saveToFile, clientToServer, commentsEnabled, attachImageFilename, mediaType, imageDescription, city, @@ -1834,7 +1834,7 @@ def _appendCitationsToBlogPost(base_dir: str, def createBlogPost(base_dir: str, - nickname: str, domain: str, port: int, httpPrefix: str, + nickname: str, domain: str, port: int, http_prefix: str, content: str, followersOnly: bool, saveToFile: bool, clientToServer: bool, commentsEnabled: bool, attachImageFilename: str, mediaType: str, @@ -1847,7 +1847,7 @@ def createBlogPost(base_dir: str, contentLicenseUrl: str) -> {}: blogJson = \ createPublicPost(base_dir, - nickname, domain, port, httpPrefix, + nickname, domain, port, http_prefix, content, followersOnly, saveToFile, clientToServer, commentsEnabled, attachImageFilename, mediaType, @@ -1865,7 +1865,7 @@ def createBlogPost(base_dir: str, def createNewsPost(base_dir: str, - domain: str, port: int, httpPrefix: str, + domain: str, port: int, http_prefix: str, content: str, followersOnly: bool, saveToFile: bool, attachImageFilename: str, mediaType: str, imageDescription: str, city: str, @@ -1881,7 +1881,7 @@ def createNewsPost(base_dir: str, location = None blog = \ createPublicPost(base_dir, - 'news', domain, port, httpPrefix, + 'news', domain, port, http_prefix, content, followersOnly, saveToFile, clientToServer, False, attachImageFilename, mediaType, @@ -1896,7 +1896,7 @@ def createNewsPost(base_dir: str, def createQuestionPost(base_dir: str, - nickname: str, domain: str, port: int, httpPrefix: str, + nickname: str, domain: str, port: int, http_prefix: str, content: str, qOptions: [], followersOnly: bool, saveToFile: bool, clientToServer: bool, commentsEnabled: bool, @@ -1908,12 +1908,12 @@ def createQuestionPost(base_dir: str, """Question post with multiple choice options """ domainFull = getFullDomain(domain, port) - localActor = localActorUrl(httpPrefix, nickname, domainFull) + localActor = localActorUrl(http_prefix, nickname, domainFull) messageJson = \ _createPostBase(base_dir, nickname, domain, port, 'https://www.w3.org/ns/activitystreams#Public', localActor + '/followers', - httpPrefix, content, followersOnly, saveToFile, + http_prefix, content, followersOnly, saveToFile, clientToServer, commentsEnabled, attachImageFilename, mediaType, imageDescription, city, @@ -1944,7 +1944,7 @@ def createQuestionPost(base_dir: str, def createUnlistedPost(base_dir: str, - nickname: str, domain: str, port: int, httpPrefix: str, + nickname: str, domain: str, port: int, http_prefix: str, content: str, followersOnly: bool, saveToFile: bool, clientToServer: bool, commentsEnabled: bool, attachImageFilename: str, mediaType: str, @@ -1958,11 +1958,11 @@ def createUnlistedPost(base_dir: str, """Unlisted post. This has the #Public and followers links inverted. """ domainFull = getFullDomain(domain, port) - localActor = localActorUrl(httpPrefix, nickname, domainFull) + localActor = localActorUrl(http_prefix, nickname, domainFull) return _createPostBase(base_dir, nickname, domain, port, localActor + '/followers', 'https://www.w3.org/ns/activitystreams#Public', - httpPrefix, content, followersOnly, saveToFile, + http_prefix, content, followersOnly, saveToFile, clientToServer, commentsEnabled, attachImageFilename, mediaType, imageDescription, city, @@ -1977,7 +1977,7 @@ def createUnlistedPost(base_dir: str, def createFollowersOnlyPost(base_dir: str, nickname: str, domain: str, port: int, - httpPrefix: str, + http_prefix: str, content: str, followersOnly: bool, saveToFile: bool, clientToServer: bool, commentsEnabled: bool, @@ -1993,11 +1993,11 @@ def createFollowersOnlyPost(base_dir: str, """Followers only post """ domainFull = getFullDomain(domain, port) - localActor = localActorUrl(httpPrefix, nickname, domainFull) + localActor = localActorUrl(http_prefix, nickname, domainFull) return _createPostBase(base_dir, nickname, domain, port, localActor + '/followers', None, - httpPrefix, content, followersOnly, saveToFile, + http_prefix, content, followersOnly, saveToFile, clientToServer, commentsEnabled, attachImageFilename, mediaType, imageDescription, city, @@ -2010,7 +2010,7 @@ def createFollowersOnlyPost(base_dir: str, contentLicenseUrl) -def getMentionedPeople(base_dir: str, httpPrefix: str, +def getMentionedPeople(base_dir: str, http_prefix: str, content: str, domain: str, debug: bool) -> []: """Extracts a list of mentioned actors from the given message content """ @@ -2040,14 +2040,14 @@ def getMentionedPeople(base_dir: str, httpPrefix: str, if not validNickname(mentionedDomain, mentionedNickname): continue actor = \ - localActorUrl(httpPrefix, mentionedNickname, handle.split('@')[1]) + localActorUrl(http_prefix, mentionedNickname, handle.split('@')[1]) mentions.append(actor) return mentions def createDirectMessagePost(base_dir: str, nickname: str, domain: str, port: int, - httpPrefix: str, + http_prefix: str, content: str, followersOnly: bool, saveToFile: bool, clientToServer: bool, commentsEnabled: bool, @@ -2065,7 +2065,7 @@ def createDirectMessagePost(base_dir: str, """ content = resolvePetnames(base_dir, nickname, domain, content) mentionedPeople = \ - getMentionedPeople(base_dir, httpPrefix, content, domain, debug) + getMentionedPeople(base_dir, http_prefix, content, domain, debug) if debug: print('mentionedPeople: ' + str(mentionedPeople)) if not mentionedPeople: @@ -2075,7 +2075,7 @@ def createDirectMessagePost(base_dir: str, messageJson = \ _createPostBase(base_dir, nickname, domain, port, postTo, postCc, - httpPrefix, content, followersOnly, saveToFile, + http_prefix, content, followersOnly, saveToFile, clientToServer, commentsEnabled, attachImageFilename, mediaType, imageDescription, city, @@ -2093,13 +2093,13 @@ def createDirectMessagePost(base_dir: str, messageJson['object']['cc'] = [] if schedulePost: postId = removeIdEnding(messageJson['object']['id']) - savePostToBox(base_dir, httpPrefix, postId, + savePostToBox(base_dir, http_prefix, postId, nickname, domain, messageJson, 'scheduled') return messageJson def createReportPost(base_dir: str, - nickname: str, domain: str, port: int, httpPrefix: str, + nickname: str, domain: str, port: int, http_prefix: str, content: str, followersOnly: bool, saveToFile: bool, clientToServer: bool, commentsEnabled: bool, attachImageFilename: str, mediaType: str, @@ -2135,7 +2135,7 @@ def createReportPost(base_dir: str, if '@' in line: nick = line.split('@')[0] moderatorActor = \ - localActorUrl(httpPrefix, nick, domainFull) + localActorUrl(http_prefix, nick, domainFull) if moderatorActor not in moderatorsList: moderatorsList.append(moderatorActor) continue @@ -2147,14 +2147,14 @@ def createReportPost(base_dir: str, else: if '/' not in line: moderatorActor = \ - localActorUrl(httpPrefix, line, domainFull) + localActorUrl(http_prefix, line, domainFull) if moderatorActor not in moderatorsList: moderatorsList.append(moderatorActor) if len(moderatorsList) == 0: # if there are no moderators then the admin becomes the moderator adminNickname = getConfigParam(base_dir, 'admin') if adminNickname: - localActor = localActorUrl(httpPrefix, adminNickname, domainFull) + localActor = localActorUrl(http_prefix, adminNickname, domainFull) moderatorsList.append(localActor) if not moderatorsList: return None @@ -2172,7 +2172,7 @@ def createReportPost(base_dir: str, postJsonObject = \ _createPostBase(base_dir, nickname, domain, port, toUrl, postCc, - httpPrefix, content, followersOnly, saveToFile, + http_prefix, content, followersOnly, saveToFile, clientToServer, commentsEnabled, attachImageFilename, mediaType, imageDescription, city, @@ -2266,7 +2266,7 @@ def threadSendPost(session, postJsonStr: str, federationList: [], def sendPost(signingPrivateKeyPem: str, projectVersion: str, session, base_dir: str, nickname: str, domain: str, port: int, toNickname: str, toDomain: str, toPort: int, cc: str, - httpPrefix: str, content: str, followersOnly: bool, + http_prefix: str, content: str, followersOnly: bool, saveToFile: bool, clientToServer: bool, commentsEnabled: bool, attachImageFilename: str, mediaType: str, @@ -2290,10 +2290,10 @@ def sendPost(signingPrivateKeyPem: str, projectVersion: str, toDomain = getFullDomain(toDomain, toPort) - handle = httpPrefix + '://' + toDomain + '/@' + toNickname + handle = http_prefix + '://' + toDomain + '/@' + toNickname # lookup the inbox for the To handle - wfRequest = webfingerHandle(session, handle, httpPrefix, + wfRequest = webfingerHandle(session, handle, http_prefix, cachedWebfingers, domain, projectVersion, debug, False, signingPrivateKeyPem) @@ -2318,7 +2318,7 @@ def sendPost(signingPrivateKeyPem: str, projectVersion: str, originDomain, base_dir, session, wfRequest, personCache, - projectVersion, httpPrefix, + projectVersion, http_prefix, nickname, domain, postToBox, 72533) @@ -2332,7 +2332,7 @@ def sendPost(signingPrivateKeyPem: str, projectVersion: str, postJsonObject = \ _createPostBase(base_dir, nickname, domain, port, - toPersonId, cc, httpPrefix, content, + toPersonId, cc, http_prefix, content, followersOnly, saveToFile, clientToServer, commentsEnabled, attachImageFilename, mediaType, @@ -2371,7 +2371,7 @@ def sendPost(signingPrivateKeyPem: str, projectVersion: str, signatureHeaderJson = \ createSignedHeader(None, privateKeyPem, nickname, domain, port, toDomain, toPort, - postPath, httpPrefix, withDigest, postJsonStr, + postPath, http_prefix, withDigest, postJsonStr, None) # if the "to" domain is within the shared items @@ -2418,7 +2418,7 @@ def sendPostViaServer(signingPrivateKeyPem: str, projectVersion: str, base_dir: str, session, fromNickname: str, password: str, fromDomain: str, fromPort: int, toNickname: str, toDomain: str, toPort: int, cc: str, - httpPrefix: str, content: str, followersOnly: bool, + http_prefix: str, content: str, followersOnly: bool, commentsEnabled: bool, attachImageFilename: str, mediaType: str, imageDescription: str, city: str, @@ -2439,11 +2439,11 @@ def sendPostViaServer(signingPrivateKeyPem: str, projectVersion: str, fromDomainFull = getFullDomain(fromDomain, fromPort) - handle = httpPrefix + '://' + fromDomainFull + '/@' + fromNickname + handle = http_prefix + '://' + fromDomainFull + '/@' + fromNickname # lookup the inbox for the To handle wfRequest = \ - webfingerHandle(session, handle, httpPrefix, cachedWebfingers, + webfingerHandle(session, handle, http_prefix, cachedWebfingers, fromDomainFull, projectVersion, debug, False, signingPrivateKeyPem) if not wfRequest: @@ -2466,7 +2466,7 @@ def sendPostViaServer(signingPrivateKeyPem: str, projectVersion: str, originDomain, base_dir, session, wfRequest, personCache, - projectVersion, httpPrefix, + projectVersion, http_prefix, fromNickname, fromDomainFull, postToBox, 82796) @@ -2486,22 +2486,22 @@ def sendPostViaServer(signingPrivateKeyPem: str, projectVersion: str, clientToServer = True if toDomain.lower().endswith('public'): toPersonId = 'https://www.w3.org/ns/activitystreams#Public' - cc = localActorUrl(httpPrefix, fromNickname, fromDomainFull) + \ + cc = localActorUrl(http_prefix, fromNickname, fromDomainFull) + \ '/followers' else: if toDomain.lower().endswith('followers') or \ toDomain.lower().endswith('followersonly'): toPersonId = \ - localActorUrl(httpPrefix, fromNickname, fromDomainFull) + \ + localActorUrl(http_prefix, fromNickname, fromDomainFull) + \ '/followers' else: toDomainFull = getFullDomain(toDomain, toPort) - toPersonId = localActorUrl(httpPrefix, toNickname, toDomainFull) + toPersonId = localActorUrl(http_prefix, toNickname, toDomainFull) postJsonObject = \ _createPostBase(base_dir, fromNickname, fromDomain, fromPort, - toPersonId, cc, httpPrefix, content, + toPersonId, cc, http_prefix, content, followersOnly, saveToFile, clientToServer, commentsEnabled, attachImageFilename, mediaType, @@ -2610,7 +2610,7 @@ def _addFollowersToPublicPost(postJsonObject: {}) -> None: def sendSignedJson(postJsonObject: {}, session, base_dir: str, nickname: str, domain: str, port: int, toNickname: str, toDomain: str, toPort: int, cc: str, - httpPrefix: str, saveToFile: bool, clientToServer: bool, + http_prefix: str, saveToFile: bool, clientToServer: bool, federationList: [], sendThreads: [], postLog: [], cachedWebfingers: {}, personCache: {}, debug: bool, projectVersion: str, @@ -2627,7 +2627,7 @@ def sendSignedJson(postJsonObject: {}, session, base_dir: str, withDigest = True if toDomain.endswith('.onion') or toDomain.endswith('.i2p'): - httpPrefix = 'http' + http_prefix = 'http' if toNickname == 'inbox': # shared inbox actor on @domain@domain @@ -2635,7 +2635,7 @@ def sendSignedJson(postJsonObject: {}, session, base_dir: str, toDomain = getFullDomain(toDomain, toPort) - toDomainUrl = httpPrefix + '://' + toDomain + toDomainUrl = http_prefix + '://' + toDomain if not siteIsActive(toDomainUrl, 10): print('Domain is inactive: ' + toDomainUrl) return 9 @@ -2651,7 +2651,7 @@ def sendSignedJson(postJsonObject: {}, session, base_dir: str, print('DEBUG: handle - ' + handle + ' toPort ' + str(toPort)) # lookup the inbox for the To handle - wfRequest = webfingerHandle(session, handle, httpPrefix, cachedWebfingers, + wfRequest = webfingerHandle(session, handle, http_prefix, cachedWebfingers, domain, projectVersion, debug, groupAccount, signingPrivateKeyPem) if not wfRequest: @@ -2680,7 +2680,7 @@ def sendSignedJson(postJsonObject: {}, session, base_dir: str, originDomain, base_dir, session, wfRequest, personCache, - projectVersion, httpPrefix, + projectVersion, http_prefix, nickname, domain, postToBox, sourceId) @@ -2743,7 +2743,7 @@ def sendSignedJson(postJsonObject: {}, session, base_dir: str, signatureHeaderJson = \ createSignedHeader(None, privateKeyPem, nickname, domain, port, toDomain, toPort, - postPath, httpPrefix, withDigest, postJsonStr, + postPath, http_prefix, withDigest, postJsonStr, None) # optionally add a token so that the receiving instance may access # your shared items catalog @@ -2859,7 +2859,7 @@ def _isProfileUpdate(postJsonObject: {}) -> bool: def _sendToNamedAddresses(session, base_dir: str, nickname: str, domain: str, onionDomain: str, i2pDomain: str, port: int, - httpPrefix: str, federationList: [], + http_prefix: str, federationList: [], sendThreads: [], postLog: [], cachedWebfingers: {}, personCache: {}, postJsonObject: {}, debug: bool, @@ -2973,7 +2973,7 @@ def _sendToNamedAddresses(session, base_dir: str, # domain for the onion one fromDomain = domain fromDomainFull = getFullDomain(domain, port) - fromHttpPrefix = httpPrefix + fromHttpPrefix = http_prefix if onionDomain: if toDomain.endswith('.onion'): fromDomain = onionDomain @@ -3010,7 +3010,7 @@ def _sendToNamedAddresses(session, base_dir: str, def sendToNamedAddressesThread(session, base_dir: str, nickname: str, domain: str, onionDomain: str, i2pDomain: str, port: int, - httpPrefix: str, federationList: [], + http_prefix: str, federationList: [], sendThreads: [], postLog: [], cachedWebfingers: {}, personCache: {}, postJsonObject: {}, debug: bool, @@ -3025,7 +3025,7 @@ def sendToNamedAddressesThread(session, base_dir: str, args=(session, base_dir, nickname, domain, onionDomain, i2pDomain, port, - httpPrefix, federationList, + http_prefix, federationList, sendThreads, postLog, cachedWebfingers, personCache, postJsonObject, debug, @@ -3046,7 +3046,7 @@ def sendToNamedAddressesThread(session, base_dir: str, return sendThread -def _hasSharedInbox(session, httpPrefix: str, domain: str, +def _hasSharedInbox(session, http_prefix: str, domain: str, debug: bool, signingPrivateKeyPem: str) -> bool: """Returns true if the given domain has a shared inbox This tries the new and the old way of webfingering the shared inbox @@ -3056,7 +3056,7 @@ def _hasSharedInbox(session, httpPrefix: str, domain: str, tryHandles.append(domain + '@' + domain) tryHandles.append('inbox@' + domain) for handle in tryHandles: - wfRequest = webfingerHandle(session, handle, httpPrefix, {}, + wfRequest = webfingerHandle(session, handle, http_prefix, {}, domain, __version__, debug, False, signingPrivateKeyPem) if wfRequest: @@ -3086,7 +3086,7 @@ def sendToFollowers(session, base_dir: str, nickname: str, domain: str, onionDomain: str, i2pDomain: str, port: int, - httpPrefix: str, federationList: [], + http_prefix: str, federationList: [], sendThreads: [], postLog: [], cachedWebfingers: {}, personCache: {}, postJsonObject: {}, debug: bool, @@ -3101,7 +3101,7 @@ def sendToFollowers(session, base_dir: str, print('WARN: No session for sendToFollowers') return if not _postIsAddressedToFollowers(base_dir, nickname, domain, - port, httpPrefix, + port, http_prefix, postJsonObject): if debug: print('Post is not addressed to followers') @@ -3143,7 +3143,7 @@ def sendToFollowers(session, base_dir: str, sharedItemsToken = sharedItemFederationTokens[domainFull] # check that the follower's domain is active - followerDomainUrl = httpPrefix + '://' + followerDomain + followerDomainUrl = http_prefix + '://' + followerDomain if not siteIsActive(followerDomainUrl, 10): print('Sending post to followers domain is inactive: ' + followerDomainUrl) @@ -3152,7 +3152,7 @@ def sendToFollowers(session, base_dir: str, followerDomainUrl) withSharedInbox = \ - _hasSharedInbox(session, httpPrefix, followerDomain, debug, + _hasSharedInbox(session, http_prefix, followerDomain, debug, signingPrivateKeyPem) if debug: if withSharedInbox: @@ -3173,7 +3173,7 @@ def sendToFollowers(session, base_dir: str, # if we are sending to an onion domain and we # have an alt onion domain then use the alt fromDomain = domain - fromHttpPrefix = httpPrefix + fromHttpPrefix = http_prefix if onionDomain: if toDomain.endswith('.onion'): fromDomain = onionDomain @@ -3259,7 +3259,7 @@ def sendToFollowersThread(session, base_dir: str, nickname: str, domain: str, onionDomain: str, i2pDomain: str, port: int, - httpPrefix: str, federationList: [], + http_prefix: str, federationList: [], sendThreads: [], postLog: [], cachedWebfingers: {}, personCache: {}, postJsonObject: {}, debug: bool, @@ -3274,7 +3274,7 @@ def sendToFollowersThread(session, base_dir: str, args=(session, base_dir, nickname, domain, onionDomain, i2pDomain, port, - httpPrefix, federationList, + http_prefix, federationList, sendThreads, postLog, cachedWebfingers, personCache, postJsonObject.copy(), debug, @@ -3297,95 +3297,95 @@ def sendToFollowersThread(session, base_dir: str, def createInbox(recentPostsCache: {}, session, base_dir: str, nickname: str, domain: str, port: int, - httpPrefix: str, itemsPerPage: int, headerOnly: bool, + http_prefix: str, itemsPerPage: int, headerOnly: bool, pageNumber: int) -> {}: return _createBoxIndexed(recentPostsCache, session, base_dir, 'inbox', - nickname, domain, port, httpPrefix, + nickname, domain, port, http_prefix, itemsPerPage, headerOnly, True, 0, False, 0, pageNumber) def createBookmarksTimeline(session, base_dir: str, nickname: str, domain: str, - port: int, httpPrefix: str, itemsPerPage: int, + port: int, http_prefix: str, itemsPerPage: int, headerOnly: bool, pageNumber: int) -> {}: return _createBoxIndexed({}, session, base_dir, 'tlbookmarks', nickname, domain, - port, httpPrefix, itemsPerPage, headerOnly, + port, http_prefix, itemsPerPage, headerOnly, True, 0, False, 0, pageNumber) def createDMTimeline(recentPostsCache: {}, session, base_dir: str, nickname: str, domain: str, - port: int, httpPrefix: str, itemsPerPage: int, + port: int, http_prefix: str, itemsPerPage: int, headerOnly: bool, pageNumber: int) -> {}: return _createBoxIndexed(recentPostsCache, session, base_dir, 'dm', nickname, - domain, port, httpPrefix, itemsPerPage, + domain, port, http_prefix, itemsPerPage, headerOnly, True, 0, False, 0, pageNumber) def createRepliesTimeline(recentPostsCache: {}, session, base_dir: str, nickname: str, domain: str, - port: int, httpPrefix: str, itemsPerPage: int, + port: int, http_prefix: str, itemsPerPage: int, headerOnly: bool, pageNumber: int) -> {}: return _createBoxIndexed(recentPostsCache, session, base_dir, 'tlreplies', - nickname, domain, port, httpPrefix, + nickname, domain, port, http_prefix, itemsPerPage, headerOnly, True, 0, False, 0, pageNumber) def createBlogsTimeline(session, base_dir: str, nickname: str, domain: str, - port: int, httpPrefix: str, itemsPerPage: int, + port: int, http_prefix: str, itemsPerPage: int, headerOnly: bool, pageNumber: int) -> {}: return _createBoxIndexed({}, session, base_dir, 'tlblogs', nickname, - domain, port, httpPrefix, + domain, port, http_prefix, itemsPerPage, headerOnly, True, 0, False, 0, pageNumber) def createFeaturesTimeline(session, base_dir: str, nickname: str, domain: str, - port: int, httpPrefix: str, itemsPerPage: int, + port: int, http_prefix: str, itemsPerPage: int, headerOnly: bool, pageNumber: int) -> {}: return _createBoxIndexed({}, session, base_dir, 'tlfeatures', nickname, - domain, port, httpPrefix, + domain, port, http_prefix, itemsPerPage, headerOnly, True, 0, False, 0, pageNumber) def createMediaTimeline(session, base_dir: str, nickname: str, domain: str, - port: int, httpPrefix: str, itemsPerPage: int, + port: int, http_prefix: str, itemsPerPage: int, headerOnly: bool, pageNumber: int) -> {}: return _createBoxIndexed({}, session, base_dir, 'tlmedia', nickname, - domain, port, httpPrefix, + domain, port, http_prefix, itemsPerPage, headerOnly, True, 0, False, 0, pageNumber) def createNewsTimeline(session, base_dir: str, nickname: str, domain: str, - port: int, httpPrefix: str, itemsPerPage: int, + port: int, http_prefix: str, itemsPerPage: int, headerOnly: bool, newswireVotesThreshold: int, positiveVoting: bool, votingTimeMins: int, pageNumber: int) -> {}: return _createBoxIndexed({}, session, base_dir, 'outbox', 'news', - domain, port, httpPrefix, + domain, port, http_prefix, itemsPerPage, headerOnly, True, newswireVotesThreshold, positiveVoting, votingTimeMins, pageNumber) def createOutbox(session, base_dir: str, nickname: str, domain: str, - port: int, httpPrefix: str, + port: int, http_prefix: str, itemsPerPage: int, headerOnly: bool, authorized: bool, pageNumber: int) -> {}: return _createBoxIndexed({}, session, base_dir, 'outbox', - nickname, domain, port, httpPrefix, + nickname, domain, port, http_prefix, itemsPerPage, headerOnly, authorized, 0, False, 0, pageNumber) def createModeration(base_dir: str, nickname: str, domain: str, port: int, - httpPrefix: str, itemsPerPage: int, headerOnly: bool, + http_prefix: str, itemsPerPage: int, headerOnly: bool, pageNumber: int) -> {}: boxDir = createPersonDir(nickname, domain, base_dir, 'inbox') boxname = 'moderation' @@ -3396,7 +3396,7 @@ def createModeration(base_dir: str, nickname: str, domain: str, port: int, pageNumber = 1 pageStr = '?page=' + str(pageNumber) - boxUrl = localActorUrl(httpPrefix, nickname, domain) + '/' + boxname + boxUrl = localActorUrl(http_prefix, nickname, domain) + '/' + boxname boxHeader = { '@context': 'https://www.w3.org/ns/activitystreams', 'first': boxUrl + '?page=true', @@ -3450,7 +3450,7 @@ def createModeration(base_dir: str, nickname: str, domain: str, port: int, return boxItems -def isImageMedia(session, base_dir: str, httpPrefix: str, +def isImageMedia(session, base_dir: str, http_prefix: str, nickname: str, domain: str, postJsonObject: {}, translate: {}, YTReplacementDomain: str, @@ -3465,7 +3465,7 @@ def isImageMedia(session, base_dir: str, httpPrefix: str, if postJsonObject['type'] == 'Announce': blockedCache = {} postJsonAnnounce = \ - downloadAnnounce(session, base_dir, httpPrefix, + downloadAnnounce(session, base_dir, http_prefix, nickname, domain, postJsonObject, __version__, translate, YTReplacementDomain, @@ -3651,7 +3651,7 @@ def _passedNewswireVoting(newswireVotesThreshold: int, def _createBoxIndexed(recentPostsCache: {}, session, base_dir: str, boxname: str, - nickname: str, domain: str, port: int, httpPrefix: str, + nickname: str, domain: str, port: int, http_prefix: str, itemsPerPage: int, headerOnly: bool, authorized: bool, newswireVotesThreshold: int, positiveVoting: bool, votingTimeMins: int, pageNumber: int) -> {}: @@ -3684,7 +3684,7 @@ def _createBoxIndexed(recentPostsCache: {}, originalDomain = domain domain = getFullDomain(domain, port) - boxActor = localActorUrl(httpPrefix, nickname, domain) + boxActor = localActorUrl(http_prefix, nickname, domain) pageStr = '?page=true' if pageNumber: @@ -3696,7 +3696,7 @@ def _createBoxIndexed(recentPostsCache: {}, print('EX: _createBoxIndexed ' + 'unable to convert page number to string') pass - boxUrl = localActorUrl(httpPrefix, nickname, domain) + '/' + boxname + boxUrl = localActorUrl(http_prefix, nickname, domain) + '/' + boxname boxHeader = { '@context': 'https://www.w3.org/ns/activitystreams', 'first': boxUrl + '?page=true', @@ -3824,7 +3824,7 @@ def _createBoxIndexed(recentPostsCache: {}, if lastPage < 1: lastPage = 1 boxHeader['last'] = \ - localActorUrl(httpPrefix, nickname, domain) + \ + localActorUrl(http_prefix, nickname, domain) + \ '/' + boxname + '?page=' + str(lastPage) if headerOnly: @@ -3833,12 +3833,12 @@ def _createBoxIndexed(recentPostsCache: {}, if pageNumber > 1: prevPageStr = str(pageNumber - 1) boxHeader['prev'] = \ - localActorUrl(httpPrefix, nickname, domain) + \ + localActorUrl(http_prefix, nickname, domain) + \ '/' + boxname + '?page=' + prevPageStr nextPageStr = str(pageNumber + 1) boxHeader['next'] = \ - localActorUrl(httpPrefix, nickname, domain) + \ + localActorUrl(http_prefix, nickname, domain) + \ '/' + boxname + '?page=' + nextPageStr return boxHeader @@ -3872,7 +3872,7 @@ def _createBoxIndexed(recentPostsCache: {}, def expireCache(base_dir: str, personCache: {}, - httpPrefix: str, archiveDir: str, + http_prefix: str, archiveDir: str, recentPostsCache: {}, maxPostsInBox=32000): """Thread used to expire actors from the cache and archive old posts @@ -3881,11 +3881,11 @@ def expireCache(base_dir: str, personCache: {}, # once per day time.sleep(60 * 60 * 24) expirePersonCache(personCache) - archivePosts(base_dir, httpPrefix, archiveDir, recentPostsCache, + archivePosts(base_dir, http_prefix, archiveDir, recentPostsCache, maxPostsInBox) -def archivePosts(base_dir: str, httpPrefix: str, archiveDir: str, +def archivePosts(base_dir: str, http_prefix: str, archiveDir: str, recentPostsCache: {}, maxPostsInBox=32000) -> None: """Archives posts for all accounts @@ -3920,19 +3920,19 @@ def archivePosts(base_dir: str, httpPrefix: str, archiveDir: str, handle + '/outbox') archiveSubdir = archiveDir + '/accounts/' + \ handle + '/inbox' - archivePostsForPerson(httpPrefix, nickname, domain, base_dir, + archivePostsForPerson(http_prefix, nickname, domain, base_dir, 'inbox', archiveSubdir, recentPostsCache, maxPostsInBox) if archiveDir: archiveSubdir = archiveDir + '/accounts/' + \ handle + '/outbox' - archivePostsForPerson(httpPrefix, nickname, domain, base_dir, + archivePostsForPerson(http_prefix, nickname, domain, base_dir, 'outbox', archiveSubdir, recentPostsCache, maxPostsInBox) break -def archivePostsForPerson(httpPrefix: str, nickname: str, domain: str, +def archivePostsForPerson(http_prefix: str, nickname: str, domain: str, base_dir: str, boxname: str, archiveDir: str, recentPostsCache: {}, @@ -4027,7 +4027,7 @@ def archivePostsForPerson(httpPrefix: str, nickname: str, domain: str, os.rename(extPath, archivePath.replace('.json', '.json.' + ext)) else: - deletePost(base_dir, httpPrefix, nickname, domain, + deletePost(base_dir, http_prefix, nickname, domain, filePath, False, recentPostsCache) # remove cached html posts @@ -4056,7 +4056,7 @@ def archivePostsForPerson(httpPrefix: str, nickname: str, domain: str, def getPublicPostsOfPerson(base_dir: str, nickname: str, domain: str, raw: bool, simple: bool, proxyType: str, - port: int, httpPrefix: str, + port: int, http_prefix: str, debug: bool, projectVersion: str, systemLanguage: str, signingPrivateKeyPem: str, @@ -4083,10 +4083,10 @@ def getPublicPostsOfPerson(base_dir: str, nickname: str, domain: str, nickname = nickname[1:] groupAccount = True domainFull = getFullDomain(domain, port) - handle = httpPrefix + "://" + domainFull + "/@" + nickname + handle = http_prefix + "://" + domainFull + "/@" + nickname wfRequest = \ - webfingerHandle(session, handle, httpPrefix, cachedWebfingers, + webfingerHandle(session, handle, http_prefix, cachedWebfingers, originDomain, projectVersion, debug, groupAccount, signingPrivateKeyPem) if not wfRequest: @@ -4105,7 +4105,7 @@ def getPublicPostsOfPerson(base_dir: str, nickname: str, domain: str, originDomain, base_dir, session, wfRequest, personCache, - projectVersion, httpPrefix, + projectVersion, http_prefix, nickname, domain, 'outbox', 62524) if debug: @@ -4119,13 +4119,13 @@ def getPublicPostsOfPerson(base_dir: str, nickname: str, domain: str, _getPosts(session, personUrl, 30, maxMentions, maxEmoji, maxAttachments, federationList, personCache, raw, simple, debug, - projectVersion, httpPrefix, originDomain, systemLanguage, + projectVersion, http_prefix, originDomain, systemLanguage, signingPrivateKeyPem) def getPublicPostDomains(session, base_dir: str, nickname: str, domain: str, originDomain: str, - proxyType: str, port: int, httpPrefix: str, + proxyType: str, port: int, http_prefix: str, debug: bool, projectVersion: str, wordFrequency: {}, domainList: [], systemLanguage: str, @@ -4141,9 +4141,9 @@ def getPublicPostDomains(session, base_dir: str, nickname: str, domain: str, federationList = [] domainFull = getFullDomain(domain, port) - handle = httpPrefix + "://" + domainFull + "/@" + nickname + handle = http_prefix + "://" + domainFull + "/@" + nickname wfRequest = \ - webfingerHandle(session, handle, httpPrefix, cachedWebfingers, + webfingerHandle(session, handle, http_prefix, cachedWebfingers, domain, projectVersion, debug, False, signingPrivateKeyPem) if not wfRequest: @@ -4158,7 +4158,7 @@ def getPublicPostDomains(session, base_dir: str, nickname: str, domain: str, originDomain, base_dir, session, wfRequest, personCache, - projectVersion, httpPrefix, + projectVersion, http_prefix, nickname, domain, 'outbox', 92522) maxMentions = 99 @@ -4168,7 +4168,7 @@ def getPublicPostDomains(session, base_dir: str, nickname: str, domain: str, getPostDomains(session, personUrl, 64, maxMentions, maxEmoji, maxAttachments, federationList, personCache, debug, - projectVersion, httpPrefix, domain, + projectVersion, http_prefix, domain, wordFrequency, domainList, systemLanguage, signingPrivateKeyPem) postDomains.sort() @@ -4177,7 +4177,7 @@ def getPublicPostDomains(session, base_dir: str, nickname: str, domain: str, def downloadFollowCollection(signingPrivateKeyPem: str, followType: str, - session, httpPrefix: str, + session, http_prefix: str, actor: str, pageNumber: int, noOfPages: int, debug: bool) -> []: """Returns a list of following/followers for the given actor @@ -4203,7 +4203,7 @@ def downloadFollowCollection(signingPrivateKeyPem: str, url = actor + '/' + followType + '?page=' + str(pageNumber + pageCtr) followersJson = \ getJson(signingPrivateKeyPem, session, url, sessionHeaders, None, - debug, __version__, httpPrefix, None) + debug, __version__, http_prefix, None) if followersJson: if followersJson.get('orderedItems'): for followerActor in followersJson['orderedItems']: @@ -4222,7 +4222,7 @@ def downloadFollowCollection(signingPrivateKeyPem: str, def getPublicPostInfo(session, base_dir: str, nickname: str, domain: str, originDomain: str, - proxyType: str, port: int, httpPrefix: str, + proxyType: str, port: int, http_prefix: str, debug: bool, projectVersion: str, wordFrequency: {}, systemLanguage: str, signingPrivateKeyPem: str) -> []: @@ -4237,9 +4237,9 @@ def getPublicPostInfo(session, base_dir: str, nickname: str, domain: str, federationList = [] domainFull = getFullDomain(domain, port) - handle = httpPrefix + "://" + domainFull + "/@" + nickname + handle = http_prefix + "://" + domainFull + "/@" + nickname wfRequest = \ - webfingerHandle(session, handle, httpPrefix, cachedWebfingers, + webfingerHandle(session, handle, http_prefix, cachedWebfingers, domain, projectVersion, debug, False, signingPrivateKeyPem) if not wfRequest: @@ -4254,7 +4254,7 @@ def getPublicPostInfo(session, base_dir: str, nickname: str, domain: str, originDomain, base_dir, session, wfRequest, personCache, - projectVersion, httpPrefix, + projectVersion, http_prefix, nickname, domain, 'outbox', 13863) maxMentions = 99 @@ -4265,7 +4265,7 @@ def getPublicPostInfo(session, base_dir: str, nickname: str, domain: str, getPostDomains(session, personUrl, maxPosts, maxMentions, maxEmoji, maxAttachments, federationList, personCache, debug, - projectVersion, httpPrefix, domain, + projectVersion, http_prefix, domain, wordFrequency, [], systemLanguage, signingPrivateKeyPem) postDomains.sort() domainsInfo = {} @@ -4280,7 +4280,7 @@ def getPublicPostInfo(session, base_dir: str, nickname: str, domain: str, federationList, personCache, debug, - projectVersion, httpPrefix, + projectVersion, http_prefix, domain, signingPrivateKeyPem) for blockedDomain, postUrlList in blockedPosts.items(): domainsInfo[blockedDomain] += postUrlList @@ -4290,7 +4290,7 @@ def getPublicPostInfo(session, base_dir: str, nickname: str, domain: str, def getPublicPostDomainsBlocked(session, base_dir: str, nickname: str, domain: str, - proxyType: str, port: int, httpPrefix: str, + proxyType: str, port: int, http_prefix: str, debug: bool, projectVersion: str, wordFrequency: {}, domainList: [], systemLanguage: str, @@ -4302,7 +4302,7 @@ def getPublicPostDomainsBlocked(session, base_dir: str, postDomains = \ getPublicPostDomains(session, base_dir, nickname, domain, originDomain, - proxyType, port, httpPrefix, + proxyType, port, http_prefix, debug, projectVersion, wordFrequency, domainList, systemLanguage, signingPrivateKeyPem) @@ -4351,7 +4351,7 @@ def _getNonMutualsOfPerson(base_dir: str, def checkDomains(session, base_dir: str, nickname: str, domain: str, - proxyType: str, port: int, httpPrefix: str, + proxyType: str, port: int, http_prefix: str, debug: bool, projectVersion: str, maxBlockedDomains: int, singleCheck: bool, systemLanguage: str, @@ -4381,7 +4381,7 @@ def checkDomains(session, base_dir: str, getPublicPostDomainsBlocked(session, base_dir, nonMutualNickname, nonMutualDomain, - proxyType, port, httpPrefix, + proxyType, port, http_prefix, debug, projectVersion, wordFrequency, [], systemLanguage, @@ -4403,7 +4403,7 @@ def checkDomains(session, base_dir: str, getPublicPostDomainsBlocked(session, base_dir, nonMutualNickname, nonMutualDomain, - proxyType, port, httpPrefix, + proxyType, port, http_prefix, debug, projectVersion, wordFrequency, [], systemLanguage, @@ -4500,7 +4500,7 @@ def _rejectAnnounce(announceFilename: str, rejectAnnounceFile.write('\n') -def downloadAnnounce(session, base_dir: str, httpPrefix: str, +def downloadAnnounce(session, base_dir: str, http_prefix: str, nickname: str, domain: str, postJsonObject: {}, projectVersion: str, translate: {}, @@ -4591,7 +4591,7 @@ def downloadAnnounce(session, base_dir: str, httpPrefix: str, postJsonObject['object']) announcedJson = \ getJson(signingPrivateKeyPem, session, postJsonObject['object'], - asHeader, None, debug, projectVersion, httpPrefix, domain) + asHeader, None, debug, projectVersion, http_prefix, domain) if not announcedJson: return None @@ -4655,7 +4655,7 @@ def downloadAnnounce(session, base_dir: str, httpPrefix: str, return None if not understoodPostLanguage(base_dir, nickname, domain, announcedJson, systemLanguage, - httpPrefix, domainFull, + http_prefix, domainFull, personCache): return None # Check the content of the announce @@ -4694,7 +4694,7 @@ def downloadAnnounce(session, base_dir: str, httpPrefix: str, # wrap in create to be consistent with other posts announcedJson = \ - outboxMessageCreateWrap(httpPrefix, + outboxMessageCreateWrap(http_prefix, actorNickname, actorDomain, actorPort, announcedJson) if announcedJson['type'] != 'Create': @@ -4751,7 +4751,7 @@ def isMuted(base_dir: str, nickname: str, domain: str, postId: str, def sendBlockViaServer(base_dir: str, session, fromNickname: str, password: str, fromDomain: str, fromPort: int, - httpPrefix: str, blockedUrl: str, + http_prefix: str, blockedUrl: str, cachedWebfingers: {}, personCache: {}, debug: bool, projectVersion: str, signingPrivateKeyPem: str) -> {}: @@ -4763,7 +4763,7 @@ def sendBlockViaServer(base_dir: str, session, fromDomainFull = getFullDomain(fromDomain, fromPort) - blockActor = localActorUrl(httpPrefix, fromNickname, fromDomainFull) + blockActor = localActorUrl(http_prefix, fromNickname, fromDomainFull) toUrl = 'https://www.w3.org/ns/activitystreams#Public' ccUrl = blockActor + '/followers' @@ -4776,10 +4776,10 @@ def sendBlockViaServer(base_dir: str, session, 'cc': [ccUrl] } - handle = httpPrefix + '://' + fromDomainFull + '/@' + fromNickname + handle = http_prefix + '://' + fromDomainFull + '/@' + fromNickname # lookup the inbox for the To handle - wfRequest = webfingerHandle(session, handle, httpPrefix, + wfRequest = webfingerHandle(session, handle, http_prefix, cachedWebfingers, fromDomain, projectVersion, debug, False, signingPrivateKeyPem) @@ -4801,7 +4801,7 @@ def sendBlockViaServer(base_dir: str, session, originDomain, base_dir, session, wfRequest, personCache, - projectVersion, httpPrefix, fromNickname, + projectVersion, http_prefix, fromNickname, fromDomain, postToBox, 72652) if not inboxUrl: @@ -4820,7 +4820,7 @@ def sendBlockViaServer(base_dir: str, session, 'Content-type': 'application/json', 'Authorization': authHeader } - postResult = postJson(httpPrefix, fromDomainFull, + postResult = postJson(http_prefix, fromDomainFull, session, newBlockJson, [], inboxUrl, headers, 30, True) if not postResult: @@ -4835,7 +4835,7 @@ def sendBlockViaServer(base_dir: str, session, def sendMuteViaServer(base_dir: str, session, fromNickname: str, password: str, fromDomain: str, fromPort: int, - httpPrefix: str, mutedUrl: str, + http_prefix: str, mutedUrl: str, cachedWebfingers: {}, personCache: {}, debug: bool, projectVersion: str, signingPrivateKeyPem: str) -> {}: @@ -4847,7 +4847,7 @@ def sendMuteViaServer(base_dir: str, session, fromDomainFull = getFullDomain(fromDomain, fromPort) - actor = localActorUrl(httpPrefix, fromNickname, fromDomainFull) + actor = localActorUrl(http_prefix, fromNickname, fromDomainFull) handle = replaceUsersWithAt(actor) newMuteJson = { @@ -4859,7 +4859,7 @@ def sendMuteViaServer(base_dir: str, session, } # lookup the inbox for the To handle - wfRequest = webfingerHandle(session, handle, httpPrefix, + wfRequest = webfingerHandle(session, handle, http_prefix, cachedWebfingers, fromDomain, projectVersion, debug, False, signingPrivateKeyPem) @@ -4881,7 +4881,7 @@ def sendMuteViaServer(base_dir: str, session, originDomain, base_dir, session, wfRequest, personCache, - projectVersion, httpPrefix, fromNickname, + projectVersion, http_prefix, fromNickname, fromDomain, postToBox, 72652) if not inboxUrl: @@ -4900,7 +4900,7 @@ def sendMuteViaServer(base_dir: str, session, 'Content-type': 'application/json', 'Authorization': authHeader } - postResult = postJson(httpPrefix, fromDomainFull, + postResult = postJson(http_prefix, fromDomainFull, session, newMuteJson, [], inboxUrl, headers, 3, True) if postResult is None: @@ -4915,7 +4915,7 @@ def sendMuteViaServer(base_dir: str, session, def sendUndoMuteViaServer(base_dir: str, session, fromNickname: str, password: str, fromDomain: str, fromPort: int, - httpPrefix: str, mutedUrl: str, + http_prefix: str, mutedUrl: str, cachedWebfingers: {}, personCache: {}, debug: bool, projectVersion: str, signingPrivateKeyPem: str) -> {}: @@ -4927,7 +4927,7 @@ def sendUndoMuteViaServer(base_dir: str, session, fromDomainFull = getFullDomain(fromDomain, fromPort) - actor = localActorUrl(httpPrefix, fromNickname, fromDomainFull) + actor = localActorUrl(http_prefix, fromNickname, fromDomainFull) handle = replaceUsersWithAt(actor) undoMuteJson = { @@ -4944,7 +4944,7 @@ def sendUndoMuteViaServer(base_dir: str, session, } # lookup the inbox for the To handle - wfRequest = webfingerHandle(session, handle, httpPrefix, + wfRequest = webfingerHandle(session, handle, http_prefix, cachedWebfingers, fromDomain, projectVersion, debug, False, signingPrivateKeyPem) @@ -4966,7 +4966,7 @@ def sendUndoMuteViaServer(base_dir: str, session, originDomain, base_dir, session, wfRequest, personCache, - projectVersion, httpPrefix, fromNickname, + projectVersion, http_prefix, fromNickname, fromDomain, postToBox, 72652) if not inboxUrl: @@ -4986,7 +4986,7 @@ def sendUndoMuteViaServer(base_dir: str, session, 'Content-type': 'application/json', 'Authorization': authHeader } - postResult = postJson(httpPrefix, fromDomainFull, + postResult = postJson(http_prefix, fromDomainFull, session, undoMuteJson, [], inboxUrl, headers, 3, True) if postResult is None: @@ -5001,7 +5001,7 @@ def sendUndoMuteViaServer(base_dir: str, session, def sendUndoBlockViaServer(base_dir: str, session, fromNickname: str, password: str, fromDomain: str, fromPort: int, - httpPrefix: str, blockedUrl: str, + http_prefix: str, blockedUrl: str, cachedWebfingers: {}, personCache: {}, debug: bool, projectVersion: str, signingPrivateKeyPem: str) -> {}: @@ -5013,7 +5013,7 @@ def sendUndoBlockViaServer(base_dir: str, session, fromDomainFull = getFullDomain(fromDomain, fromPort) - blockActor = localActorUrl(httpPrefix, fromNickname, fromDomainFull) + blockActor = localActorUrl(http_prefix, fromNickname, fromDomainFull) toUrl = 'https://www.w3.org/ns/activitystreams#Public' ccUrl = blockActor + '/followers' @@ -5030,10 +5030,10 @@ def sendUndoBlockViaServer(base_dir: str, session, } } - handle = httpPrefix + '://' + fromDomainFull + '/@' + fromNickname + handle = http_prefix + '://' + fromDomainFull + '/@' + fromNickname # lookup the inbox for the To handle - wfRequest = webfingerHandle(session, handle, httpPrefix, + wfRequest = webfingerHandle(session, handle, http_prefix, cachedWebfingers, fromDomain, projectVersion, debug, False, signingPrivateKeyPem) @@ -5054,7 +5054,7 @@ def sendUndoBlockViaServer(base_dir: str, session, displayName, _) = getPersonBox(signingPrivateKeyPem, originDomain, base_dir, session, wfRequest, personCache, - projectVersion, httpPrefix, fromNickname, + projectVersion, http_prefix, fromNickname, fromDomain, postToBox, 53892) if not inboxUrl: @@ -5074,7 +5074,7 @@ def sendUndoBlockViaServer(base_dir: str, session, 'Content-type': 'application/json', 'Authorization': authHeader } - postResult = postJson(httpPrefix, fromDomainFull, + postResult = postJson(http_prefix, fromDomainFull, session, newBlockJson, [], inboxUrl, headers, 30, True) if not postResult: @@ -5119,7 +5119,7 @@ def postIsMuted(base_dir: str, nickname: str, domain: str, def c2sBoxJson(base_dir: str, session, nickname: str, password: str, domain: str, port: int, - httpPrefix: str, + http_prefix: str, boxName: str, pageNumber: int, debug: bool, signingPrivateKeyPem: str) -> {}: """C2S Authenticated GET of posts for a timeline @@ -5129,7 +5129,7 @@ def c2sBoxJson(base_dir: str, session, return None domainFull = getFullDomain(domain, port) - actor = localActorUrl(httpPrefix, nickname, domainFull) + actor = localActorUrl(http_prefix, nickname, domainFull) authHeader = createBasicAuthHeader(nickname, password) @@ -5144,7 +5144,7 @@ def c2sBoxJson(base_dir: str, session, # GET json url = actor + '/' + boxName + '?page=' + str(pageNumber) boxJson = getJson(signingPrivateKeyPem, session, url, headers, None, - debug, __version__, httpPrefix, None) + debug, __version__, http_prefix, None) if boxJson is not None and debug: print('DEBUG: GET c2sBoxJson success') diff --git a/reaction.py b/reaction.py index 0b36ac602..ba26ea678 100644 --- a/reaction.py +++ b/reaction.py @@ -63,7 +63,7 @@ def validEmojiContent(emojiContent: str) -> bool: def _reaction(recentPostsCache: {}, session, base_dir: str, federationList: [], nickname: str, domain: str, port: int, - ccList: [], httpPrefix: str, + ccList: [], http_prefix: str, objectUrl: str, emojiContent: str, actorReaction: str, clientToServer: bool, @@ -87,7 +87,7 @@ def _reaction(recentPostsCache: {}, newReactionJson = { "@context": "https://www.w3.org/ns/activitystreams", 'type': 'EmojiReact', - 'actor': localActorUrl(httpPrefix, nickname, fullDomain), + 'actor': localActorUrl(http_prefix, nickname, fullDomain), 'object': objectUrl, 'content': emojiContent } @@ -137,7 +137,7 @@ def _reaction(recentPostsCache: {}, reactionPostNickname, reactionPostDomain, reactionPostPort, 'https://www.w3.org/ns/activitystreams#Public', - httpPrefix, True, clientToServer, federationList, + http_prefix, True, clientToServer, federationList, sendThreads, postLog, cachedWebfingers, personCache, debug, projectVersion, None, groupAccount, signingPrivateKeyPem, 7165392) @@ -147,7 +147,7 @@ def _reaction(recentPostsCache: {}, def reactionPost(recentPostsCache: {}, session, base_dir: str, federationList: [], - nickname: str, domain: str, port: int, httpPrefix: str, + nickname: str, domain: str, port: int, http_prefix: str, reactionNickname: str, reactionDomain: str, reactionPort: int, ccList: [], reactionStatusNumber: int, emojiContent: str, @@ -160,13 +160,14 @@ def reactionPost(recentPostsCache: {}, """ reactionDomain = getFullDomain(reactionDomain, reactionPort) - actorReaction = localActorUrl(httpPrefix, reactionNickname, reactionDomain) + actorReaction = \ + localActorUrl(http_prefix, reactionNickname, reactionDomain) objectUrl = actorReaction + '/statuses/' + str(reactionStatusNumber) return _reaction(recentPostsCache, session, base_dir, federationList, nickname, domain, port, - ccList, httpPrefix, objectUrl, emojiContent, + ccList, http_prefix, objectUrl, emojiContent, actorReaction, clientToServer, sendThreads, postLog, personCache, cachedWebfingers, debug, projectVersion, signingPrivateKeyPem) @@ -175,7 +176,7 @@ def reactionPost(recentPostsCache: {}, def sendReactionViaServer(base_dir: str, session, fromNickname: str, password: str, fromDomain: str, fromPort: int, - httpPrefix: str, reactionUrl: str, + http_prefix: str, reactionUrl: str, emojiContent: str, cachedWebfingers: {}, personCache: {}, debug: bool, projectVersion: str, @@ -192,7 +193,7 @@ def sendReactionViaServer(base_dir: str, session, fromDomainFull = getFullDomain(fromDomain, fromPort) - actor = localActorUrl(httpPrefix, fromNickname, fromDomainFull) + actor = localActorUrl(http_prefix, fromNickname, fromDomainFull) newReactionJson = { "@context": "https://www.w3.org/ns/activitystreams", @@ -202,10 +203,10 @@ def sendReactionViaServer(base_dir: str, session, 'content': emojiContent } - handle = httpPrefix + '://' + fromDomainFull + '/@' + fromNickname + handle = http_prefix + '://' + fromDomainFull + '/@' + fromNickname # lookup the inbox for the To handle - wfRequest = webfingerHandle(session, handle, httpPrefix, + wfRequest = webfingerHandle(session, handle, http_prefix, cachedWebfingers, fromDomain, projectVersion, debug, False, signingPrivateKeyPem) @@ -227,7 +228,7 @@ def sendReactionViaServer(base_dir: str, session, originDomain, base_dir, session, wfRequest, personCache, - projectVersion, httpPrefix, + projectVersion, http_prefix, fromNickname, fromDomain, postToBox, 72873) @@ -248,7 +249,7 @@ def sendReactionViaServer(base_dir: str, session, 'Content-type': 'application/json', 'Authorization': authHeader } - postResult = postJson(httpPrefix, fromDomainFull, + postResult = postJson(http_prefix, fromDomainFull, session, newReactionJson, [], inboxUrl, headers, 3, True) if not postResult: @@ -265,7 +266,7 @@ def sendReactionViaServer(base_dir: str, session, def sendUndoReactionViaServer(base_dir: str, session, fromNickname: str, password: str, fromDomain: str, fromPort: int, - httpPrefix: str, reactionUrl: str, + http_prefix: str, reactionUrl: str, emojiContent: str, cachedWebfingers: {}, personCache: {}, debug: bool, projectVersion: str, @@ -278,7 +279,7 @@ def sendUndoReactionViaServer(base_dir: str, session, fromDomainFull = getFullDomain(fromDomain, fromPort) - actor = localActorUrl(httpPrefix, fromNickname, fromDomainFull) + actor = localActorUrl(http_prefix, fromNickname, fromDomainFull) newUndoReactionJson = { "@context": "https://www.w3.org/ns/activitystreams", @@ -292,10 +293,10 @@ def sendUndoReactionViaServer(base_dir: str, session, } } - handle = httpPrefix + '://' + fromDomainFull + '/@' + fromNickname + handle = http_prefix + '://' + fromDomainFull + '/@' + fromNickname # lookup the inbox for the To handle - wfRequest = webfingerHandle(session, handle, httpPrefix, + wfRequest = webfingerHandle(session, handle, http_prefix, cachedWebfingers, fromDomain, projectVersion, debug, False, signingPrivateKeyPem) @@ -318,7 +319,7 @@ def sendUndoReactionViaServer(base_dir: str, session, originDomain, base_dir, session, wfRequest, personCache, projectVersion, - httpPrefix, fromNickname, + http_prefix, fromNickname, fromDomain, postToBox, 72625) @@ -339,7 +340,7 @@ def sendUndoReactionViaServer(base_dir: str, session, 'Content-type': 'application/json', 'Authorization': authHeader } - postResult = postJson(httpPrefix, fromDomainFull, + postResult = postJson(http_prefix, fromDomainFull, session, newUndoReactionJson, [], inboxUrl, headers, 3, True) if not postResult: @@ -354,7 +355,7 @@ def sendUndoReactionViaServer(base_dir: str, session, def outboxReaction(recentPostsCache: {}, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, nickname: str, domain: str, port: int, messageJson: {}, debug: bool) -> None: """ When a reaction request is received by the outbox from c2s @@ -398,7 +399,7 @@ def outboxReaction(recentPostsCache: {}, def outboxUndoReaction(recentPostsCache: {}, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, nickname: str, domain: str, port: int, messageJson: {}, debug: bool) -> None: """ When an undo reaction request is received by the outbox from c2s diff --git a/schedule.py b/schedule.py index dd84787be..33b69bfb0 100644 --- a/schedule.py +++ b/schedule.py @@ -97,7 +97,7 @@ def _updatePostSchedule(base_dir: str, handle: str, httpd, httpd.translate, postJsonObject, nickname, httpd, base_dir, - httpd.httpPrefix, + httpd.http_prefix, httpd.domain, httpd.domainFull, httpd.onionDomain, diff --git a/session.py b/session.py index 357713328..27f6b2f2c 100644 --- a/session.py +++ b/session.py @@ -55,7 +55,7 @@ def createSession(proxyType: str): def urlExists(session, url: str, timeoutSec: int = 3, - httpPrefix: str = 'https', domain: str = 'testdomain') -> bool: + http_prefix: str = 'https', domain: str = 'testdomain') -> bool: if not isinstance(url, str): print('url: ' + str(url)) print('ERROR: urlExists failed, url should be a string') @@ -65,7 +65,7 @@ def urlExists(session, url: str, timeoutSec: int = 3, sessionHeaders['User-Agent'] = 'Epicyon/' + __version__ if domain: sessionHeaders['User-Agent'] += \ - '; +' + httpPrefix + '://' + domain + '/' + '; +' + http_prefix + '://' + domain + '/' if not session: print('WARN: urlExists failed, no session specified') return True @@ -148,7 +148,7 @@ def _getJsonSigned(session, url: str, domainFull: str, sessionHeaders: {}, if '://' not in url: print('Invalid url: ' + url) return None - httpPrefix = url.split('://')[0] + http_prefix = url.split('://')[0] toDomainFull = url.split('://')[1] if '/' in toDomainFull: toDomainFull = toDomainFull.split('/')[0] @@ -158,7 +158,7 @@ def _getJsonSigned(session, url: str, domainFull: str, sessionHeaders: {}, port = domainFull.split(':')[1] else: domain = domainFull - if httpPrefix == 'https': + if http_prefix == 'https': port = 443 else: port = 80 @@ -168,7 +168,7 @@ def _getJsonSigned(session, url: str, domainFull: str, sessionHeaders: {}, toPort = toDomainFull.split(':')[1] else: toDomain = toDomainFull - if httpPrefix == 'https': + if http_prefix == 'https': toPort = 443 else: toPort = 80 @@ -177,7 +177,7 @@ def _getJsonSigned(session, url: str, domainFull: str, sessionHeaders: {}, print('Signed GET domain: ' + domain + ' ' + str(port)) print('Signed GET toDomain: ' + toDomain + ' ' + str(toPort)) print('Signed GET url: ' + url) - print('Signed GET httpPrefix: ' + httpPrefix) + print('Signed GET http_prefix: ' + http_prefix) messageStr = '' withDigest = False if toDomainFull + '/' in url: @@ -189,7 +189,7 @@ def _getJsonSigned(session, url: str, domainFull: str, sessionHeaders: {}, contentType = sessionHeaders['Accept'] signatureHeaderJson = \ createSignedHeader(None, signingPrivateKeyPem, 'actor', domain, port, - toDomain, toPort, path, httpPrefix, withDigest, + toDomain, toPort, path, http_prefix, withDigest, messageStr, contentType) if debug: print('Signed GET signatureHeaderJson ' + str(signatureHeaderJson)) @@ -212,7 +212,7 @@ def _getJsonSigned(session, url: str, domainFull: str, sessionHeaders: {}, def getJson(signingPrivateKeyPem: str, session, url: str, headers: {}, params: {}, debug: bool, - version: str = '1.2.0', httpPrefix: str = 'https', + version: str = '1.2.0', http_prefix: str = 'https', domain: str = 'testdomain', timeoutSec: int = 20, quiet: bool = False) -> {}: if not isinstance(url, str): @@ -229,7 +229,7 @@ def getJson(signingPrivateKeyPem: str, sessionHeaders['User-Agent'] = 'Epicyon/' + version if domain: sessionHeaders['User-Agent'] += \ - '; +' + httpPrefix + '://' + domain + '/' + '; +' + http_prefix + '://' + domain + '/' if not session: if not quiet: print('WARN: getJson failed, no session specified for getJson') @@ -251,7 +251,7 @@ def getJson(signingPrivateKeyPem: str, def downloadHtml(signingPrivateKeyPem: str, session, url: str, headers: {}, params: {}, debug: bool, - version: str = '1.2.0', httpPrefix: str = 'https', + version: str = '1.2.0', http_prefix: str = 'https', domain: str = 'testdomain', timeoutSec: int = 20, quiet: bool = False) -> {}: if not isinstance(url, str): @@ -269,7 +269,7 @@ def downloadHtml(signingPrivateKeyPem: str, sessionHeaders['User-Agent'] = 'Epicyon/' + version if domain: sessionHeaders['User-Agent'] += \ - '; +' + httpPrefix + '://' + domain + '/' + '; +' + http_prefix + '://' + domain + '/' if not session: if not quiet: print('WARN: downloadHtml failed, ' + @@ -290,7 +290,7 @@ def downloadHtml(signingPrivateKeyPem: str, None, quiet, debug, False) -def postJson(httpPrefix: str, domainFull: str, +def postJson(http_prefix: str, domainFull: str, session, postJsonObject: {}, federationList: [], inboxUrl: str, headers: {}, timeoutSec: int = 60, quiet: bool = False) -> str: @@ -305,7 +305,7 @@ def postJson(httpPrefix: str, domainFull: str, sessionHeaders = headers sessionHeaders['User-Agent'] = 'Epicyon/' + __version__ sessionHeaders['User-Agent'] += \ - '; +' + httpPrefix + '://' + domainFull + '/' + '; +' + http_prefix + '://' + domainFull + '/' try: postResult = \ diff --git a/shares.py b/shares.py index f1219dc76..ea8104752 100644 --- a/shares.py +++ b/shares.py @@ -48,7 +48,7 @@ from blocking import isBlocked def _loadDfcIds(base_dir: str, systemLanguage: str, productType: str, - httpPrefix: str, domainFull: str) -> {}: + http_prefix: str, domainFull: str) -> {}: """Loads the product types ontology This is used to add an id to shared items """ @@ -95,7 +95,7 @@ def _loadDfcIds(base_dir: str, systemLanguage: str, if label['@language'] == systemLanguage: itemId = \ item['@id'].replace('http://static.datafoodconsortium.org', - httpPrefix + '://' + domainFull) + http_prefix + '://' + domainFull) dfcIds[label['@value'].lower()] = itemId break return dfcIds @@ -120,7 +120,7 @@ def _getValidSharedItemID(actor: str, displayName: str) -> str: def removeSharedItem(base_dir: str, nickname: str, domain: str, itemID: str, - httpPrefix: str, domainFull: str, + http_prefix: str, domainFull: str, sharesFileType: str) -> None: """Removes a share for a person """ @@ -202,7 +202,7 @@ def _dfcProductTypeFromCategory(base_dir: str, def _getshareDfcId(base_dir: str, systemLanguage: str, itemType: str, itemCategory: str, translate: {}, - httpPrefix: str, domainFull: str, + http_prefix: str, domainFull: str, dfcIds: {} = None) -> str: """Attempts to obtain a DFC Id for the shared item, based upon productTypes ontology. @@ -218,7 +218,7 @@ def _getshareDfcId(base_dir: str, systemLanguage: str, return 'epicyon#' + itemType if not dfcIds: dfcIds = _loadDfcIds(base_dir, systemLanguage, matchedProductType, - httpPrefix, domainFull) + http_prefix, domainFull) if not dfcIds: return '' itemTypeLower = itemType.lower() @@ -264,7 +264,7 @@ def _getshareTypeFromDfcId(dfcUri: str, dfcIds: {}) -> str: return None -def _indicateNewShareAvailable(base_dir: str, httpPrefix: str, +def _indicateNewShareAvailable(base_dir: str, http_prefix: str, nickname: str, domain: str, domainFull: str, sharesFileType: str) -> None: """Indicate to each account that a new share is available @@ -286,7 +286,8 @@ def _indicateNewShareAvailable(base_dir: str, httpPrefix: str, if isBlocked(base_dir, accountNickname, domain, nickname, domain, None): continue - localActor = localActorUrl(httpPrefix, accountNickname, domainFull) + localActor = \ + localActorUrl(http_prefix, accountNickname, domainFull) try: with open(newShareFile, 'w+') as fp: if sharesFileType == 'shares': @@ -300,7 +301,7 @@ def _indicateNewShareAvailable(base_dir: str, httpPrefix: str, def addShare(base_dir: str, - httpPrefix: str, nickname: str, domain: str, port: int, + http_prefix: str, nickname: str, domain: str, port: int, displayName: str, summary: str, imageFilename: str, itemQty: float, itemType: str, itemCategory: str, location: str, duration: str, debug: bool, city: str, @@ -326,11 +327,11 @@ def addShare(base_dir: str, durationSec = _addShareDurationSec(duration, published) domainFull = getFullDomain(domain, port) - actor = localActorUrl(httpPrefix, nickname, domainFull) + actor = localActorUrl(http_prefix, nickname, domainFull) itemID = _getValidSharedItemID(actor, displayName) dfcId = _getshareDfcId(base_dir, systemLanguage, itemType, itemCategory, translate, - httpPrefix, domainFull) + http_prefix, domainFull) # has an image for this share been uploaded? imageUrl = None @@ -370,7 +371,7 @@ def addShare(base_dir: str, print('EX: addShare unable to delete ' + str(imageFilename)) imageUrl = \ - httpPrefix + '://' + domainFull + \ + http_prefix + '://' + domainFull + \ '/sharefiles/' + nickname + '/' + itemID + '.' + ext sharesJson[itemID] = { @@ -390,7 +391,7 @@ def addShare(base_dir: str, saveJson(sharesJson, sharesFilename) - _indicateNewShareAvailable(base_dir, httpPrefix, + _indicateNewShareAvailable(base_dir, http_prefix, nickname, domain, domainFull, sharesFileType) @@ -447,7 +448,7 @@ def _expireSharesForAccount(base_dir: str, nickname: str, domain: str, def getSharesFeedForPerson(base_dir: str, domain: str, port: int, - path: str, httpPrefix: str, + path: str, http_prefix: str, sharesFileType: str, sharesPerPage: int) -> {}: """Returns the shares for an account from GET requests @@ -498,7 +499,7 @@ def getSharesFeedForPerson(base_dir: str, sharesJson = loadJson(sharesFilename) if sharesJson: noOfShares = len(sharesJson.items()) - idStr = localActorUrl(httpPrefix, nickname, domain) + idStr = localActorUrl(http_prefix, nickname, domain) shares = { '@context': 'https://www.w3.org/ns/activitystreams', 'first': idStr + '/' + sharesFileType + '?page=1', @@ -512,7 +513,7 @@ def getSharesFeedForPerson(base_dir: str, pageNumber = 1 nextPageNumber = int(pageNumber + 1) - idStr = localActorUrl(httpPrefix, nickname, domain) + idStr = localActorUrl(http_prefix, nickname, domain) shares = { '@context': 'https://www.w3.org/ns/activitystreams', 'id': idStr + '/' + sharesFileType + '?page=' + str(pageNumber), @@ -545,7 +546,7 @@ def getSharesFeedForPerson(base_dir: str, lastPage = 1 if nextPageNumber > lastPage: shares['next'] = \ - localActorUrl(httpPrefix, nickname, domain) + \ + localActorUrl(http_prefix, nickname, domain) + \ '/' + sharesFileType + '?page=' + str(lastPage) return shares @@ -553,7 +554,7 @@ def getSharesFeedForPerson(base_dir: str, def sendShareViaServer(base_dir, session, fromNickname: str, password: str, fromDomain: str, fromPort: int, - httpPrefix: str, displayName: str, + http_prefix: str, displayName: str, summary: str, imageFilename: str, itemQty: float, itemType: str, itemCategory: str, location: str, duration: str, @@ -577,7 +578,7 @@ def sendShareViaServer(base_dir, session, fromDomainFull = getFullDomain(fromDomain, fromPort) - actor = localActorUrl(httpPrefix, fromNickname, fromDomainFull) + actor = localActorUrl(http_prefix, fromNickname, fromDomainFull) toUrl = 'https://www.w3.org/ns/activitystreams#Public' ccUrl = actor + '/followers' @@ -604,11 +605,11 @@ def sendShareViaServer(base_dir, session, 'cc': [ccUrl] } - handle = httpPrefix + '://' + fromDomainFull + '/@' + fromNickname + handle = http_prefix + '://' + fromDomainFull + '/@' + fromNickname # lookup the inbox for the To handle wfRequest = \ - webfingerHandle(session, handle, httpPrefix, + webfingerHandle(session, handle, http_prefix, cachedWebfingers, fromDomain, projectVersion, debug, False, signingPrivateKeyPem) @@ -630,7 +631,7 @@ def sendShareViaServer(base_dir, session, originDomain, base_dir, session, wfRequest, personCache, projectVersion, - httpPrefix, fromNickname, + http_prefix, fromNickname, fromDomain, postToBox, 83653) @@ -662,7 +663,7 @@ def sendShareViaServer(base_dir, session, 'Authorization': authHeader } postResult = \ - postJson(httpPrefix, fromDomainFull, + postJson(http_prefix, fromDomainFull, session, newShareJson, [], inboxUrl, headers, 30, True) if not postResult: if debug: @@ -678,7 +679,7 @@ def sendShareViaServer(base_dir, session, def sendUndoShareViaServer(base_dir: str, session, fromNickname: str, password: str, fromDomain: str, fromPort: int, - httpPrefix: str, displayName: str, + http_prefix: str, displayName: str, cachedWebfingers: {}, personCache: {}, debug: bool, projectVersion: str, signingPrivateKeyPem: str) -> {}: @@ -690,7 +691,7 @@ def sendUndoShareViaServer(base_dir: str, session, fromDomainFull = getFullDomain(fromDomain, fromPort) - actor = localActorUrl(httpPrefix, fromNickname, fromDomainFull) + actor = localActorUrl(http_prefix, fromNickname, fromDomainFull) toUrl = 'https://www.w3.org/ns/activitystreams#Public' ccUrl = actor + '/followers' @@ -709,11 +710,11 @@ def sendUndoShareViaServer(base_dir: str, session, 'cc': [ccUrl] } - handle = httpPrefix + '://' + fromDomainFull + '/@' + fromNickname + handle = http_prefix + '://' + fromDomainFull + '/@' + fromNickname # lookup the inbox for the To handle wfRequest = \ - webfingerHandle(session, handle, httpPrefix, cachedWebfingers, + webfingerHandle(session, handle, http_prefix, cachedWebfingers, fromDomain, projectVersion, debug, False, signingPrivateKeyPem) if not wfRequest: @@ -734,7 +735,7 @@ def sendUndoShareViaServer(base_dir: str, session, originDomain, base_dir, session, wfRequest, personCache, projectVersion, - httpPrefix, fromNickname, + http_prefix, fromNickname, fromDomain, postToBox, 12663) @@ -756,7 +757,7 @@ def sendUndoShareViaServer(base_dir: str, session, 'Authorization': authHeader } postResult = \ - postJson(httpPrefix, fromDomainFull, + postJson(http_prefix, fromDomainFull, session, undoShareJson, [], inboxUrl, headers, 30, True) if not postResult: @@ -773,7 +774,7 @@ def sendUndoShareViaServer(base_dir: str, session, def sendWantedViaServer(base_dir, session, fromNickname: str, password: str, fromDomain: str, fromPort: int, - httpPrefix: str, displayName: str, + http_prefix: str, displayName: str, summary: str, imageFilename: str, itemQty: float, itemType: str, itemCategory: str, location: str, duration: str, @@ -797,7 +798,7 @@ def sendWantedViaServer(base_dir, session, fromDomainFull = getFullDomain(fromDomain, fromPort) - actor = localActorUrl(httpPrefix, fromNickname, fromDomainFull) + actor = localActorUrl(http_prefix, fromNickname, fromDomainFull) toUrl = 'https://www.w3.org/ns/activitystreams#Public' ccUrl = actor + '/followers' @@ -824,11 +825,11 @@ def sendWantedViaServer(base_dir, session, 'cc': [ccUrl] } - handle = httpPrefix + '://' + fromDomainFull + '/@' + fromNickname + handle = http_prefix + '://' + fromDomainFull + '/@' + fromNickname # lookup the inbox for the To handle wfRequest = \ - webfingerHandle(session, handle, httpPrefix, + webfingerHandle(session, handle, http_prefix, cachedWebfingers, fromDomain, projectVersion, debug, False, signingPrivateKeyPem) @@ -850,7 +851,7 @@ def sendWantedViaServer(base_dir, session, originDomain, base_dir, session, wfRequest, personCache, projectVersion, - httpPrefix, fromNickname, + http_prefix, fromNickname, fromDomain, postToBox, 23653) @@ -882,7 +883,7 @@ def sendWantedViaServer(base_dir, session, 'Authorization': authHeader } postResult = \ - postJson(httpPrefix, fromDomainFull, + postJson(http_prefix, fromDomainFull, session, newShareJson, [], inboxUrl, headers, 30, True) if not postResult: if debug: @@ -898,7 +899,7 @@ def sendWantedViaServer(base_dir, session, def sendUndoWantedViaServer(base_dir: str, session, fromNickname: str, password: str, fromDomain: str, fromPort: int, - httpPrefix: str, displayName: str, + http_prefix: str, displayName: str, cachedWebfingers: {}, personCache: {}, debug: bool, projectVersion: str, signingPrivateKeyPem: str) -> {}: @@ -910,7 +911,7 @@ def sendUndoWantedViaServer(base_dir: str, session, fromDomainFull = getFullDomain(fromDomain, fromPort) - actor = localActorUrl(httpPrefix, fromNickname, fromDomainFull) + actor = localActorUrl(http_prefix, fromNickname, fromDomainFull) toUrl = 'https://www.w3.org/ns/activitystreams#Public' ccUrl = actor + '/followers' @@ -929,11 +930,11 @@ def sendUndoWantedViaServer(base_dir: str, session, 'cc': [ccUrl] } - handle = httpPrefix + '://' + fromDomainFull + '/@' + fromNickname + handle = http_prefix + '://' + fromDomainFull + '/@' + fromNickname # lookup the inbox for the To handle wfRequest = \ - webfingerHandle(session, handle, httpPrefix, cachedWebfingers, + webfingerHandle(session, handle, http_prefix, cachedWebfingers, fromDomain, projectVersion, debug, False, signingPrivateKeyPem) if not wfRequest: @@ -954,7 +955,7 @@ def sendUndoWantedViaServer(base_dir: str, session, originDomain, base_dir, session, wfRequest, personCache, projectVersion, - httpPrefix, fromNickname, + http_prefix, fromNickname, fromDomain, postToBox, 12693) @@ -976,7 +977,7 @@ def sendUndoWantedViaServer(base_dir: str, session, 'Authorization': authHeader } postResult = \ - postJson(httpPrefix, fromDomainFull, + postJson(http_prefix, fromDomainFull, session, undoShareJson, [], inboxUrl, headers, 30, True) if not postResult: @@ -993,7 +994,7 @@ def sendUndoWantedViaServer(base_dir: str, session, def getSharedItemsCatalogViaServer(base_dir, session, nickname: str, password: str, domain: str, port: int, - httpPrefix: str, debug: bool, + http_prefix: str, debug: bool, signingPrivateKeyPem: str) -> {}: """Returns the shared items catalog via c2s """ @@ -1010,11 +1011,11 @@ def getSharedItemsCatalogViaServer(base_dir, session, 'Accept': 'application/json' } domainFull = getFullDomain(domain, port) - url = localActorUrl(httpPrefix, nickname, domainFull) + '/catalog' + url = localActorUrl(http_prefix, nickname, domainFull) + '/catalog' if debug: print('Shared items catalog request to: ' + url) catalogJson = getJson(signingPrivateKeyPem, session, url, headers, None, - debug, __version__, httpPrefix, None) + debug, __version__, http_prefix, None) if not catalogJson: if debug: print('DEBUG: GET shared items catalog failed for c2s to ' + url) @@ -1026,7 +1027,7 @@ def getSharedItemsCatalogViaServer(base_dir, session, return catalogJson -def outboxShareUpload(base_dir: str, httpPrefix: str, +def outboxShareUpload(base_dir: str, http_prefix: str, nickname: str, domain: str, port: int, messageJson: {}, debug: bool, city: str, systemLanguage: str, translate: {}, @@ -1080,7 +1081,7 @@ def outboxShareUpload(base_dir: str, httpPrefix: str, pprint(messageJson) addShare(base_dir, - httpPrefix, nickname, domain, port, + http_prefix, nickname, domain, port, messageJson['object']['displayName'], messageJson['object']['summary'], imageFilename, @@ -1098,7 +1099,7 @@ def outboxShareUpload(base_dir: str, httpPrefix: str, print('DEBUG: shared item received via c2s') -def outboxUndoShareUpload(base_dir: str, httpPrefix: str, +def outboxUndoShareUpload(base_dir: str, http_prefix: str, nickname: str, domain: str, port: int, messageJson: {}, debug: bool) -> None: """ When a shared item is removed via c2s @@ -1120,7 +1121,7 @@ def outboxUndoShareUpload(base_dir: str, httpPrefix: str, domainFull = getFullDomain(domain, port) removeSharedItem(base_dir, nickname, domain, messageJson['object']['displayName'], - httpPrefix, domainFull, 'shares') + http_prefix, domainFull, 'shares') if debug: print('DEBUG: shared item removed via c2s') @@ -1156,7 +1157,7 @@ def _sharesCatalogParams(path: str) -> (bool, float, float, str): return today, minPrice, maxPrice, matchPattern -def sharesCatalogAccountEndpoint(base_dir: str, httpPrefix: str, +def sharesCatalogAccountEndpoint(base_dir: str, http_prefix: str, nickname: str, domain: str, domainFull: str, path: str, debug: bool, @@ -1167,11 +1168,11 @@ def sharesCatalogAccountEndpoint(base_dir: str, httpPrefix: str, """ today, minPrice, maxPrice, matchPattern = _sharesCatalogParams(path) dfcUrl = \ - httpPrefix + '://' + domainFull + '/ontologies/DFC_FullModel.owl#' + http_prefix + '://' + domainFull + '/ontologies/DFC_FullModel.owl#' dfcPtUrl = \ - httpPrefix + '://' + domainFull + \ + http_prefix + '://' + domainFull + \ '/ontologies/DFC_ProductGlossary.rdf#' - owner = localActorUrl(httpPrefix, nickname, domainFull) + owner = localActorUrl(http_prefix, nickname, domainFull) if sharesFileType == 'shares': dfcInstanceId = owner + '/catalog' else: @@ -1248,7 +1249,7 @@ def sharesCatalogAccountEndpoint(base_dir: str, httpPrefix: str, return endpoint -def sharesCatalogEndpoint(base_dir: str, httpPrefix: str, +def sharesCatalogEndpoint(base_dir: str, http_prefix: str, domainFull: str, path: str, sharesFileType: str) -> {}: """Returns the endpoint for the shares catalog for the instance @@ -1257,11 +1258,11 @@ def sharesCatalogEndpoint(base_dir: str, httpPrefix: str, """ today, minPrice, maxPrice, matchPattern = _sharesCatalogParams(path) dfcUrl = \ - httpPrefix + '://' + domainFull + '/ontologies/DFC_FullModel.owl#' + http_prefix + '://' + domainFull + '/ontologies/DFC_FullModel.owl#' dfcPtUrl = \ - httpPrefix + '://' + domainFull + \ + http_prefix + '://' + domainFull + \ '/ontologies/DFC_ProductGlossary.rdf#' - dfcInstanceId = httpPrefix + '://' + domainFull + '/catalog' + dfcInstanceId = http_prefix + '://' + domainFull + '/catalog' endpoint = { "@context": { "DFC": dfcUrl, @@ -1282,7 +1283,7 @@ def sharesCatalogEndpoint(base_dir: str, httpPrefix: str, continue nickname = acct.split('@')[0] domain = acct.split('@')[1] - owner = localActorUrl(httpPrefix, nickname, domainFull) + owner = localActorUrl(http_prefix, nickname, domainFull) sharesFilename = \ acctDir(base_dir, nickname, domain) + '/' + \ @@ -1337,13 +1338,13 @@ def sharesCatalogEndpoint(base_dir: str, httpPrefix: str, return endpoint -def sharesCatalogCSVEndpoint(base_dir: str, httpPrefix: str, +def sharesCatalogCSVEndpoint(base_dir: str, http_prefix: str, domainFull: str, path: str, sharesFileType: str) -> str: """Returns a CSV version of the shares catalog """ catalogJson = \ - sharesCatalogEndpoint(base_dir, httpPrefix, domainFull, path, + sharesCatalogEndpoint(base_dir, http_prefix, domainFull, path, sharesFileType) if not catalogJson: return '' @@ -1540,7 +1541,7 @@ def authorizeSharedItems(sharedItemsFederatedDomains: [], def _updateFederatedSharesCache(session, sharedItemsFederatedDomains: [], base_dir: str, domainFull: str, - httpPrefix: str, + http_prefix: str, tokensJson: {}, debug: bool, systemLanguage: str, sharesFileType: str) -> None: @@ -1572,15 +1573,15 @@ def _updateFederatedSharesCache(session, sharedItemsFederatedDomains: [], if not tokensJson.get(federatedDomainFull): # token has been obtained for the other domain continue - if not siteIsActive(httpPrefix + '://' + federatedDomainFull, 10): + if not siteIsActive(http_prefix + '://' + federatedDomainFull, 10): continue if sharesFileType == 'shares': - url = httpPrefix + '://' + federatedDomainFull + '/catalog' + url = http_prefix + '://' + federatedDomainFull + '/catalog' else: - url = httpPrefix + '://' + federatedDomainFull + '/wantedItems' + url = http_prefix + '://' + federatedDomainFull + '/wantedItems' asHeader['Authorization'] = tokensJson[federatedDomainFull] catalogJson = getJson(session, url, asHeader, None, - debug, __version__, httpPrefix, None) + debug, __version__, http_prefix, None) if not catalogJson: print('WARN: failed to download shared items catalog for ' + federatedDomainFull) @@ -1590,7 +1591,7 @@ def _updateFederatedSharesCache(session, sharedItemsFederatedDomains: [], print('Downloaded shared items catalog for ' + federatedDomainFull) sharesJson = _dfcToSharesFormat(catalogJson, base_dir, systemLanguage, - httpPrefix, domainFull) + http_prefix, domainFull) if sharesJson: sharesFilename = \ catalogsDir + '/' + federatedDomainFull + '.' + \ @@ -1695,7 +1696,7 @@ def _regenerateSharesToken(base_dir: str, domainFull: str, base_dir) -def runFederatedSharesDaemon(base_dir: str, httpd, httpPrefix: str, +def runFederatedSharesDaemon(base_dir: str, httpd, http_prefix: str, domainFull: str, proxyType: str, debug: bool, systemLanguage: str) -> None: """Runs the daemon used to update federated shared items @@ -1742,7 +1743,7 @@ def runFederatedSharesDaemon(base_dir: str, httpd, httpPrefix: str, session = createSession(proxyType) for sharesFileType in getSharesFilesList(): _updateFederatedSharesCache(session, sharedItemsFederatedDomains, - base_dir, domainFull, httpPrefix, + base_dir, domainFull, http_prefix, tokensJson, debug, systemLanguage, sharesFileType) time.sleep(secondsPerHour * 6) @@ -1750,7 +1751,7 @@ def runFederatedSharesDaemon(base_dir: str, httpd, httpPrefix: str, def _dfcToSharesFormat(catalogJson: {}, base_dir: str, systemLanguage: str, - httpPrefix: str, domainFull: str) -> {}: + http_prefix: str, domainFull: str) -> {}: """Converts DFC format into the internal formal used to store shared items. This simplifies subsequent search and display """ @@ -1763,7 +1764,7 @@ def _dfcToSharesFormat(catalogJson: {}, for productType in productTypesList: dfcIds[productType] = \ _loadDfcIds(base_dir, systemLanguage, productType, - httpPrefix, domainFull) + http_prefix, domainFull) currTime = int(time.time()) for item in catalogJson['DFC:supplies']: diff --git a/skills.py b/skills.py index 9deba6b75..2201c9c09 100644 --- a/skills.py +++ b/skills.py @@ -174,7 +174,7 @@ def outboxSkills(base_dir: str, nickname: str, messageJson: {}, def sendSkillViaServer(base_dir: str, session, nickname: str, password: str, domain: str, port: int, - httpPrefix: str, + http_prefix: str, skill: str, skillLevelPercent: int, cachedWebfingers: {}, personCache: {}, debug: bool, projectVersion: str, @@ -187,7 +187,7 @@ def sendSkillViaServer(base_dir: str, session, nickname: str, password: str, domainFull = getFullDomain(domain, port) - actor = localActorUrl(httpPrefix, nickname, domainFull) + actor = localActorUrl(http_prefix, nickname, domainFull) toUrl = actor ccUrl = actor + '/followers' @@ -204,11 +204,11 @@ def sendSkillViaServer(base_dir: str, session, nickname: str, password: str, 'cc': [ccUrl] } - handle = httpPrefix + '://' + domainFull + '/@' + nickname + handle = http_prefix + '://' + domainFull + '/@' + nickname # lookup the inbox for the To handle wfRequest = \ - webfingerHandle(session, handle, httpPrefix, + webfingerHandle(session, handle, http_prefix, cachedWebfingers, domain, projectVersion, debug, False, signingPrivateKeyPem) @@ -230,7 +230,7 @@ def sendSkillViaServer(base_dir: str, session, nickname: str, password: str, originDomain, base_dir, session, wfRequest, personCache, projectVersion, - httpPrefix, nickname, domain, + http_prefix, nickname, domain, postToBox, 76121) if not inboxUrl: @@ -251,7 +251,7 @@ def sendSkillViaServer(base_dir: str, session, nickname: str, password: str, 'Authorization': authHeader } postResult = \ - postJson(httpPrefix, domainFull, + postJson(http_prefix, domainFull, session, newSkillJson, [], inboxUrl, headers, 30, True) if not postResult: diff --git a/socnet.py b/socnet.py index ff1850010..280e06c05 100644 --- a/socnet.py +++ b/socnet.py @@ -16,7 +16,7 @@ from utils import getFullDomain def instancesGraph(base_dir: str, handles: str, proxyType: str, - port: int, httpPrefix: str, + port: int, http_prefix: str, debug: bool, projectVersion: str, systemLanguage: str, signingPrivateKeyPem: str) -> str: """ Returns a dot graph of federating instances @@ -50,9 +50,9 @@ def instancesGraph(base_dir: str, handles: str, domain = handle.split('@')[1] domainFull = getFullDomain(domain, port) - handle = httpPrefix + "://" + domainFull + "/@" + nickname + handle = http_prefix + "://" + domainFull + "/@" + nickname wfRequest = \ - webfingerHandle(session, handle, httpPrefix, + webfingerHandle(session, handle, http_prefix, cachedWebfingers, domain, projectVersion, debug, False, signingPrivateKeyPem) @@ -69,7 +69,7 @@ def instancesGraph(base_dir: str, handles: str, originDomain, base_dir, session, wfRequest, personCache, - projectVersion, httpPrefix, + projectVersion, http_prefix, nickname, domain, 'outbox', 27261) wordFrequency = {} @@ -77,7 +77,7 @@ def instancesGraph(base_dir: str, handles: str, getPostDomains(session, personUrl, 64, maxMentions, maxEmoji, maxAttachments, federationList, personCache, debug, - projectVersion, httpPrefix, domain, + projectVersion, http_prefix, domain, wordFrequency, [], systemLanguage, signingPrivateKeyPem) postDomains.sort() diff --git a/speaker.py b/speaker.py index 4dd026b8b..12486f7ed 100644 --- a/speaker.py +++ b/speaker.py @@ -402,7 +402,7 @@ def speakableText(base_dir: str, content: str, translate: {}) -> (str, []): return sayContent.replace(' . ', '. ').strip(), detectedLinks -def _postToSpeakerJson(base_dir: str, httpPrefix: str, +def _postToSpeakerJson(base_dir: str, http_prefix: str, nickname: str, domain: str, domainFull: str, postJsonObject: {}, personCache: {}, translate: {}, announcingActor: str, @@ -454,7 +454,7 @@ def _postToSpeakerJson(base_dir: str, httpPrefix: str, img['name'] + '. ' isDirect = isDM(postJsonObject) - actor = localActorUrl(httpPrefix, nickname, domainFull) + actor = localActorUrl(http_prefix, nickname, domainFull) replyToYou = isReply(postJsonObject, actor) published = '' @@ -533,7 +533,7 @@ def _postToSpeakerJson(base_dir: str, httpPrefix: str, isDirect, replyToYou) -def updateSpeaker(base_dir: str, httpPrefix: str, +def updateSpeaker(base_dir: str, http_prefix: str, nickname: str, domain: str, domainFull: str, postJsonObject: {}, personCache: {}, translate: {}, announcingActor: str, @@ -542,7 +542,7 @@ def updateSpeaker(base_dir: str, httpPrefix: str, of incoming inbox posts """ speakerJson = \ - _postToSpeakerJson(base_dir, httpPrefix, + _postToSpeakerJson(base_dir, http_prefix, nickname, domain, domainFull, postJsonObject, personCache, translate, announcingActor, diff --git a/tests.py b/tests.py index a03aa644c..c146c528e 100644 --- a/tests.py +++ b/tests.py @@ -185,7 +185,7 @@ thrEve = None def _testHttpSignedGET(base_dir: str): print('testHttpSignedGET') - httpPrefix = 'https' + http_prefix = 'https' debug = True boxpath = "/users/Actor" @@ -240,12 +240,12 @@ def _testHttpSignedGET(base_dir: str): messageBodyDigest = None messageBodyJsonStr = '' noRecencyCheck = True - assert verifyPostHeaders(httpPrefix, publicKeyPem, headers, + assert verifyPostHeaders(http_prefix, publicKeyPem, headers, boxpath, GETmethod, messageBodyDigest, messageBodyJsonStr, debug, noRecencyCheck) # Change a single character and the signature should fail headers['date'] = headers['date'].replace(':10', ':11') - assert not verifyPostHeaders(httpPrefix, publicKeyPem, headers, + assert not verifyPostHeaders(http_prefix, publicKeyPem, headers, boxpath, GETmethod, messageBodyDigest, messageBodyJsonStr, debug, noRecencyCheck) @@ -258,13 +258,13 @@ def _testHttpSignedGET(base_dir: str): nickname = 'testactor' hostDomain = 'someother.instance' domain = 'argumentative.social' - httpPrefix = 'https' + http_prefix = 'https' port = 443 withDigest = False password = 'SuperSecretPassword' noRecencyCheck = True privateKeyPem, publicKeyPem, person, wfEndpoint = \ - createPerson(path, nickname, domain, port, httpPrefix, + createPerson(path, nickname, domain, port, http_prefix, False, False, password) assert privateKeyPem assert publicKeyPem @@ -287,12 +287,12 @@ def _testHttpSignedGET(base_dir: str): privateKeyPem, nickname, domain, port, hostDomain, port, - boxpath, httpPrefix, False, + boxpath, http_prefix, False, None, accept) headers['signature'] = signatureHeader['signature'] GETmethod = not withDigest - assert verifyPostHeaders(httpPrefix, publicKeyPem, headers, + assert verifyPostHeaders(http_prefix, publicKeyPem, headers, boxpath, GETmethod, None, messageBodyJsonStr, debug, noRecencyCheck) if os.path.isdir(path): @@ -395,7 +395,7 @@ def _testSignAndVerify() -> None: def _testHttpSigNew(algorithm: str, digestAlgorithm: str): print('testHttpSigNew') - httpPrefix = 'https' + http_prefix = 'https' port = 443 debug = True messageBodyJson = {"hello": "world"} @@ -489,7 +489,7 @@ def _testHttpSigNew(algorithm: str, digestAlgorithm: str): signPostHeadersNew(dateStr, privateKeyPem, nickname, domain, port, domain, port, - pathStr, httpPrefix, messageBodyJsonStr, + pathStr, http_prefix, messageBodyJsonStr, algorithm, digestAlgorithm, debug) print('signatureIndexHeader1: ' + str(signatureIndexHeader)) print('signatureHeader1: ' + str(signatureHeader)) @@ -511,14 +511,14 @@ def _testHttpSigNew(algorithm: str, digestAlgorithm: str): headers['path'] = pathStr headers['signature'] = sig headers['signature-input'] = sigInput - assert verifyPostHeaders(httpPrefix, publicKeyPem, headers, + assert verifyPostHeaders(http_prefix, publicKeyPem, headers, pathStr, False, None, messageBodyJsonStr, debug, True) # make a deliberate mistake debug = False headers['signature'] = headers['signature'].replace('V', 'B') - assert not verifyPostHeaders(httpPrefix, publicKeyPem, headers, + assert not verifyPostHeaders(http_prefix, publicKeyPem, headers, pathStr, False, None, messageBodyJsonStr, debug, True) @@ -538,11 +538,11 @@ def _testHttpsigBase(withDigest: bool, base_dir: str): nickname = 'socrates' hostDomain = 'someother.instance' domain = 'argumentative.social' - httpPrefix = 'https' + http_prefix = 'https' port = 5576 password = 'SuperSecretPassword' privateKeyPem, publicKeyPem, person, wfEndpoint = \ - createPerson(path, nickname, domain, port, httpPrefix, + createPerson(path, nickname, domain, port, http_prefix, False, False, password) assert privateKeyPem if withDigest: @@ -569,7 +569,7 @@ def _testHttpsigBase(withDigest: bool, base_dir: str): signPostHeaders(dateStr, privateKeyPem, nickname, domain, port, hostDomain, port, - boxpath, httpPrefix, None, contentType, + boxpath, http_prefix, None, contentType, algorithm, None) else: digestPrefix = getDigestPrefix(digestAlgorithm) @@ -587,25 +587,25 @@ def _testHttpsigBase(withDigest: bool, base_dir: str): signPostHeaders(dateStr, privateKeyPem, nickname, domain, port, hostDomain, port, - boxpath, httpPrefix, messageBodyJsonStr, + boxpath, http_prefix, messageBodyJsonStr, contentType, algorithm, digestAlgorithm) headers['signature'] = signatureHeader GETmethod = not withDigest debug = True - assert verifyPostHeaders(httpPrefix, publicKeyPem, headers, + assert verifyPostHeaders(http_prefix, publicKeyPem, headers, boxpath, GETmethod, None, messageBodyJsonStr, debug) if withDigest: # everything correct except for content-length headers['content-length'] = str(contentLength + 2) - assert verifyPostHeaders(httpPrefix, publicKeyPem, headers, + assert verifyPostHeaders(http_prefix, publicKeyPem, headers, boxpath, GETmethod, None, messageBodyJsonStr, False) is False - assert verifyPostHeaders(httpPrefix, publicKeyPem, headers, + assert verifyPostHeaders(http_prefix, publicKeyPem, headers, '/parambulator' + boxpath, GETmethod, None, messageBodyJsonStr, False) is False - assert verifyPostHeaders(httpPrefix, publicKeyPem, headers, + assert verifyPostHeaders(http_prefix, publicKeyPem, headers, boxpath, not GETmethod, None, messageBodyJsonStr, False) is False if not withDigest: @@ -632,7 +632,7 @@ def _testHttpsigBase(withDigest: bool, base_dir: str): } assert getDigestAlgorithmFromHeaders(headers) == digestAlgorithm headers['signature'] = signatureHeader - assert verifyPostHeaders(httpPrefix, publicKeyPem, headers, + assert verifyPostHeaders(http_prefix, publicKeyPem, headers, boxpath, not GETmethod, None, messageBodyJsonStr, False) is False @@ -690,7 +690,7 @@ def createServerAlice(path: str, domain: str, port: int, sharedItemsFederatedDomains = [] systemLanguage = 'en' nickname = 'alice' - httpPrefix = 'http' + http_prefix = 'http' proxyType = None password = 'alicepass' maxReplies = 64 @@ -699,7 +699,7 @@ def createServerAlice(path: str, domain: str, port: int, allowDeletion = True lowBandwidth = True privateKeyPem, publicKeyPem, person, wfEndpoint = \ - createPerson(path, nickname, domain, port, httpPrefix, True, + createPerson(path, nickname, domain, port, http_prefix, True, False, password) deleteAllPosts(path, nickname, domain, 'inbox') deleteAllPosts(path, nickname, domain, 'outbox') @@ -729,7 +729,7 @@ def createServerAlice(path: str, domain: str, port: int, testIsArticle = False conversationId = None contentLicenseUrl = 'https://creativecommons.org/licenses/by/4.0' - createPublicPost(path, nickname, domain, port, httpPrefix, + createPublicPost(path, nickname, domain, port, http_prefix, "No wise fish would go anywhere without a porpoise", testFollowersOnly, testSaveToFile, @@ -743,7 +743,7 @@ def createServerAlice(path: str, domain: str, port: int, testEventDate, testEventTime, testLocation, testIsArticle, systemLanguage, conversationId, lowBandwidth, contentLicenseUrl) - createPublicPost(path, nickname, domain, port, httpPrefix, + createPublicPost(path, nickname, domain, port, http_prefix, "Curiouser and curiouser!", testFollowersOnly, testSaveToFile, @@ -757,7 +757,7 @@ def createServerAlice(path: str, domain: str, port: int, testEventDate, testEventTime, testLocation, testIsArticle, systemLanguage, conversationId, lowBandwidth, contentLicenseUrl) - createPublicPost(path, nickname, domain, port, httpPrefix, + createPublicPost(path, nickname, domain, port, http_prefix, "In the gardens of memory, in the palace " + "of dreams, that is where you and I shall meet", testFollowersOnly, @@ -815,7 +815,7 @@ def createServerAlice(path: str, domain: str, port: int, 5, True, True, 'en', __version__, "instanceId", False, path, domain, onionDomain, i2pDomain, None, None, port, port, - httpPrefix, federationList, maxMentions, maxEmoji, False, + http_prefix, federationList, maxMentions, maxEmoji, False, proxyType, maxReplies, domainMaxPostsPerDay, accountMaxPostsPerDay, allowDeletion, True, True, False, sendThreads, @@ -834,7 +834,7 @@ def createServerBob(path: str, domain: str, port: int, sharedItemsFederatedDomains = [] systemLanguage = 'en' nickname = 'bob' - httpPrefix = 'http' + http_prefix = 'http' proxyType = None clientToServer = False password = 'bobpass' @@ -844,7 +844,7 @@ def createServerBob(path: str, domain: str, port: int, allowDeletion = True lowBandwidth = True privateKeyPem, publicKeyPem, person, wfEndpoint = \ - createPerson(path, nickname, domain, port, httpPrefix, True, + createPerson(path, nickname, domain, port, http_prefix, True, False, password) deleteAllPosts(path, nickname, domain, 'inbox') deleteAllPosts(path, nickname, domain, 'outbox') @@ -871,7 +871,7 @@ def createServerBob(path: str, domain: str, port: int, testIsArticle = False conversationId = None contentLicenseUrl = 'https://creativecommons.org/licenses/by/4.0' - createPublicPost(path, nickname, domain, port, httpPrefix, + createPublicPost(path, nickname, domain, port, http_prefix, "It's your life, live it your way.", testFollowersOnly, testSaveToFile, @@ -885,7 +885,7 @@ def createServerBob(path: str, domain: str, port: int, testEventDate, testEventTime, testLocation, testIsArticle, systemLanguage, conversationId, lowBandwidth, contentLicenseUrl) - createPublicPost(path, nickname, domain, port, httpPrefix, + createPublicPost(path, nickname, domain, port, http_prefix, "One of the things I've realised is that " + "I am very simple", testFollowersOnly, @@ -900,7 +900,7 @@ def createServerBob(path: str, domain: str, port: int, testEventDate, testEventTime, testLocation, testIsArticle, systemLanguage, conversationId, lowBandwidth, contentLicenseUrl) - createPublicPost(path, nickname, domain, port, httpPrefix, + createPublicPost(path, nickname, domain, port, http_prefix, "Quantum physics is a bit of a passion of mine", testFollowersOnly, testSaveToFile, @@ -957,7 +957,7 @@ def createServerBob(path: str, domain: str, port: int, 5, True, True, 'en', __version__, "instanceId", False, path, domain, onionDomain, i2pDomain, None, None, port, port, - httpPrefix, federationList, maxMentions, maxEmoji, False, + http_prefix, federationList, maxMentions, maxEmoji, False, proxyType, maxReplies, domainMaxPostsPerDay, accountMaxPostsPerDay, allowDeletion, True, True, False, sendThreads, @@ -974,13 +974,13 @@ def createServerEve(path: str, domain: str, port: int, federationList: [], os.chdir(path) sharedItemsFederatedDomains = [] nickname = 'eve' - httpPrefix = 'http' + http_prefix = 'http' proxyType = None password = 'evepass' maxReplies = 64 allowDeletion = True privateKeyPem, publicKeyPem, person, wfEndpoint = \ - createPerson(path, nickname, domain, port, httpPrefix, True, + createPerson(path, nickname, domain, port, http_prefix, True, False, password) deleteAllPosts(path, nickname, domain, 'inbox') deleteAllPosts(path, nickname, domain, 'outbox') @@ -1027,7 +1027,7 @@ def createServerEve(path: str, domain: str, port: int, federationList: [], 5, True, True, 'en', __version__, "instanceId", False, path, domain, onionDomain, i2pDomain, None, None, port, port, - httpPrefix, federationList, maxMentions, maxEmoji, False, + http_prefix, federationList, maxMentions, maxEmoji, False, proxyType, maxReplies, allowDeletion, True, True, False, sendThreads, False) @@ -1044,7 +1044,7 @@ def createServerGroup(path: str, domain: str, port: int, sharedItemsFederatedDomains = [] # systemLanguage = 'en' nickname = 'testgroup' - httpPrefix = 'http' + http_prefix = 'http' proxyType = None password = 'testgrouppass' maxReplies = 64 @@ -1052,7 +1052,7 @@ def createServerGroup(path: str, domain: str, port: int, accountMaxPostsPerDay = 1000 allowDeletion = True privateKeyPem, publicKeyPem, person, wfEndpoint = \ - createGroup(path, nickname, domain, port, httpPrefix, True, + createGroup(path, nickname, domain, port, http_prefix, True, password) deleteAllPosts(path, nickname, domain, 'inbox') deleteAllPosts(path, nickname, domain, 'outbox') @@ -1099,7 +1099,7 @@ def createServerGroup(path: str, domain: str, port: int, 5, True, True, 'en', __version__, "instanceId", False, path, domain, onionDomain, i2pDomain, None, None, port, port, - httpPrefix, federationList, maxMentions, maxEmoji, False, + http_prefix, federationList, maxMentions, maxEmoji, False, proxyType, maxReplies, domainMaxPostsPerDay, accountMaxPostsPerDay, allowDeletion, True, True, False, sendThreads, @@ -1115,7 +1115,7 @@ def testPostMessageBetweenServers(base_dir: str) -> None: testServerBobRunning = False systemLanguage = 'en' - httpPrefix = 'http' + http_prefix = 'http' proxyType = None contentLicenseUrl = 'https://creativecommons.org/licenses/by/4.0' @@ -1210,7 +1210,7 @@ def testPostMessageBetweenServers(base_dir: str) -> None: sendResult = \ sendPost(signingPrivateKeyPem, __version__, sessionAlice, aliceDir, 'alice', aliceDomain, alicePort, - 'bob', bobDomain, bobPort, ccUrl, httpPrefix, + 'bob', bobDomain, bobPort, ccUrl, http_prefix, 'Why is a mouse when it spins? ' + 'यह एक परीक्षण है #sillyquestion', followersOnly, @@ -1257,7 +1257,7 @@ def testPostMessageBetweenServers(base_dir: str) -> None: # check the id of the news actor print('News actor Id: ' + newsActorJson["id"]) assert (newsActorJson["id"] == - httpPrefix + '://' + aliceAddress + '/users/news') + http_prefix + '://' + aliceAddress + '/users/news') # Image attachment created assert len([name for name in os.listdir(mediaPath) @@ -1328,7 +1328,7 @@ def testPostMessageBetweenServers(base_dir: str) -> None: assert statusNumber > 0 assert outboxPostFilename assert likePost({}, sessionBob, bobDir, federationList, - 'bob', bobDomain, bobPort, httpPrefix, + 'bob', bobDomain, bobPort, http_prefix, 'alice', aliceDomain, alicePort, [], statusNumber, False, bobSendThreads, bobPostLog, bobPersonCache, bobCachedWebfingers, @@ -1349,7 +1349,7 @@ def testPostMessageBetweenServers(base_dir: str) -> None: print("Bob reacts to Alice's post") assert reactionPost({}, sessionBob, bobDir, federationList, - 'bob', bobDomain, bobPort, httpPrefix, + 'bob', bobDomain, bobPort, http_prefix, 'alice', aliceDomain, alicePort, [], statusNumber, '😀', False, bobSendThreads, bobPostLog, @@ -1370,7 +1370,7 @@ def testPostMessageBetweenServers(base_dir: str) -> None: print('\n\n*******************************************************') print("Bob repeats Alice's post") objectUrl = \ - httpPrefix + '://' + aliceDomain + ':' + str(alicePort) + \ + http_prefix + '://' + aliceDomain + ':' + str(alicePort) + \ '/users/alice/statuses/' + str(statusNumber) inboxPath = aliceDir + '/accounts/alice@' + aliceDomain + '/inbox' outboxPath = bobDir + '/accounts/bob@' + bobDomain + '/outbox' @@ -1385,7 +1385,7 @@ def testPostMessageBetweenServers(base_dir: str) -> None: assert outboxBeforeAnnounceCount == 0 assert beforeAnnounceCount == 0 announcePublic(sessionBob, bobDir, federationList, - 'bob', bobDomain, bobPort, httpPrefix, + 'bob', bobDomain, bobPort, http_prefix, objectUrl, False, bobSendThreads, bobPostLog, bobPersonCache, bobCachedWebfingers, @@ -1439,7 +1439,7 @@ def testFollowBetweenServers(base_dir: str) -> None: testServerBobRunning = False systemLanguage = 'en' - httpPrefix = 'http' + http_prefix = 'http' proxyType = None federationList = [] contentLicenseUrl = 'https://creativecommons.org/licenses/by/4.0' @@ -1523,13 +1523,13 @@ def testFollowBetweenServers(base_dir: str) -> None: alicePersonCache = {} aliceCachedWebfingers = {} alicePostLog = [] - bobActor = httpPrefix + '://' + bobAddress + '/users/bob' + bobActor = http_prefix + '://' + bobAddress + '/users/bob' signingPrivateKeyPem = None sendResult = \ sendFollowRequest(sessionAlice, aliceDir, - 'alice', aliceDomain, alicePort, httpPrefix, + 'alice', aliceDomain, alicePort, http_prefix, 'bob', bobDomain, bobActor, - bobPort, httpPrefix, + bobPort, http_prefix, clientToServer, federationList, aliceSendThreads, alicePostLog, aliceCachedWebfingers, alicePersonCache, @@ -1575,7 +1575,7 @@ def testFollowBetweenServers(base_dir: str) -> None: sendPost(signingPrivateKeyPem, __version__, sessionAlice, aliceDir, 'alice', aliceDomain, alicePort, 'bob', bobDomain, bobPort, ccUrl, - httpPrefix, 'Alice message', followersOnly, saveToFile, + http_prefix, 'Alice message', followersOnly, saveToFile, clientToServer, True, None, None, None, city, federationList, aliceSendThreads, alicePostLog, aliceCachedWebfingers, @@ -1628,7 +1628,7 @@ def testSharedItemsFederation(base_dir: str) -> None: testServerBobRunning = False systemLanguage = 'en' - httpPrefix = 'http' + http_prefix = 'http' proxyType = None federationList = [] contentLicenseUrl = 'https://creativecommons.org/licenses/by/4.0' @@ -1741,12 +1741,12 @@ def testSharedItemsFederation(base_dir: str) -> None: alicePersonCache = {} aliceCachedWebfingers = {} alicePostLog = [] - bobActor = httpPrefix + '://' + bobAddress + '/users/bob' + bobActor = http_prefix + '://' + bobAddress + '/users/bob' sendResult = \ sendFollowRequest(sessionAlice, aliceDir, - 'alice', aliceDomain, alicePort, httpPrefix, + 'alice', aliceDomain, alicePort, http_prefix, 'bob', bobDomain, bobActor, - bobPort, httpPrefix, + bobPort, http_prefix, clientToServer, federationList, aliceSendThreads, alicePostLog, aliceCachedWebfingers, alicePersonCache, @@ -1814,7 +1814,7 @@ def testSharedItemsFederation(base_dir: str) -> None: sendShareViaServer(bobDir, sessionBob, 'bob', bobPassword, bobDomain, bobPort, - httpPrefix, sharedItemName, + http_prefix, sharedItemName, sharedItemDescription, sharedItemImageFilename, sharedItemQty, sharedItemType, sharedItemCategory, sharedItemLocation, sharedItemDuration, @@ -1838,7 +1838,7 @@ def testSharedItemsFederation(base_dir: str) -> None: sendShareViaServer(bobDir, sessionBob, 'bob', bobPassword, bobDomain, bobPort, - httpPrefix, sharedItemName, + http_prefix, sharedItemName, sharedItemDescription, sharedItemImageFilename, sharedItemQty, sharedItemType, sharedItemCategory, sharedItemLocation, sharedItemDuration, @@ -1862,7 +1862,7 @@ def testSharedItemsFederation(base_dir: str) -> None: sendShareViaServer(bobDir, sessionBob, 'bob', bobPassword, bobDomain, bobPort, - httpPrefix, sharedItemName, + http_prefix, sharedItemName, sharedItemDescription, sharedItemImageFilename, sharedItemQty, sharedItemType, sharedItemCategory, sharedItemLocation, sharedItemDuration, @@ -1894,7 +1894,7 @@ def testSharedItemsFederation(base_dir: str) -> None: signingPrivateKeyPem = None catalogJson = \ getSharedItemsCatalogViaServer(bobDir, sessionBob, 'bob', bobPassword, - bobDomain, bobPort, httpPrefix, True, + bobDomain, bobPort, http_prefix, True, signingPrivateKeyPem) assert catalogJson pprint(catalogJson) @@ -1926,7 +1926,7 @@ def testSharedItemsFederation(base_dir: str) -> None: sendPost(signingPrivateKeyPem, __version__, sessionAlice, aliceDir, 'alice', aliceDomain, alicePort, 'bob', bobDomain, bobPort, ccUrl, - httpPrefix, 'Alice message', followersOnly, saveToFile, + http_prefix, 'Alice message', followersOnly, saveToFile, clientToServer, True, None, None, None, city, federationList, aliceSendThreads, alicePostLog, aliceCachedWebfingers, @@ -1986,7 +1986,7 @@ def testSharedItemsFederation(base_dir: str) -> None: 'host': bobAddress, 'Accept': 'application/json' } - url = httpPrefix + '://' + bobAddress + '/catalog' + url = http_prefix + '://' + bobAddress + '/catalog' signingPrivateKeyPem = None catalogJson = getJson(signingPrivateKeyPem, sessionAlice, url, headers, None, True) @@ -2034,7 +2034,7 @@ def testGroupFollow(base_dir: str) -> None: testServerGroupRunning = False # systemLanguage = 'en' - httpPrefix = 'http' + http_prefix = 'http' proxyType = None federationList = [] contentLicenseUrl = 'https://creativecommons.org/licenses/by/4.0' @@ -2177,14 +2177,15 @@ def testGroupFollow(base_dir: str) -> None: alicePersonCache = {} aliceCachedWebfingers = {} alicePostLog = [] - # aliceActor = httpPrefix + '://' + aliceAddress + '/users/alice' - testgroupActor = httpPrefix + '://' + testgroupAddress + '/users/testgroup' + # aliceActor = http_prefix + '://' + aliceAddress + '/users/alice' + testgroupActor = \ + http_prefix + '://' + testgroupAddress + '/users/testgroup' signingPrivateKeyPem = None sendResult = \ sendFollowRequest(sessionAlice, aliceDir, - 'alice', aliceDomain, alicePort, httpPrefix, + 'alice', aliceDomain, alicePort, http_prefix, 'testgroup', testgroupDomain, testgroupActor, - testgroupPort, httpPrefix, + testgroupPort, http_prefix, clientToServer, federationList, aliceSendThreads, alicePostLog, aliceCachedWebfingers, alicePersonCache, @@ -2253,14 +2254,15 @@ def testGroupFollow(base_dir: str) -> None: bobPersonCache = {} bobCachedWebfingers = {} bobPostLog = [] - # bobActor = httpPrefix + '://' + bobAddress + '/users/bob' - testgroupActor = httpPrefix + '://' + testgroupAddress + '/users/testgroup' + # bobActor = http_prefix + '://' + bobAddress + '/users/bob' + testgroupActor = \ + http_prefix + '://' + testgroupAddress + '/users/testgroup' signingPrivateKeyPem = None sendResult = \ sendFollowRequest(sessionBob, bobDir, - 'bob', bobDomain, bobPort, httpPrefix, + 'bob', bobDomain, bobPort, http_prefix, 'testgroup', testgroupDomain, testgroupActor, - testgroupPort, httpPrefix, + testgroupPort, http_prefix, clientToServer, federationList, bobSendThreads, bobPostLog, bobCachedWebfingers, bobPersonCache, @@ -2347,7 +2349,7 @@ def testGroupFollow(base_dir: str) -> None: sendPost(signingPrivateKeyPem, __version__, sessionAlice, aliceDir, 'alice', aliceDomain, alicePort, 'testgroup', testgroupDomain, testgroupPort, ccUrl, - httpPrefix, "Alice group message", followersOnly, + http_prefix, "Alice group message", followersOnly, saveToFile, clientToServer, True, None, None, None, city, federationList, aliceSendThreads, alicePostLog, aliceCachedWebfingers, @@ -2438,7 +2440,7 @@ def _testFollowersOfPerson(base_dir: str) -> None: domain = 'diva.domain' password = 'birb' port = 80 - httpPrefix = 'https' + http_prefix = 'https' federationList = [] base_dir = currDir + '/.tests_followersofperson' if os.path.isdir(base_dir): @@ -2446,15 +2448,15 @@ def _testFollowersOfPerson(base_dir: str) -> None: os.mkdir(base_dir) os.chdir(base_dir) createPerson(base_dir, nickname, domain, port, - httpPrefix, True, False, password) + http_prefix, True, False, password) createPerson(base_dir, 'maxboardroom', domain, port, - httpPrefix, True, False, password) + http_prefix, True, False, password) createPerson(base_dir, 'ultrapancake', domain, port, - httpPrefix, True, False, password) + http_prefix, True, False, password) createPerson(base_dir, 'drokk', domain, port, - httpPrefix, True, False, password) + http_prefix, True, False, password) createPerson(base_dir, 'sausagedog', domain, port, - httpPrefix, True, False, password) + http_prefix, True, False, password) clearFollows(base_dir, nickname, domain) followPerson(base_dir, nickname, domain, 'maxboardroom', domain, @@ -2488,23 +2490,23 @@ def _testNoOfFollowersOnDomain(base_dir: str) -> None: otherdomain = 'soup.dragon' password = 'birb' port = 80 - httpPrefix = 'https' + http_prefix = 'https' federationList = [] base_dir = currDir + '/.tests_nooffollowersOndomain' if os.path.isdir(base_dir): shutil.rmtree(base_dir, ignore_errors=False, onerror=None) os.mkdir(base_dir) os.chdir(base_dir) - createPerson(base_dir, nickname, domain, port, httpPrefix, True, + createPerson(base_dir, nickname, domain, port, http_prefix, True, False, password) createPerson(base_dir, 'maxboardroom', otherdomain, port, - httpPrefix, True, False, password) + http_prefix, True, False, password) createPerson(base_dir, 'ultrapancake', otherdomain, port, - httpPrefix, True, False, password) + http_prefix, True, False, password) createPerson(base_dir, 'drokk', otherdomain, port, - httpPrefix, True, False, password) + http_prefix, True, False, password) createPerson(base_dir, 'sausagedog', otherdomain, port, - httpPrefix, True, False, password) + http_prefix, True, False, password) followPerson(base_dir, 'drokk', otherdomain, nickname, domain, federationList, False, False) @@ -2550,14 +2552,14 @@ def _testGroupFollowers(base_dir: str) -> None: domain = 'mydomain.com' password = 'somepass' port = 80 - httpPrefix = 'https' + http_prefix = 'https' federationList = [] base_dir = currDir + '/.tests_testgroupfollowers' if os.path.isdir(base_dir): shutil.rmtree(base_dir, ignore_errors=False, onerror=None) os.mkdir(base_dir) os.chdir(base_dir) - createPerson(base_dir, nickname, domain, port, httpPrefix, True, + createPerson(base_dir, nickname, domain, port, http_prefix, True, False, password) clearFollowers(base_dir, nickname, domain) @@ -2594,14 +2596,14 @@ def _testFollows(base_dir: str) -> None: domain = 'testdomain.com' password = 'mypass' port = 80 - httpPrefix = 'https' + http_prefix = 'https' federationList = ['wild.com', 'mesh.com'] base_dir = currDir + '/.tests_testfollows' if os.path.isdir(base_dir): shutil.rmtree(base_dir, ignore_errors=False, onerror=None) os.mkdir(base_dir) os.chdir(base_dir) - createPerson(base_dir, nickname, domain, port, httpPrefix, True, + createPerson(base_dir, nickname, domain, port, http_prefix, True, False, password) clearFollows(base_dir, nickname, domain) @@ -2673,7 +2675,7 @@ def _testCreatePerson(base_dir: str): domain = 'badgerdomain.com' password = 'mypass' port = 80 - httpPrefix = 'https' + http_prefix = 'https' clientToServer = False base_dir = currDir + '/.tests_createperson' if os.path.isdir(base_dir): @@ -2683,7 +2685,7 @@ def _testCreatePerson(base_dir: str): privateKeyPem, publicKeyPem, person, wfEndpoint = \ createPerson(base_dir, nickname, domain, port, - httpPrefix, True, False, password) + http_prefix, True, False, password) assert os.path.isfile(base_dir + '/accounts/passwords') deleteAllPosts(base_dir, nickname, domain, 'inbox') deleteAllPosts(base_dir, nickname, domain, 'outbox') @@ -2708,7 +2710,7 @@ def _testCreatePerson(base_dir: str): conversationId = None lowBandwidth = True contentLicenseUrl = 'https://creativecommons.org/licenses/by/4.0' - createPublicPost(base_dir, nickname, domain, port, httpPrefix, + createPublicPost(base_dir, nickname, domain, port, http_prefix, content, followersOnly, saveToFile, clientToServer, commentsEnabled, attachImageFilename, mediaType, 'Not suitable for Vogons', 'London, England', @@ -2784,7 +2786,7 @@ def testClientToServer(base_dir: str): testServerBobRunning = False systemLanguage = 'en' - httpPrefix = 'http' + http_prefix = 'http' proxyType = None federationList = [] lowBandwidth = False @@ -2890,7 +2892,7 @@ def testClientToServer(base_dir: str): aliceDir, sessionAlice, 'alice', password, aliceDomain, alicePort, 'bob', bobDomain, bobPort, None, - httpPrefix, 'Sent from my ActivityPub client', + http_prefix, 'Sent from my ActivityPub client', followersOnly, True, attachedImageFilename, mediaType, attachedImageDescription, city, @@ -2957,7 +2959,7 @@ def testClientToServer(base_dir: str): 'alice', password, aliceDomain, alicePort, 'bob', bobDomain, bobPort, - httpPrefix, + http_prefix, cachedWebfingers, personCache, True, __version__, signingPrivateKeyPem) alicePetnamesFilename = aliceDir + '/accounts/' + \ @@ -2999,7 +3001,7 @@ def testClientToServer(base_dir: str): 'bob', 'bobpass', bobDomain, bobPort, 'alice', aliceDomain, alicePort, - httpPrefix, + http_prefix, cachedWebfingers, personCache, True, __version__, signingPrivateKeyPem) for t in range(10): @@ -3054,7 +3056,7 @@ def testClientToServer(base_dir: str): sendLikeViaServer(bobDir, sessionBob, 'bob', 'bobpass', bobDomain, bobPort, - httpPrefix, outboxPostId, + http_prefix, outboxPostId, cachedWebfingers, personCache, True, __version__, signingPrivateKeyPem) for i in range(20): @@ -3084,7 +3086,7 @@ def testClientToServer(base_dir: str): sendReactionViaServer(bobDir, sessionBob, 'bob', 'bobpass', bobDomain, bobPort, - httpPrefix, outboxPostId, '😃', + http_prefix, outboxPostId, '😃', cachedWebfingers, personCache, True, __version__, signingPrivateKeyPem) for i in range(20): @@ -3130,7 +3132,7 @@ def testClientToServer(base_dir: str): signingPrivateKeyPem = None sendAnnounceViaServer(bobDir, sessionBob, 'bob', password, bobDomain, bobPort, - httpPrefix, outboxPostId, + http_prefix, outboxPostId, cachedWebfingers, personCache, True, __version__, signingPrivateKeyPem) @@ -3168,7 +3170,7 @@ def testClientToServer(base_dir: str): password = 'alicepass' sendDeleteViaServer(aliceDir, sessionAlice, 'alice', password, aliceDomain, alicePort, - httpPrefix, outboxPostId, + http_prefix, outboxPostId, cachedWebfingers, personCache, True, __version__, signingPrivateKeyPem) for i in range(30): @@ -3193,7 +3195,7 @@ def testClientToServer(base_dir: str): 'alice', password, aliceDomain, alicePort, 'bob', bobDomain, bobPort, - httpPrefix, + http_prefix, cachedWebfingers, personCache, True, __version__, signingPrivateKeyPem) for t in range(10): @@ -3408,7 +3410,7 @@ def _testWebLinks(): def _testAddEmoji(base_dir: str): print('testAddEmoji') content = "Emoji :lemon: :strawberry: :banana:" - httpPrefix = 'http' + http_prefix = 'http' nickname = 'testuser' domain = 'testdomain.net' port = 3682 @@ -3431,9 +3433,9 @@ def _testAddEmoji(base_dir: str): os.chdir(base_dir) privateKeyPem, publicKeyPem, person, wfEndpoint = \ createPerson(base_dir, nickname, domain, port, - httpPrefix, True, False, 'password') + http_prefix, True, False, 'password') contentModified = \ - addHtmlTags(base_dir, httpPrefix, + addHtmlTags(base_dir, http_prefix, nickname, domain, content, recipients, hashtags, True) assert ':lemon:' in contentModified @@ -4229,8 +4231,8 @@ def _testReplyToPublicPost(base_dir: str) -> None: nickname = 'test7492362' domain = 'other.site' port = 443 - httpPrefix = 'https' - postId = httpPrefix + '://rat.site/users/ninjarodent/statuses/63746173435' + http_prefix = 'https' + postId = http_prefix + '://rat.site/users/ninjarodent/statuses/63746173435' content = "@ninjarodent@rat.site This is a test." followersOnly = False saveToFile = False @@ -4252,7 +4254,7 @@ def _testReplyToPublicPost(base_dir: str) -> None: lowBandwidth = True contentLicenseUrl = 'https://creativecommons.org/licenses/by/4.0' reply = \ - createPublicPost(base_dir, nickname, domain, port, httpPrefix, + createPublicPost(base_dir, nickname, domain, port, http_prefix, content, followersOnly, saveToFile, clientToServer, commentsEnabled, attachImageFilename, mediaType, @@ -4281,7 +4283,7 @@ def _testReplyToPublicPost(base_dir: str) -> None: print('reply["object"]["cc"]: ' + str(reply['object']['cc'])) assert len(reply['object']['cc']) == 2 assert reply['object']['cc'][1] == \ - httpPrefix + '://rat.site/users/ninjarodent' + http_prefix + '://rat.site/users/ninjarodent' assert len(reply['to']) == 1 assert reply['to'][0].endswith('#Public') @@ -4290,7 +4292,7 @@ def _testReplyToPublicPost(base_dir: str) -> None: if len(reply['cc']) != 2: print('reply["cc"]: ' + str(reply['cc'])) assert len(reply['cc']) == 2 - assert reply['cc'][1] == httpPrefix + '://rat.site/users/ninjarodent' + assert reply['cc'][1] == http_prefix + '://rat.site/users/ninjarodent' def _getFunctionCallArgs(name: str, lines: [], startLineCtr: int) -> []: @@ -4774,7 +4776,7 @@ def _testLinksWithinPost(base_dir: str) -> None: nickname = 'test27636' domain = 'rando.site' port = 443 - httpPrefix = 'https' + http_prefix = 'https' content = 'This is a test post with links.\n\n' + \ 'ftp://ftp.ncdc.noaa.gov/pub/data/ghcn/v4/\n\nhttps://libreserver.org' followersOnly = False @@ -4798,7 +4800,7 @@ def _testLinksWithinPost(base_dir: str) -> None: contentLicenseUrl = 'https://creativecommons.org/licenses/by/4.0' postJsonObject = \ - createPublicPost(base_dir, nickname, domain, port, httpPrefix, + createPublicPost(base_dir, nickname, domain, port, http_prefix, content, followersOnly, saveToFile, clientToServer, commentsEnabled, attachImageFilename, mediaType, @@ -4834,7 +4836,7 @@ def _testLinksWithinPost(base_dir: str) -> None: "taggedthing\" class=\"mention hashtag\" rel=\"tag\" " + \ "target=\"_blank\">#taggedthing

" postJsonObject = \ - createPublicPost(base_dir, nickname, domain, port, httpPrefix, + createPublicPost(base_dir, nickname, domain, port, http_prefix, content, False, False, False, True, @@ -5064,7 +5066,7 @@ def testUpdateActor(base_dir: str): global testServerAliceRunning testServerAliceRunning = False - httpPrefix = 'http' + http_prefix = 'http' proxyType = None federationList = [] @@ -5144,7 +5146,7 @@ def testUpdateActor(base_dir: str): pgpPublicKeyUpload(aliceDir, sessionAlice, 'alice', password, aliceDomain, alicePort, - httpPrefix, + http_prefix, cachedWebfingers, personCache, True, pubKey, signingPrivateKeyPem) print('actor update result: ' + str(actorUpdate)) @@ -5761,7 +5763,7 @@ def _testCanReplyTo(base_dir: str) -> None: nickname = 'test27637' domain = 'rando.site' port = 443 - httpPrefix = 'https' + http_prefix = 'https' content = 'This is a test post with links.\n\n' + \ 'ftp://ftp.ncdc.noaa.gov/pub/data/ghcn/v4/\n\nhttps://libreserver.org' followersOnly = False @@ -5785,7 +5787,7 @@ def _testCanReplyTo(base_dir: str) -> None: contentLicenseUrl = 'https://creativecommons.org/licenses/by/4.0' postJsonObject = \ - createPublicPost(base_dir, nickname, domain, port, httpPrefix, + createPublicPost(base_dir, nickname, domain, port, http_prefix, content, followersOnly, saveToFile, clientToServer, commentsEnabled, attachImageFilename, mediaType, @@ -5919,11 +5921,11 @@ def _testHttpsigBaseNew(withDigest: bool, base_dir: str, nickname = 'socrates' hostDomain = 'someother.instance' domain = 'argumentative.social' - httpPrefix = 'https' + http_prefix = 'https' port = 5576 password = 'SuperSecretPassword' privateKeyPem, publicKeyPem, person, wfEndpoint = \ - createPerson(path, nickname, domain, port, httpPrefix, + createPerson(path, nickname, domain, port, http_prefix, False, False, password) assert privateKeyPem if withDigest: @@ -5950,7 +5952,7 @@ def _testHttpsigBaseNew(withDigest: bool, base_dir: str, signPostHeadersNew(dateStr, privateKeyPem, nickname, domain, port, hostDomain, port, - boxpath, httpPrefix, messageBodyJsonStr, + boxpath, http_prefix, messageBodyJsonStr, algorithm, digestAlgorithm, debug) else: digestPrefix = getDigestPrefix(digestAlgorithm) @@ -5968,7 +5970,7 @@ def _testHttpsigBaseNew(withDigest: bool, base_dir: str, signPostHeadersNew(dateStr, privateKeyPem, nickname, domain, port, hostDomain, port, - boxpath, httpPrefix, messageBodyJsonStr, + boxpath, http_prefix, messageBodyJsonStr, algorithm, digestAlgorithm, debug) headers['signature'] = signatureHeader @@ -5977,20 +5979,20 @@ def _testHttpsigBaseNew(withDigest: bool, base_dir: str, GETmethod = not withDigest debug = True - assert verifyPostHeaders(httpPrefix, publicKeyPem, headers, + assert verifyPostHeaders(http_prefix, publicKeyPem, headers, boxpath, GETmethod, None, messageBodyJsonStr, debug) debug = False if withDigest: # everything correct except for content-length headers['content-length'] = str(contentLength + 2) - assert verifyPostHeaders(httpPrefix, publicKeyPem, headers, + assert verifyPostHeaders(http_prefix, publicKeyPem, headers, boxpath, GETmethod, None, messageBodyJsonStr, debug) is False - assert verifyPostHeaders(httpPrefix, publicKeyPem, headers, + assert verifyPostHeaders(http_prefix, publicKeyPem, headers, '/parambulator' + boxpath, GETmethod, None, messageBodyJsonStr, debug) is False - assert verifyPostHeaders(httpPrefix, publicKeyPem, headers, + assert verifyPostHeaders(http_prefix, publicKeyPem, headers, boxpath, not GETmethod, None, messageBodyJsonStr, debug) is False if not withDigest: @@ -6019,7 +6021,7 @@ def _testHttpsigBaseNew(withDigest: bool, base_dir: str, headers['signature'] = signatureHeader headers['signature-input'] = signatureIndexHeader pprint(headers) - assert verifyPostHeaders(httpPrefix, publicKeyPem, headers, + assert verifyPostHeaders(http_prefix, publicKeyPem, headers, boxpath, not GETmethod, None, messageBodyJsonStr, False) is False diff --git a/theme.py b/theme.py index 48eb2790a..738a66151 100644 --- a/theme.py +++ b/theme.py @@ -777,7 +777,7 @@ def _setThemeImages(base_dir: str, name: str) -> None: def setNewsAvatar(base_dir: str, name: str, - httpPrefix: str, + http_prefix: str, domain: str, domainFull: str) -> None: """Sets the avatar for the news account """ @@ -788,7 +788,7 @@ def setNewsAvatar(base_dir: str, name: str, if not os.path.isfile(newFilename): return avatarFilename = \ - localActorUrl(httpPrefix, domainFull, nickname) + '.png' + localActorUrl(http_prefix, domainFull, nickname) + '.png' avatarFilename = avatarFilename.replace('/', '-') filename = base_dir + '/cache/avatars/' + avatarFilename diff --git a/utils.py b/utils.py index b4993af3c..c75a57134 100644 --- a/utils.py +++ b/utils.py @@ -28,10 +28,10 @@ invalidCharacters = ( ) -def localActorUrl(httpPrefix: str, nickname: str, domainFull: str) -> str: +def localActorUrl(http_prefix: str, nickname: str, domainFull: str) -> str: """Returns the url for an actor on this instance """ - return httpPrefix + '://' + domainFull + '/users/' + nickname + return http_prefix + '://' + domainFull + '/users/' + nickname def getActorLanguagesList(actorJson: {}) -> []: @@ -1453,7 +1453,7 @@ def canReplyTo(base_dir: str, nickname: str, domain: str, return True -def _removeAttachment(base_dir: str, httpPrefix: str, domain: str, +def _removeAttachment(base_dir: str, http_prefix: str, domain: str, postJson: {}): if not postJson.get('attachment'): return @@ -1463,7 +1463,7 @@ def _removeAttachment(base_dir: str, httpPrefix: str, domain: str, if not attachmentUrl: return mediaFilename = base_dir + '/' + \ - attachmentUrl.replace(httpPrefix + '://' + domain + '/', '') + attachmentUrl.replace(http_prefix + '://' + domain + '/', '') if os.path.isfile(mediaFilename): try: os.remove(mediaFilename) @@ -1522,7 +1522,7 @@ def _isReplyToBlogPost(base_dir: str, nickname: str, domain: str, def _deletePostRemoveReplies(base_dir: str, nickname: str, domain: str, - httpPrefix: str, postFilename: str, + http_prefix: str, postFilename: str, recentPostsCache: {}, debug: bool) -> None: """Removes replies when deleting a post """ @@ -1537,7 +1537,7 @@ def _deletePostRemoveReplies(base_dir: str, nickname: str, domain: str, if not replyFile: continue if os.path.isfile(replyFile): - deletePost(base_dir, httpPrefix, + deletePost(base_dir, http_prefix, nickname, domain, replyFile, debug, recentPostsCache) # remove the replies file @@ -1705,7 +1705,7 @@ def _deleteConversationPost(base_dir: str, nickname: str, domain: str, str(conversationFilename)) -def deletePost(base_dir: str, httpPrefix: str, +def deletePost(base_dir: str, http_prefix: str, nickname: str, domain: str, postFilename: str, debug: bool, recentPostsCache: {}) -> None: """Recursively deletes a post and its replies and attachments @@ -1714,7 +1714,7 @@ def deletePost(base_dir: str, httpPrefix: str, if not postJsonObject: # remove any replies _deletePostRemoveReplies(base_dir, nickname, domain, - httpPrefix, postFilename, + http_prefix, postFilename, recentPostsCache, debug) # finally, remove the post itself try: @@ -1741,7 +1741,7 @@ def deletePost(base_dir: str, httpPrefix: str, _deleteConversationPost(base_dir, nickname, domain, postJsonObject) # remove any attachment - _removeAttachment(base_dir, httpPrefix, domain, postJsonObject) + _removeAttachment(base_dir, http_prefix, domain, postJsonObject) extensions = ('votes', 'arrived', 'muted', 'tts', 'reject') for ext in extensions: @@ -1774,7 +1774,7 @@ def deletePost(base_dir: str, httpPrefix: str, # remove any replies _deletePostRemoveReplies(base_dir, nickname, domain, - httpPrefix, postFilename, + http_prefix, postFilename, recentPostsCache, debug) # finally, remove the post itself try: diff --git a/webapp_about.py b/webapp_about.py index 76b165085..b8863ccb7 100644 --- a/webapp_about.py +++ b/webapp_about.py @@ -15,7 +15,7 @@ from webapp_utils import htmlFooter from markdown import markdownToHtml -def htmlAbout(cssCache: {}, base_dir: str, httpPrefix: str, +def htmlAbout(cssCache: {}, base_dir: str, http_prefix: str, domainFull: str, onionDomain: str, translate: {}, systemLanguage: str) -> str: """Show the about screen @@ -44,7 +44,7 @@ def htmlAbout(cssCache: {}, base_dir: str, httpPrefix: str, getConfigParam(base_dir, 'instanceTitle') aboutForm = \ htmlHeaderWithWebsiteMarkup(cssFilename, instanceTitle, - httpPrefix, domainFull, + http_prefix, domainFull, systemLanguage) aboutForm += '
' + aboutText + '
' if onionDomain: diff --git a/webapp_calendar.py b/webapp_calendar.py index 669376436..053d1a064 100644 --- a/webapp_calendar.py +++ b/webapp_calendar.py @@ -32,14 +32,14 @@ from webapp_utils import htmlKeyboardNavigation def htmlCalendarDeleteConfirm(cssCache: {}, translate: {}, base_dir: str, - path: str, httpPrefix: str, + path: str, http_prefix: str, domainFull: str, postId: str, postTime: str, year: int, monthNumber: int, dayNumber: int, callingDomain: str) -> str: """Shows a screen asking to confirm the deletion of a calendar event """ nickname = getNicknameFromActor(path) - actor = localActorUrl(httpPrefix, nickname, domainFull) + actor = localActorUrl(http_prefix, nickname, domainFull) domain, port = getDomainFromActor(actor) messageId = actor + '/statuses/' + postId @@ -245,7 +245,7 @@ def _htmlCalendarDay(personCache: {}, cssCache: {}, translate: {}, def htmlCalendar(personCache: {}, cssCache: {}, translate: {}, base_dir: str, path: str, - httpPrefix: str, domainFull: str, + http_prefix: str, domainFull: str, textModeBanner: str, accessKeys: {}) -> str: """Show the calendar for a person """ @@ -254,7 +254,7 @@ def htmlCalendar(personCache: {}, cssCache: {}, translate: {}, monthNumber = 0 dayNumber = None year = 1970 - actor = httpPrefix + '://' + domainFull + path.replace('/calendar', '') + actor = http_prefix + '://' + domainFull + path.replace('/calendar', '') if '?' in actor: first = True for p in actor.split('?'): diff --git a/webapp_column_left.py b/webapp_column_left.py index 02bf5882f..f740732b6 100644 --- a/webapp_column_left.py +++ b/webapp_column_left.py @@ -33,7 +33,7 @@ def _linksExist(base_dir: str) -> bool: def _getLeftColumnShares(base_dir: str, - httpPrefix: str, domain: str, domainFull: str, + http_prefix: str, domain: str, domainFull: str, nickname: str, maxSharesInLeftColumn: int, translate: {}, @@ -41,7 +41,7 @@ def _getLeftColumnShares(base_dir: str, """get any shares and turn them into the left column links format """ pageNumber = 1 - actor = localActorUrl(httpPrefix, nickname, domainFull) + actor = localActorUrl(http_prefix, nickname, domainFull) # NOTE: this could potentially be slow if the number of federated # shared items is large sharesJson, lastPage = \ @@ -75,7 +75,7 @@ def _getLeftColumnShares(base_dir: str, def _getLeftColumnWanted(base_dir: str, - httpPrefix: str, domain: str, domainFull: str, + http_prefix: str, domain: str, domainFull: str, nickname: str, maxSharesInLeftColumn: int, translate: {}, @@ -83,7 +83,7 @@ def _getLeftColumnWanted(base_dir: str, """get any wanted items and turn them into the left column links format """ pageNumber = 1 - actor = localActorUrl(httpPrefix, nickname, domainFull) + actor = localActorUrl(http_prefix, nickname, domainFull) # NOTE: this could potentially be slow if the number of federated # wanted items is large sharesJson, lastPage = \ @@ -113,7 +113,7 @@ def _getLeftColumnWanted(base_dir: str, def getLeftColumnContent(base_dir: str, nickname: str, domainFull: str, - httpPrefix: str, translate: {}, + http_prefix: str, translate: {}, editor: bool, artist: bool, showBackButton: bool, timelinePath: str, rssIconAtTop: bool, showHeaderImage: bool, @@ -177,11 +177,11 @@ def getLeftColumnContent(base_dir: str, nickname: str, domainFull: str, # RSS icon if nickname != 'news': # rss feed for this account - rssUrl = httpPrefix + '://' + domainFull + \ + rssUrl = http_prefix + '://' + domainFull + \ '/blog/' + nickname + '/rss.xml' else: # rss feed for all accounts on the instance - rssUrl = httpPrefix + '://' + domainFull + '/blog/rss.xml' + rssUrl = http_prefix + '://' + domainFull + '/blog/rss.xml' if not frontPage: rssTitle = translate['RSS feed for your blog'] else: @@ -218,7 +218,7 @@ def getLeftColumnContent(base_dir: str, nickname: str, domainFull: str, maxSharesInLeftColumn = 3 sharesList = \ _getLeftColumnShares(base_dir, - httpPrefix, domain, domainFull, nickname, + http_prefix, domain, domainFull, nickname, maxSharesInLeftColumn, translate, sharedItemsFederatedDomains) if linksList and sharesList: @@ -226,7 +226,7 @@ def getLeftColumnContent(base_dir: str, nickname: str, domainFull: str, wantedList = \ _getLeftColumnWanted(base_dir, - httpPrefix, domain, domainFull, nickname, + http_prefix, domain, domainFull, nickname, maxSharesInLeftColumn, translate, sharedItemsFederatedDomains) if linksList and wantedList: @@ -350,7 +350,7 @@ def getLeftColumnContent(base_dir: str, nickname: str, domainFull: str, def htmlLinksMobile(cssCache: {}, base_dir: str, nickname: str, domainFull: str, - httpPrefix: str, translate, + http_prefix: str, translate, timelinePath: str, authorized: bool, rssIconAtTop: bool, iconsAsButtons: bool, @@ -395,7 +395,7 @@ def htmlLinksMobile(cssCache: {}, base_dir: str, iconsAsButtons) + '' htmlStr += \ getLeftColumnContent(base_dir, nickname, domainFull, - httpPrefix, translate, + http_prefix, translate, editor, artist, False, timelinePath, rssIconAtTop, False, False, @@ -414,7 +414,7 @@ def htmlLinksMobile(cssCache: {}, base_dir: str, def htmlEditLinks(cssCache: {}, translate: {}, base_dir: str, path: str, - domain: str, port: int, httpPrefix: str, + domain: str, port: int, http_prefix: str, defaultTimeline: str, theme: str, accessKeys: {}) -> str: """Shows the edit links screen diff --git a/webapp_column_right.py b/webapp_column_right.py index 1d965d25f..06faadd87 100644 --- a/webapp_column_right.py +++ b/webapp_column_right.py @@ -48,7 +48,7 @@ def _votesIndicator(totalVotes: int, positiveVoting: bool) -> str: def getRightColumnContent(base_dir: str, nickname: str, domainFull: str, - httpPrefix: str, translate: {}, + http_prefix: str, translate: {}, moderator: bool, editor: bool, newswire: {}, positiveVoting: bool, showBackButton: bool, timelinePath: str, @@ -327,7 +327,7 @@ def _htmlNewswire(base_dir: str, newswire: {}, nickname: str, moderator: bool, def htmlCitations(base_dir: str, nickname: str, domain: str, - httpPrefix: str, defaultTimeline: str, + http_prefix: str, defaultTimeline: str, translate: {}, newswire: {}, cssCache: {}, blogTitle: str, blogContent: str, blogImageFilename: str, @@ -444,7 +444,7 @@ def htmlCitations(base_dir: str, nickname: str, domain: str, def htmlNewswireMobile(cssCache: {}, base_dir: str, nickname: str, domain: str, domainFull: str, - httpPrefix: str, translate: {}, + http_prefix: str, translate: {}, newswire: {}, positiveVoting: bool, timelinePath: str, @@ -497,7 +497,7 @@ def htmlNewswireMobile(cssCache: {}, base_dir: str, nickname: str, iconsAsButtons) + '' htmlStr += \ getRightColumnContent(base_dir, nickname, domainFull, - httpPrefix, translate, + http_prefix, translate, moderator, editor, newswire, positiveVoting, False, timelinePath, showPublishButton, @@ -517,7 +517,7 @@ def htmlNewswireMobile(cssCache: {}, base_dir: str, nickname: str, def htmlEditNewswire(cssCache: {}, translate: {}, base_dir: str, path: str, - domain: str, port: int, httpPrefix: str, + domain: str, port: int, http_prefix: str, defaultTimeline: str, theme: str, accessKeys: {}) -> str: """Shows the edit newswire screen @@ -640,7 +640,7 @@ def htmlEditNewswire(cssCache: {}, translate: {}, base_dir: str, path: str, def htmlEditNewsPost(cssCache: {}, translate: {}, base_dir: str, path: str, domain: str, port: int, - httpPrefix: str, postUrl: str, + http_prefix: str, postUrl: str, systemLanguage: str) -> str: """Edits a news post on the news/features timeline """ diff --git a/webapp_confirm.py b/webapp_confirm.py index 9b05212b0..9d99c453b 100644 --- a/webapp_confirm.py +++ b/webapp_confirm.py @@ -27,7 +27,7 @@ def htmlConfirmDelete(cssCache: {}, recentPostsCache: {}, maxRecentPosts: int, translate, pageNumber: int, session, base_dir: str, messageId: str, - httpPrefix: str, projectVersion: str, + http_prefix: str, projectVersion: str, cachedWebfingers: {}, personCache: {}, callingDomain: str, YTReplacementDomain: str, @@ -71,7 +71,7 @@ def htmlConfirmDelete(cssCache: {}, base_dir, session, cachedWebfingers, personCache, nickname, domain, port, postJsonObject, None, True, False, - httpPrefix, projectVersion, 'outbox', + http_prefix, projectVersion, 'outbox', YTReplacementDomain, twitterReplacementDomain, showPublishedDateOnly, diff --git a/webapp_create_post.py b/webapp_create_post.py index b11cf81d1..d61a0acfc 100644 --- a/webapp_create_post.py +++ b/webapp_create_post.py @@ -185,7 +185,7 @@ def _htmlNewPostDropDown(scopeIcon: str, scopeDescription: str, def htmlNewPost(cssCache: {}, mediaInstance: bool, translate: {}, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, path: str, inReplyTo: str, mentions: [], shareDescription: str, @@ -269,7 +269,7 @@ def htmlNewPost(cssCache: {}, mediaInstance: bool, translate: {}, nickname, domain, port, postJsonObject, None, True, False, - httpPrefix, projectVersion, + http_prefix, projectVersion, boxName, YTReplacementDomain, twitterReplacementDomain, diff --git a/webapp_frontscreen.py b/webapp_frontscreen.py index a8be14484..b1cab1a25 100644 --- a/webapp_frontscreen.py +++ b/webapp_frontscreen.py @@ -24,7 +24,7 @@ from webapp_post import individualPostAsHtml def _htmlFrontScreenPosts(recentPostsCache: {}, maxRecentPosts: int, translate: {}, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, nickname: str, domain: str, port: int, session, cachedWebfingers: {}, personCache: {}, projectVersion: str, @@ -55,7 +55,7 @@ def _htmlFrontScreenPosts(recentPostsCache: {}, maxRecentPosts: int, outboxFeed = \ personBoxJson({}, session, base_dir, domain, port, outboxFeedPathStr, - httpPrefix, 10, boxName, + http_prefix, 10, boxName, authorized, 0, False, 0) if not outboxFeed: break @@ -73,7 +73,7 @@ def _htmlFrontScreenPosts(recentPostsCache: {}, maxRecentPosts: int, personCache, nickname, domain, port, item, None, True, False, - httpPrefix, projectVersion, 'inbox', + http_prefix, projectVersion, 'inbox', YTReplacementDomain, twitterReplacementDomain, showPublishedDateOnly, @@ -99,7 +99,7 @@ def htmlFrontScreen(signingPrivateKeyPem: str, defaultTimeline: str, recentPostsCache: {}, maxRecentPosts: int, translate: {}, projectVersion: str, - base_dir: str, httpPrefix: str, authorized: bool, + base_dir: str, http_prefix: str, authorized: bool, profileJson: {}, selected: str, session, cachedWebfingers: {}, personCache: {}, YTReplacementDomain: str, @@ -154,7 +154,7 @@ def htmlFrontScreen(signingPrivateKeyPem: str, ' \n' profileHeaderStr += \ getLeftColumnContent(base_dir, 'news', domainFull, - httpPrefix, translate, + http_prefix, translate, False, False, False, None, rssIconAtTop, True, True, theme, accessKeys, @@ -175,7 +175,7 @@ def htmlFrontScreen(signingPrivateKeyPem: str, profileStr += \ _htmlFrontScreenPosts(recentPostsCache, maxRecentPosts, translate, - base_dir, httpPrefix, + base_dir, http_prefix, nickname, domain, port, session, cachedWebfingers, personCache, projectVersion, @@ -194,7 +194,7 @@ def htmlFrontScreen(signingPrivateKeyPem: str, profileFooterStr += ' \n' profileFooterStr += \ getRightColumnContent(base_dir, 'news', domainFull, - httpPrefix, translate, + http_prefix, translate, False, False, newswire, False, False, None, False, False, False, True, authorized, True, theme, diff --git a/webapp_login.py b/webapp_login.py index 73027fc9f..eda0fe541 100644 --- a/webapp_login.py +++ b/webapp_login.py @@ -56,7 +56,7 @@ def htmlGetLoginCredentials(loginParams: str, def htmlLogin(cssCache: {}, translate: {}, base_dir: str, - httpPrefix: str, domain: str, + http_prefix: str, domain: str, systemLanguage: str, autocomplete: bool) -> str: """Shows the login screen @@ -152,7 +152,7 @@ def htmlLogin(cssCache: {}, translate: {}, getConfigParam(base_dir, 'instanceTitle') loginForm = \ htmlHeaderWithWebsiteMarkup(cssFilename, instanceTitle, - httpPrefix, domain, + http_prefix, domain, systemLanguage) nicknamePattern = getNicknameValidationPattern() diff --git a/webapp_moderation.py b/webapp_moderation.py index 867ac4024..597f442c5 100644 --- a/webapp_moderation.py +++ b/webapp_moderation.py @@ -36,7 +36,7 @@ def htmlModeration(cssCache: {}, defaultTimeline: str, session, base_dir: str, wfRequest: {}, personCache: {}, nickname: str, domain: str, port: int, inboxJson: {}, allowDeletion: bool, - httpPrefix: str, projectVersion: str, + http_prefix: str, projectVersion: str, YTReplacementDomain: str, twitterReplacementDomain: str, showPublishedDateOnly: bool, @@ -65,7 +65,8 @@ def htmlModeration(cssCache: {}, defaultTimeline: str, itemsPerPage, session, base_dir, wfRequest, personCache, nickname, domain, port, inboxJson, 'moderation', - allowDeletion, httpPrefix, projectVersion, True, False, + allowDeletion, http_prefix, + projectVersion, True, False, YTReplacementDomain, twitterReplacementDomain, showPublishedDateOnly, @@ -80,7 +81,7 @@ def htmlModeration(cssCache: {}, defaultTimeline: str, def htmlAccountInfo(cssCache: {}, translate: {}, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, nickname: str, domain: str, port: int, searchHandle: str, debug: bool, systemLanguage: str, signingPrivateKeyPem: str) -> str: @@ -105,7 +106,7 @@ def htmlAccountInfo(cssCache: {}, translate: {}, searchHandle = searchNickname + '@' + searchDomain searchActor = \ - localActorUrl(httpPrefix, searchNickname, searchDomain) + localActorUrl(http_prefix, searchNickname, searchDomain) infoForm += \ '

' + \ translate['Account Information'] + ': ' + \ postDomain + ' ' if isBlockedDomain(base_dir, postDomain): @@ -271,7 +272,7 @@ def htmlAccountInfo(cssCache: {}, translate: {}, def htmlModerationInfo(cssCache: {}, translate: {}, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, nickname: str) -> str: msgStr1 = \ 'These are globally blocked for all accounts on this instance' diff --git a/webapp_post.py b/webapp_post.py index 9a9a414fc..013c33cc0 100644 --- a/webapp_post.py +++ b/webapp_post.py @@ -269,7 +269,7 @@ def _saveIndividualPostAsHtmlToCache(base_dir: str, def _getPostFromRecentCache(session, base_dir: str, - httpPrefix: str, + http_prefix: str, nickname: str, domain: str, postJsonObject: {}, postActor: str, @@ -310,7 +310,7 @@ def _getPostFromRecentCache(session, _logPostTiming(enableTimingLog, postStartTime, '2.1') updateAvatarImageCache(signingPrivateKeyPem, - session, base_dir, httpPrefix, + session, base_dir, http_prefix, postActor, avatarUrl, personCache, allowDownloads) @@ -945,7 +945,7 @@ def _announceWithDisplayNameHtml(translate: {}, def _getPostTitleAnnounceHtml(base_dir: str, - httpPrefix: str, + http_prefix: str, nickname: str, domain: str, showRepeatIcon: bool, isAnnounced: bool, @@ -1006,7 +1006,8 @@ def _getPostTitleAnnounceHtml(base_dir: str, # add any emoji to the display name if ':' in announceDisplayName: announceDisplayName = \ - addEmojiToDisplayName(None, base_dir, httpPrefix, nickname, domain, + addEmojiToDisplayName(None, base_dir, http_prefix, + nickname, domain, announceDisplayName, False) _logPostTiming(enableTimingLog, postStartTime, '13.3.1') titleStr += \ @@ -1111,7 +1112,7 @@ def _getReplyHtml(translate: {}, def _getPostTitleReplyHtml(base_dir: str, - httpPrefix: str, + http_prefix: str, nickname: str, domain: str, showRepeatIcon: bool, isAnnounced: bool, @@ -1188,7 +1189,8 @@ def _getPostTitleReplyHtml(base_dir: str, _logPostTiming(enableTimingLog, postStartTime, '13.5') replyDisplayName = \ - addEmojiToDisplayName(None, base_dir, httpPrefix, nickname, domain, + addEmojiToDisplayName(None, base_dir, http_prefix, + nickname, domain, replyDisplayName, False) _logPostTiming(enableTimingLog, postStartTime, '13.6') @@ -1222,7 +1224,7 @@ def _getPostTitleReplyHtml(base_dir: str, def _getPostTitleHtml(base_dir: str, - httpPrefix: str, + http_prefix: str, nickname: str, domain: str, showRepeatIcon: bool, isAnnounced: bool, @@ -1250,7 +1252,7 @@ def _getPostTitleHtml(base_dir: str, if isAnnounced: return _getPostTitleAnnounceHtml(base_dir, - httpPrefix, + http_prefix, nickname, domain, showRepeatIcon, isAnnounced, @@ -1269,7 +1271,7 @@ def _getPostTitleHtml(base_dir: str, containerClass) return _getPostTitleReplyHtml(base_dir, - httpPrefix, + http_prefix, nickname, domain, showRepeatIcon, isAnnounced, @@ -1327,7 +1329,7 @@ def individualPostAsHtml(signingPrivateKeyPem: str, postJsonObject: {}, avatarUrl: str, showAvatarOptions: bool, allowDeletion: bool, - httpPrefix: str, projectVersion: str, + http_prefix: str, projectVersion: str, boxName: str, YTReplacementDomain: str, twitterReplacementDomain: str, @@ -1388,7 +1390,7 @@ def individualPostAsHtml(signingPrivateKeyPem: str, # get the html post from the recent posts cache if it exists there postHtml = \ _getPostFromRecentCache(session, base_dir, - httpPrefix, nickname, domain, + http_prefix, nickname, domain, postJsonObject, postActor, personCache, @@ -1412,7 +1414,7 @@ def individualPostAsHtml(signingPrivateKeyPem: str, avatarUrl = \ getAvatarImageUrl(session, - base_dir, httpPrefix, + base_dir, http_prefix, postActor, personCache, avatarUrl, allowDownloads, signingPrivateKeyPem) @@ -1427,7 +1429,7 @@ def individualPostAsHtml(signingPrivateKeyPem: str, postActorDomainFull = getFullDomain(postActorDomain, postActorPort) postActorHandle = postActorNickname + '@' + postActorDomainFull postActorWf = \ - webfingerHandle(session, postActorHandle, httpPrefix, + webfingerHandle(session, postActorHandle, http_prefix, cachedWebfingers, domain, __version__, False, False, signingPrivateKeyPem) @@ -1443,7 +1445,7 @@ def individualPostAsHtml(signingPrivateKeyPem: str, postActorWf, personCache, projectVersion, - httpPrefix, + http_prefix, nickname, domain, 'outbox', 72367) @@ -1455,7 +1457,7 @@ def individualPostAsHtml(signingPrivateKeyPem: str, # add any emoji to the display name if ':' in displayName: displayName = \ - addEmojiToDisplayName(session, base_dir, httpPrefix, + addEmojiToDisplayName(session, base_dir, http_prefix, nickname, domain, displayName, False) @@ -1494,7 +1496,7 @@ def individualPostAsHtml(signingPrivateKeyPem: str, announceJsonObject = postJsonObject.copy() blockedCache = {} postJsonAnnounce = \ - downloadAnnounce(session, base_dir, httpPrefix, + downloadAnnounce(session, base_dir, http_prefix, nickname, domain, postJsonObject, projectVersion, translate, YTReplacementDomain, @@ -1516,7 +1518,7 @@ def individualPostAsHtml(signingPrivateKeyPem: str, # is the announced post in the html cache? postHtml = \ _getPostFromRecentCache(session, base_dir, - httpPrefix, nickname, domain, + http_prefix, nickname, domain, postJsonObject, postActor, personCache, @@ -1545,7 +1547,7 @@ def individualPostAsHtml(signingPrivateKeyPem: str, if isRecentPost(postJsonObject, 3): if postJsonObject.get('actor'): if not os.path.isfile(announceFilename + '.tts'): - updateSpeaker(base_dir, httpPrefix, + updateSpeaker(base_dir, http_prefix, nickname, domain, domainFull, postJsonObject, personCache, translate, postJsonObject['actor'], @@ -1581,7 +1583,7 @@ def individualPostAsHtml(signingPrivateKeyPem: str, if displayName: if ':' in displayName: displayName = \ - addEmojiToDisplayName(session, base_dir, httpPrefix, + addEmojiToDisplayName(session, base_dir, http_prefix, nickname, domain, displayName, False) titleStr += \ @@ -1750,7 +1752,7 @@ def individualPostAsHtml(signingPrivateKeyPem: str, replyAvatarImageInPost, containerClassIcons, containerClass) = _getPostTitleHtml(base_dir, - httpPrefix, + http_prefix, nickname, domain, showRepeatIcon, isAnnounced, @@ -1847,7 +1849,7 @@ def individualPostAsHtml(signingPrivateKeyPem: str, postJsonObject['object']['content'] domainFull = getFullDomain(domain, port) - personUrl = localActorUrl(httpPrefix, nickname, domainFull) + personUrl = localActorUrl(http_prefix, nickname, domainFull) actorJson = \ getPersonFromCache(base_dir, personUrl, personCache, False) languagesUnderstood = [] @@ -1903,7 +1905,7 @@ def individualPostAsHtml(signingPrivateKeyPem: str, if postJsonObject['object'].get('summary'): cwStr = str(postJsonObject['object']['summary']) cwStr = \ - addEmojiToDisplayName(session, base_dir, httpPrefix, + addEmojiToDisplayName(session, base_dir, http_prefix, nickname, domain, cwStr, False) contentStr += \ @@ -1994,7 +1996,7 @@ def htmlIndividualPost(cssCache: {}, base_dir: str, session, cachedWebfingers: {}, personCache: {}, nickname: str, domain: str, port: int, authorized: bool, - postJsonObject: {}, httpPrefix: str, + postJsonObject: {}, http_prefix: str, projectVersion: str, likedBy: str, reactBy: str, reactEmoji: str, YTReplacementDomain: str, @@ -2061,7 +2063,7 @@ def htmlIndividualPost(cssCache: {}, base_dir, session, cachedWebfingers, personCache, nickname, domain, port, postJsonObject, None, True, False, - httpPrefix, projectVersion, 'inbox', + http_prefix, projectVersion, 'inbox', YTReplacementDomain, twitterReplacementDomain, showPublishedDateOnly, @@ -2092,7 +2094,7 @@ def htmlIndividualPost(cssCache: {}, nickname, domain, port, postJsonObject, None, True, False, - httpPrefix, projectVersion, 'inbox', + http_prefix, projectVersion, 'inbox', YTReplacementDomain, twitterReplacementDomain, showPublishedDateOnly, @@ -2127,7 +2129,7 @@ def htmlIndividualPost(cssCache: {}, personCache, nickname, domain, port, item, None, True, False, - httpPrefix, projectVersion, 'inbox', + http_prefix, projectVersion, 'inbox', YTReplacementDomain, twitterReplacementDomain, showPublishedDateOnly, @@ -2155,7 +2157,7 @@ def htmlPostReplies(cssCache: {}, translate: {}, base_dir: str, session, cachedWebfingers: {}, personCache: {}, nickname: str, domain: str, port: int, repliesJson: {}, - httpPrefix: str, projectVersion: str, + http_prefix: str, projectVersion: str, YTReplacementDomain: str, twitterReplacementDomain: str, showPublishedDateOnly: bool, @@ -2179,7 +2181,7 @@ def htmlPostReplies(cssCache: {}, personCache, nickname, domain, port, item, None, True, False, - httpPrefix, projectVersion, 'inbox', + http_prefix, projectVersion, 'inbox', YTReplacementDomain, twitterReplacementDomain, showPublishedDateOnly, @@ -2207,7 +2209,7 @@ def htmlEmojiReactionPicker(cssCache: {}, base_dir: str, session, cachedWebfingers: {}, personCache: {}, nickname: str, domain: str, port: int, - postJsonObject: {}, httpPrefix: str, + postJsonObject: {}, http_prefix: str, projectVersion: str, YTReplacementDomain: str, twitterReplacementDomain: str, @@ -2231,7 +2233,7 @@ def htmlEmojiReactionPicker(cssCache: {}, personCache, nickname, domain, port, postJsonObject, None, True, False, - httpPrefix, projectVersion, 'inbox', + http_prefix, projectVersion, 'inbox', YTReplacementDomain, twitterReplacementDomain, showPublishedDateOnly, diff --git a/webapp_profile.py b/webapp_profile.py index 59151c7c0..9dbabd604 100644 --- a/webapp_profile.py +++ b/webapp_profile.py @@ -124,7 +124,7 @@ def _validProfilePreviewPost(postJsonObject: {}, def htmlProfileAfterSearch(cssCache: {}, recentPostsCache: {}, maxRecentPosts: int, translate: {}, - base_dir: str, path: str, httpPrefix: str, + base_dir: str, path: str, http_prefix: str, nickname: str, domain: str, port: int, profileHandle: str, session, cachedWebfingers: {}, personCache: {}, @@ -145,9 +145,9 @@ def htmlProfileAfterSearch(cssCache: {}, """ http = False gnunet = False - if httpPrefix == 'http': + if http_prefix == 'http': http = True - elif httpPrefix == 'gnunet': + elif http_prefix == 'gnunet': gnunet = True profileJson, asHeader = \ getActorJson(domain, profileHandle, http, gnunet, debug, False, @@ -323,7 +323,7 @@ def htmlProfileAfterSearch(cssCache: {}, userFeed = \ parseUserFeed(signingPrivateKeyPem, session, outboxUrl, asHeader, projectVersion, - httpPrefix, domain, debug) + http_prefix, domain, debug) if userFeed: i = 0 for item in userFeed: @@ -339,7 +339,7 @@ def htmlProfileAfterSearch(cssCache: {}, session, cachedWebfingers, personCache, nickname, domain, port, postJsonObject, avatarUrl, False, False, - httpPrefix, projectVersion, 'inbox', + http_prefix, projectVersion, 'inbox', YTReplacementDomain, twitterReplacementDomain, showPublishedDateOnly, @@ -358,7 +358,7 @@ def htmlProfileAfterSearch(cssCache: {}, profileStr + htmlFooter() -def _getProfileHeader(base_dir: str, httpPrefix: str, +def _getProfileHeader(base_dir: str, http_prefix: str, nickname: str, domain: str, domainFull: str, translate: {}, defaultTimeline: str, @@ -416,7 +416,7 @@ def _getProfileHeader(base_dir: str, httpPrefix: str, otherAccountsHtml = \ '

' + translate['Other accounts'] + ': ' - actor = localActorUrl(httpPrefix, nickname, domainFull) + actor = localActorUrl(http_prefix, nickname, domainFull) ctr = 0 if isinstance(alsoKnownAs, list): for altActor in alsoKnownAs: @@ -544,7 +544,7 @@ def htmlProfile(signingPrivateKeyPem: str, defaultTimeline: str, recentPostsCache: {}, maxRecentPosts: int, translate: {}, projectVersion: str, - base_dir: str, httpPrefix: str, authorized: bool, + base_dir: str, http_prefix: str, authorized: bool, profileJson: {}, selected: str, session, cachedWebfingers: {}, personCache: {}, YTReplacementDomain: str, @@ -573,7 +573,7 @@ def htmlProfile(signingPrivateKeyPem: str, defaultTimeline, recentPostsCache, maxRecentPosts, translate, projectVersion, - base_dir, httpPrefix, authorized, + base_dir, http_prefix, authorized, profileJson, selected, session, cachedWebfingers, personCache, YTReplacementDomain, @@ -590,12 +590,12 @@ def htmlProfile(signingPrivateKeyPem: str, if not domain: return "" displayName = \ - addEmojiToDisplayName(session, base_dir, httpPrefix, + addEmojiToDisplayName(session, base_dir, http_prefix, nickname, domain, profileJson['name'], True) domainFull = getFullDomain(domain, port) profileDescription = \ - addEmojiToDisplayName(session, base_dir, httpPrefix, + addEmojiToDisplayName(session, base_dir, http_prefix, nickname, domain, profileJson['summary'], False) postsButton = 'button' @@ -752,7 +752,7 @@ def htmlProfile(signingPrivateKeyPem: str, nick = followerHandle.split('@')[0] dom = followerHandle.split('@')[1] followerActor = \ - localActorUrl(httpPrefix, nick, dom) + localActorUrl(http_prefix, nick, dom) # is this a new domain? # if so then append a new instance indicator @@ -839,7 +839,7 @@ def htmlProfile(signingPrivateKeyPem: str, pinnedContent = pinFile.read() profileHeaderStr = \ - _getProfileHeader(base_dir, httpPrefix, + _getProfileHeader(base_dir, http_prefix, nickname, domain, domainFull, translate, defaultTimeline, displayName, @@ -954,7 +954,7 @@ def htmlProfile(signingPrivateKeyPem: str, profileStr += \ _htmlProfilePosts(recentPostsCache, maxRecentPosts, translate, - base_dir, httpPrefix, authorized, + base_dir, http_prefix, authorized, nickname, domain, port, session, cachedWebfingers, personCache, projectVersion, @@ -970,7 +970,7 @@ def htmlProfile(signingPrivateKeyPem: str, if not isGroup: if selected == 'following': profileStr += \ - _htmlProfileFollowing(translate, base_dir, httpPrefix, + _htmlProfileFollowing(translate, base_dir, http_prefix, authorized, nickname, domain, port, session, cachedWebfingers, personCache, extraJson, @@ -980,7 +980,7 @@ def htmlProfile(signingPrivateKeyPem: str, signingPrivateKeyPem) if selected == 'followers': profileStr += \ - _htmlProfileFollowing(translate, base_dir, httpPrefix, + _htmlProfileFollowing(translate, base_dir, http_prefix, authorized, nickname, domain, port, session, cachedWebfingers, personCache, extraJson, @@ -1021,7 +1021,7 @@ def htmlProfile(signingPrivateKeyPem: str, def _htmlProfilePosts(recentPostsCache: {}, maxRecentPosts: int, translate: {}, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, authorized: bool, nickname: str, domain: str, port: int, session, cachedWebfingers: {}, personCache: {}, @@ -1052,7 +1052,7 @@ def _htmlProfilePosts(recentPostsCache: {}, maxRecentPosts: int, personBoxJson({}, session, base_dir, domain, port, outboxFeedPathStr, - httpPrefix, + http_prefix, 10, boxName, authorized, 0, False, 0) if not outboxFeed: @@ -1070,7 +1070,7 @@ def _htmlProfilePosts(recentPostsCache: {}, maxRecentPosts: int, personCache, nickname, domain, port, item, None, True, False, - httpPrefix, projectVersion, 'inbox', + http_prefix, projectVersion, 'inbox', YTReplacementDomain, twitterReplacementDomain, showPublishedDateOnly, @@ -1090,7 +1090,7 @@ def _htmlProfilePosts(recentPostsCache: {}, maxRecentPosts: int, return profileStr -def _htmlProfileFollowing(translate: {}, base_dir: str, httpPrefix: str, +def _htmlProfileFollowing(translate: {}, base_dir: str, http_prefix: str, authorized: bool, nickname: str, domain: str, port: int, session, cachedWebfingers: {}, personCache: {}, @@ -1132,7 +1132,7 @@ def _htmlProfileFollowing(translate: {}, base_dir: str, httpPrefix: str, cachedWebfingers, personCache, domain, followingActor, authorized, nickname, - httpPrefix, projectVersion, dormant, + http_prefix, projectVersion, dormant, debug, buttons) if authorized and maxItemsPerPage and pageNumber: @@ -2084,7 +2084,7 @@ def _htmlEditProfileTopBanner(base_dir: str, def htmlEditProfile(cssCache: {}, translate: {}, base_dir: str, path: str, - domain: str, port: int, httpPrefix: str, + domain: str, port: int, http_prefix: str, defaultTimeline: str, theme: str, peertubeInstances: [], textModeBanner: str, city: str, @@ -2340,7 +2340,7 @@ def _individualFollowAsHtml(signingPrivateKeyPem: str, followUrl: str, authorized: bool, actorNickname: str, - httpPrefix: str, + http_prefix: str, projectVersion: str, dormant: bool, debug: bool, @@ -2361,7 +2361,7 @@ def _individualFollowAsHtml(signingPrivateKeyPem: str, # lookup the correct webfinger for the followUrl followUrlHandle = followUrlNickname + '@' + followUrlDomainFull followUrlWf = \ - webfingerHandle(session, followUrlHandle, httpPrefix, + webfingerHandle(session, followUrlHandle, http_prefix, cachedWebfingers, domain, __version__, debug, False, signingPrivateKeyPem) @@ -2373,14 +2373,14 @@ def _individualFollowAsHtml(signingPrivateKeyPem: str, base_dir, session, followUrlWf, personCache, projectVersion, - httpPrefix, followUrlNickname, + http_prefix, followUrlNickname, domain, 'outbox', 43036) if avatarUrl2: avatarUrl = avatarUrl2 if displayName: displayName = \ - addEmojiToDisplayName(None, base_dir, httpPrefix, + addEmojiToDisplayName(None, base_dir, http_prefix, actorNickname, domain, displayName, False) titleStr = displayName diff --git a/webapp_search.py b/webapp_search.py index 209b6803a..4479cd815 100644 --- a/webapp_search.py +++ b/webapp_search.py @@ -43,7 +43,7 @@ from webapp_hashtagswarm import htmlHashTagSwarm def htmlSearchEmoji(cssCache: {}, translate: {}, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, searchStr: str) -> str: """Search results for emoji """ @@ -172,7 +172,7 @@ def _htmlSearchResultSharePage(actor: str, domainFull: str, def _htmlSharesResult(base_dir: str, sharesJson: {}, pageNumber: int, resultsPerPage: int, searchStrLowerList: [], currPage: int, ctr: int, - callingDomain: str, httpPrefix: str, domainFull: str, + callingDomain: str, http_prefix: str, domainFull: str, contactNickname: str, actor: str, resultsExist: bool, searchStrLower: str, translate: {}, sharesFileType: str) -> (bool, int, int, str): @@ -188,7 +188,7 @@ def _htmlSharesResult(base_dir: str, # show individual search result sharedItemsForm += \ htmlSearchResultShare(base_dir, sharedItem, translate, - httpPrefix, domainFull, + http_prefix, domainFull, contactNickname, name, actor, sharesFileType, sharedItem['category']) @@ -221,7 +221,7 @@ def htmlSearchSharedItems(cssCache: {}, translate: {}, base_dir: str, searchStr: str, pageNumber: int, resultsPerPage: int, - httpPrefix: str, + http_prefix: str, domainFull: str, actor: str, callingDomain: str, sharedItemsFederatedDomains: [], @@ -269,7 +269,7 @@ def htmlSearchSharedItems(cssCache: {}, translate: {}, resultsPerPage, searchStrLowerList, currPage, ctr, - callingDomain, httpPrefix, + callingDomain, http_prefix, domainFull, contactNickname, actor, resultsExist, @@ -307,7 +307,7 @@ def htmlSearchSharedItems(cssCache: {}, translate: {}, resultsPerPage, searchStrLowerList, currPage, ctr, - callingDomain, httpPrefix, + callingDomain, http_prefix, domainFull, contactNickname, actor, resultsExist, @@ -456,7 +456,7 @@ def htmlSearch(cssCache: {}, translate: {}, def htmlSkillsSearch(actor: str, cssCache: {}, translate: {}, base_dir: str, - httpPrefix: str, + http_prefix: str, skillsearch: str, instanceOnly: bool, postsPerPage: int) -> str: """Show a page containing search results for a skill @@ -586,7 +586,7 @@ def htmlSkillsSearch(actor: str, def htmlHistorySearch(cssCache: {}, translate: {}, base_dir: str, - httpPrefix: str, + http_prefix: str, nickname: str, domain: str, historysearch: str, postsPerPage: int, pageNumber: int, @@ -630,7 +630,7 @@ def htmlHistorySearch(cssCache: {}, translate: {}, base_dir: str, # add the page title domainFull = getFullDomain(domain, port) - actor = localActorUrl(httpPrefix, nickname, domainFull) + actor = localActorUrl(http_prefix, nickname, domainFull) historySearchTitle = '🔍 ' + translate['Your Posts'] if boxName == 'bookmarks': historySearchTitle = '🔍 ' + translate['Bookmarks'] @@ -682,7 +682,7 @@ def htmlHistorySearch(cssCache: {}, translate: {}, base_dir: str, nickname, domain, port, postJsonObject, None, True, allowDeletion, - httpPrefix, projectVersion, + http_prefix, projectVersion, 'search', YTReplacementDomain, twitterReplacementDomain, @@ -709,7 +709,7 @@ def htmlHashtagSearch(cssCache: {}, base_dir: str, hashtag: str, pageNumber: int, postsPerPage: int, session, cachedWebfingers: {}, personCache: {}, - httpPrefix: str, projectVersion: str, + http_prefix: str, projectVersion: str, YTReplacementDomain: str, twitterReplacementDomain: str, showPublishedDateOnly: bool, @@ -865,7 +865,7 @@ def htmlHashtagSearch(cssCache: {}, postJsonObject, avatarUrl, showAvatarOptions, allowDeletion, - httpPrefix, projectVersion, + http_prefix, projectVersion, 'search', YTReplacementDomain, twitterReplacementDomain, @@ -902,7 +902,7 @@ def rssHashtagSearch(nickname: str, domain: str, port: int, base_dir: str, hashtag: str, postsPerPage: int, session, cachedWebfingers: {}, personCache: {}, - httpPrefix: str, projectVersion: str, + http_prefix: str, projectVersion: str, YTReplacementDomain: str, twitterReplacementDomain: str, systemLanguage: str) -> str: @@ -937,7 +937,7 @@ def rssHashtagSearch(nickname: str, domain: str, port: int, maxFeedLength = 10 hashtagFeed = \ - rss2TagHeader(hashtag, httpPrefix, domainFull) + rss2TagHeader(hashtag, http_prefix, domainFull) for index in range(len(lines)): postId = lines[index].strip('\n').strip('\r') if ' ' not in postId: diff --git a/webapp_timeline.py b/webapp_timeline.py index dbb3a2dba..1406e9280 100644 --- a/webapp_timeline.py +++ b/webapp_timeline.py @@ -357,7 +357,7 @@ def _htmlTimelineKeyboard(moderator: bool, textModeBanner: str, usersPath: str, def _htmlTimelineEnd(base_dir: str, nickname: str, domainFull: str, - httpPrefix: str, translate: {}, + http_prefix: str, translate: {}, moderator: bool, editor: bool, newswire: {}, positiveVoting: bool, showPublishAsIcon: bool, @@ -376,7 +376,7 @@ def _htmlTimelineEnd(base_dir: str, nickname: str, domainFull: str, # right column rightColumnStr = getRightColumnContent(base_dir, nickname, domainFull, - httpPrefix, translate, + http_prefix, translate, moderator, editor, newswire, positiveVoting, False, None, True, @@ -424,7 +424,7 @@ def htmlTimeline(cssCache: {}, defaultTimeline: str, cachedWebfingers: {}, personCache: {}, nickname: str, domain: str, port: int, timelineJson: {}, boxName: str, allowDeletion: bool, - httpPrefix: str, projectVersion: str, + http_prefix: str, projectVersion: str, manuallyApproveFollowers: bool, minimal: bool, YTReplacementDomain: str, @@ -612,7 +612,7 @@ def htmlTimeline(cssCache: {}, defaultTimeline: str, fullDomain = getFullDomain(domain, port) usersPath = '/users/' + nickname - actor = httpPrefix + '://' + fullDomain + usersPath + actor = http_prefix + '://' + fullDomain + usersPath showIndividualPostIcons = True @@ -744,7 +744,7 @@ def htmlTimeline(cssCache: {}, defaultTimeline: str, # left column leftColumnStr = \ getLeftColumnContent(base_dir, nickname, domainFull, - httpPrefix, translate, + http_prefix, translate, editor, artist, False, None, rssIconAtTop, True, False, theme, accessKeys, sharedItemsFederatedDomains) @@ -785,10 +785,10 @@ def htmlTimeline(cssCache: {}, defaultTimeline: str, return (tlStr + _htmlSharesTimeline(translate, pageNumber, itemsPerPage, base_dir, actor, nickname, domain, port, - maxSharesPerAccount, httpPrefix, + maxSharesPerAccount, http_prefix, sharedItemsFederatedDomains, 'shares') + _htmlTimelineEnd(base_dir, nickname, domainFull, - httpPrefix, translate, + http_prefix, translate, moderator, editor, newswire, positiveVoting, showPublishAsIcon, @@ -803,10 +803,10 @@ def htmlTimeline(cssCache: {}, defaultTimeline: str, return (tlStr + _htmlSharesTimeline(translate, pageNumber, itemsPerPage, base_dir, actor, nickname, domain, port, - maxSharesPerAccount, httpPrefix, + maxSharesPerAccount, http_prefix, sharedItemsFederatedDomains, 'wanted') + _htmlTimelineEnd(base_dir, nickname, domainFull, - httpPrefix, translate, + http_prefix, translate, moderator, editor, newswire, positiveVoting, showPublishAsIcon, @@ -903,7 +903,7 @@ def htmlTimeline(cssCache: {}, defaultTimeline: str, nickname, domain, port, item, None, True, allowDeletion, - httpPrefix, projectVersion, + http_prefix, projectVersion, boxName, YTReplacementDomain, twitterReplacementDomain, @@ -954,7 +954,7 @@ def htmlTimeline(cssCache: {}, defaultTimeline: str, tlStr += \ _htmlTimelineEnd(base_dir, nickname, domainFull, - httpPrefix, translate, + http_prefix, translate, moderator, editor, newswire, positiveVoting, showPublishAsIcon, @@ -1042,7 +1042,7 @@ def htmlIndividualShare(domain: str, shareId: str, def _htmlSharesTimeline(translate: {}, pageNumber: int, itemsPerPage: int, base_dir: str, actor: str, nickname: str, domain: str, port: int, - maxSharesPerAccount: int, httpPrefix: str, + maxSharesPerAccount: int, http_prefix: str, sharedItemsFederatedDomains: [], sharesFileType: str) -> str: """Show shared items timeline as html @@ -1052,12 +1052,12 @@ def _htmlSharesTimeline(translate: {}, pageNumber: int, itemsPerPage: int, base_dir, domain, nickname, maxSharesPerAccount, sharedItemsFederatedDomains, sharesFileType) domainFull = getFullDomain(domain, port) - actor = localActorUrl(httpPrefix, nickname, domainFull) + actor = localActorUrl(http_prefix, nickname, domainFull) adminNickname = getConfigParam(base_dir, 'admin') adminActor = '' if adminNickname: adminActor = \ - localActorUrl(httpPrefix, adminNickname, domainFull) + localActorUrl(http_prefix, adminNickname, domainFull) timelineStr = '' if pageNumber > 1: @@ -1124,7 +1124,7 @@ def htmlShares(cssCache: {}, defaultTimeline: str, cachedWebfingers: {}, personCache: {}, nickname: str, domain: str, port: int, allowDeletion: bool, - httpPrefix: str, projectVersion: str, + http_prefix: str, projectVersion: str, YTReplacementDomain: str, twitterReplacementDomain: str, showPublishedDateOnly: bool, @@ -1156,7 +1156,7 @@ def htmlShares(cssCache: {}, defaultTimeline: str, cachedWebfingers, personCache, nickname, domain, port, None, 'tlshares', allowDeletion, - httpPrefix, projectVersion, manuallyApproveFollowers, + http_prefix, projectVersion, manuallyApproveFollowers, False, YTReplacementDomain, twitterReplacementDomain, @@ -1179,7 +1179,7 @@ def htmlWanted(cssCache: {}, defaultTimeline: str, cachedWebfingers: {}, personCache: {}, nickname: str, domain: str, port: int, allowDeletion: bool, - httpPrefix: str, projectVersion: str, + http_prefix: str, projectVersion: str, YTReplacementDomain: str, twitterReplacementDomain: str, showPublishedDateOnly: bool, @@ -1211,7 +1211,7 @@ def htmlWanted(cssCache: {}, defaultTimeline: str, cachedWebfingers, personCache, nickname, domain, port, None, 'tlwanted', allowDeletion, - httpPrefix, projectVersion, manuallyApproveFollowers, + http_prefix, projectVersion, manuallyApproveFollowers, False, YTReplacementDomain, twitterReplacementDomain, @@ -1234,7 +1234,7 @@ def htmlInbox(cssCache: {}, defaultTimeline: str, cachedWebfingers: {}, personCache: {}, nickname: str, domain: str, port: int, inboxJson: {}, allowDeletion: bool, - httpPrefix: str, projectVersion: str, + http_prefix: str, projectVersion: str, minimal: bool, YTReplacementDomain: str, twitterReplacementDomain: str, @@ -1267,7 +1267,7 @@ def htmlInbox(cssCache: {}, defaultTimeline: str, cachedWebfingers, personCache, nickname, domain, port, inboxJson, 'inbox', allowDeletion, - httpPrefix, projectVersion, manuallyApproveFollowers, + http_prefix, projectVersion, manuallyApproveFollowers, minimal, YTReplacementDomain, twitterReplacementDomain, @@ -1290,7 +1290,7 @@ def htmlBookmarks(cssCache: {}, defaultTimeline: str, cachedWebfingers: {}, personCache: {}, nickname: str, domain: str, port: int, bookmarksJson: {}, allowDeletion: bool, - httpPrefix: str, projectVersion: str, + http_prefix: str, projectVersion: str, minimal: bool, YTReplacementDomain: str, twitterReplacementDomain: str, @@ -1323,7 +1323,7 @@ def htmlBookmarks(cssCache: {}, defaultTimeline: str, cachedWebfingers, personCache, nickname, domain, port, bookmarksJson, 'tlbookmarks', allowDeletion, - httpPrefix, projectVersion, manuallyApproveFollowers, + http_prefix, projectVersion, manuallyApproveFollowers, minimal, YTReplacementDomain, twitterReplacementDomain, @@ -1346,7 +1346,7 @@ def htmlInboxDMs(cssCache: {}, defaultTimeline: str, cachedWebfingers: {}, personCache: {}, nickname: str, domain: str, port: int, inboxJson: {}, allowDeletion: bool, - httpPrefix: str, projectVersion: str, + http_prefix: str, projectVersion: str, minimal: bool, YTReplacementDomain: str, twitterReplacementDomain: str, @@ -1375,7 +1375,7 @@ def htmlInboxDMs(cssCache: {}, defaultTimeline: str, itemsPerPage, session, base_dir, cachedWebfingers, personCache, nickname, domain, port, inboxJson, 'dm', allowDeletion, - httpPrefix, projectVersion, False, minimal, + http_prefix, projectVersion, False, minimal, YTReplacementDomain, twitterReplacementDomain, showPublishedDateOnly, @@ -1397,7 +1397,7 @@ def htmlInboxReplies(cssCache: {}, defaultTimeline: str, cachedWebfingers: {}, personCache: {}, nickname: str, domain: str, port: int, inboxJson: {}, allowDeletion: bool, - httpPrefix: str, projectVersion: str, + http_prefix: str, projectVersion: str, minimal: bool, YTReplacementDomain: str, twitterReplacementDomain: str, @@ -1426,7 +1426,7 @@ def htmlInboxReplies(cssCache: {}, defaultTimeline: str, itemsPerPage, session, base_dir, cachedWebfingers, personCache, nickname, domain, port, inboxJson, 'tlreplies', - allowDeletion, httpPrefix, projectVersion, False, + allowDeletion, http_prefix, projectVersion, False, minimal, YTReplacementDomain, twitterReplacementDomain, @@ -1449,7 +1449,7 @@ def htmlInboxMedia(cssCache: {}, defaultTimeline: str, cachedWebfingers: {}, personCache: {}, nickname: str, domain: str, port: int, inboxJson: {}, allowDeletion: bool, - httpPrefix: str, projectVersion: str, + http_prefix: str, projectVersion: str, minimal: bool, YTReplacementDomain: str, twitterReplacementDomain: str, @@ -1478,7 +1478,7 @@ def htmlInboxMedia(cssCache: {}, defaultTimeline: str, itemsPerPage, session, base_dir, cachedWebfingers, personCache, nickname, domain, port, inboxJson, 'tlmedia', - allowDeletion, httpPrefix, projectVersion, False, + allowDeletion, http_prefix, projectVersion, False, minimal, YTReplacementDomain, twitterReplacementDomain, @@ -1501,7 +1501,7 @@ def htmlInboxBlogs(cssCache: {}, defaultTimeline: str, cachedWebfingers: {}, personCache: {}, nickname: str, domain: str, port: int, inboxJson: {}, allowDeletion: bool, - httpPrefix: str, projectVersion: str, + http_prefix: str, projectVersion: str, minimal: bool, YTReplacementDomain: str, twitterReplacementDomain: str, @@ -1530,7 +1530,7 @@ def htmlInboxBlogs(cssCache: {}, defaultTimeline: str, itemsPerPage, session, base_dir, cachedWebfingers, personCache, nickname, domain, port, inboxJson, 'tlblogs', - allowDeletion, httpPrefix, projectVersion, False, + allowDeletion, http_prefix, projectVersion, False, minimal, YTReplacementDomain, twitterReplacementDomain, @@ -1553,7 +1553,7 @@ def htmlInboxFeatures(cssCache: {}, defaultTimeline: str, cachedWebfingers: {}, personCache: {}, nickname: str, domain: str, port: int, inboxJson: {}, allowDeletion: bool, - httpPrefix: str, projectVersion: str, + http_prefix: str, projectVersion: str, minimal: bool, YTReplacementDomain: str, twitterReplacementDomain: str, @@ -1582,7 +1582,7 @@ def htmlInboxFeatures(cssCache: {}, defaultTimeline: str, itemsPerPage, session, base_dir, cachedWebfingers, personCache, nickname, domain, port, inboxJson, 'tlfeatures', - allowDeletion, httpPrefix, projectVersion, False, + allowDeletion, http_prefix, projectVersion, False, minimal, YTReplacementDomain, twitterReplacementDomain, @@ -1605,7 +1605,7 @@ def htmlInboxNews(cssCache: {}, defaultTimeline: str, cachedWebfingers: {}, personCache: {}, nickname: str, domain: str, port: int, inboxJson: {}, allowDeletion: bool, - httpPrefix: str, projectVersion: str, + http_prefix: str, projectVersion: str, minimal: bool, YTReplacementDomain: str, twitterReplacementDomain: str, @@ -1633,7 +1633,7 @@ def htmlInboxNews(cssCache: {}, defaultTimeline: str, itemsPerPage, session, base_dir, cachedWebfingers, personCache, nickname, domain, port, inboxJson, 'tlnews', - allowDeletion, httpPrefix, projectVersion, False, + allowDeletion, http_prefix, projectVersion, False, minimal, YTReplacementDomain, twitterReplacementDomain, @@ -1656,7 +1656,7 @@ def htmlOutbox(cssCache: {}, defaultTimeline: str, cachedWebfingers: {}, personCache: {}, nickname: str, domain: str, port: int, outboxJson: {}, allowDeletion: bool, - httpPrefix: str, projectVersion: str, + http_prefix: str, projectVersion: str, minimal: bool, YTReplacementDomain: str, twitterReplacementDomain: str, @@ -1687,7 +1687,7 @@ def htmlOutbox(cssCache: {}, defaultTimeline: str, itemsPerPage, session, base_dir, cachedWebfingers, personCache, nickname, domain, port, outboxJson, 'outbox', - allowDeletion, httpPrefix, projectVersion, + allowDeletion, http_prefix, projectVersion, manuallyApproveFollowers, minimal, YTReplacementDomain, twitterReplacementDomain, diff --git a/webapp_tos.py b/webapp_tos.py index 08ab69d90..34134e709 100644 --- a/webapp_tos.py +++ b/webapp_tos.py @@ -17,7 +17,7 @@ from markdown import markdownToHtml def htmlTermsOfService(cssCache: {}, base_dir: str, - httpPrefix: str, domainFull: str) -> str: + http_prefix: str, domainFull: str) -> str: """Show the terms of service screen """ adminNickname = getConfigParam(base_dir, 'admin') @@ -45,7 +45,7 @@ def htmlTermsOfService(cssCache: {}, base_dir: str, TOSForm = htmlHeaderWithExternalStyle(cssFilename, instanceTitle, None) TOSForm += '

' + TOSText + '
\n' if adminNickname: - adminActor = localActorUrl(httpPrefix, adminNickname, domainFull) + adminActor = localActorUrl(http_prefix, adminNickname, domainFull) TOSForm += \ '
\n' + \ '

Administered by \n' + \ - ' \n' + \ ' \n' + \ ' \n' + \ - ' \n' + \ ' \n' + \ @@ -793,7 +793,7 @@ def htmlHeaderWithWebsiteMarkup(cssFilename: str, instanceTitle: str, def htmlHeaderWithBlogMarkup(cssFilename: str, instanceTitle: str, - httpPrefix: str, domain: str, nickname: str, + http_prefix: str, domain: str, nickname: str, systemLanguage: str, published: str, modified: str, title: str, snippet: str, @@ -802,8 +802,8 @@ def htmlHeaderWithBlogMarkup(cssFilename: str, instanceTitle: str, """html header which includes blog post markup https://schema.org/BlogPosting """ - authorUrl = localActorUrl(httpPrefix, nickname, domain) - aboutUrl = httpPrefix + '://' + domain + '/about.html' + authorUrl = localActorUrl(http_prefix, nickname, domain) + aboutUrl = http_prefix + '://' + domain + '/about.html' # license for content on the site may be different from # the software license @@ -888,7 +888,7 @@ def loadIndividualPostAsHtmlFromCache(base_dir: str, return postHtml -def addEmojiToDisplayName(session, base_dir: str, httpPrefix: str, +def addEmojiToDisplayName(session, base_dir: str, http_prefix: str, nickname: str, domain: str, displayName: str, inProfileName: bool) -> str: """Adds emoji icons to display names or CW on individual posts @@ -900,7 +900,7 @@ def addEmojiToDisplayName(session, base_dir: str, httpPrefix: str, emojiTags = {} # print('TAG: displayName before tags: ' + displayName) displayName = \ - addHtmlTags(base_dir, httpPrefix, + addHtmlTags(base_dir, http_prefix, nickname, domain, displayName, [], emojiTags) displayName = displayName.replace('

', '').replace('

', '') # print('TAG: displayName after tags: ' + displayName) @@ -1231,7 +1231,7 @@ def htmlHighlightLabel(label: str, highlight: bool) -> str: def getAvatarImageUrl(session, - base_dir: str, httpPrefix: str, + base_dir: str, http_prefix: str, postActor: str, personCache: {}, avatarUrl: str, allowDownloads: bool, signingPrivateKeyPem: str) -> str: @@ -1244,12 +1244,12 @@ def getAvatarImageUrl(session, allowDownloads) avatarUrl = \ updateAvatarImageCache(signingPrivateKeyPem, - session, base_dir, httpPrefix, + session, base_dir, http_prefix, postActor, avatarUrl, personCache, allowDownloads) else: updateAvatarImageCache(signingPrivateKeyPem, - session, base_dir, httpPrefix, + session, base_dir, http_prefix, postActor, avatarUrl, personCache, allowDownloads) @@ -1406,7 +1406,7 @@ def editTextArea(label: str, name: str, value: str, def htmlSearchResultShare(base_dir: str, sharedItem: {}, translate: {}, - httpPrefix: str, domainFull: str, + http_prefix: str, domainFull: str, contactNickname: str, itemID: str, actor: str, sharesFileType: str, category: str) -> str: @@ -1448,7 +1448,7 @@ def htmlSearchResultShare(base_dir: str, sharedItem: {}, translate: {}, contactTitleStr = translate['Buy'] sharedItemsForm += '

\n' contactActor = \ - localActorUrl(httpPrefix, contactNickname, domainFull) + localActorUrl(http_prefix, contactNickname, domainFull) buttonStyleStr = 'button' if category == 'accommodation': contactTitleStr = translate['Request to stay'] @@ -1493,7 +1493,7 @@ def htmlSearchResultShare(base_dir: str, sharedItem: {}, translate: {}, def htmlShowShare(base_dir: str, domain: str, nickname: str, - httpPrefix: str, domainFull: str, + http_prefix: str, domainFull: str, itemID: str, translate: {}, sharedItemsFederatedDomains: [], defaultTimeline: str, theme: str, @@ -1545,7 +1545,7 @@ def htmlShowShare(base_dir: str, domain: str, nickname: str, if not sharesJson.get(itemID): return None sharedItem = sharesJson[itemID] - actor = localActorUrl(httpPrefix, nickname, domainFull) + actor = localActorUrl(http_prefix, nickname, domainFull) # filename of the banner shown at the top bannerFile, bannerFilename = \ @@ -1560,7 +1560,7 @@ def htmlShowShare(base_dir: str, domain: str, nickname: str, 'src="/users/' + nickname + '/' + bannerFile + '" />
\n' + \ '
\n' shareStr += \ - htmlSearchResultShare(base_dir, sharedItem, translate, httpPrefix, + htmlSearchResultShare(base_dir, sharedItem, translate, http_prefix, domainFull, contactNickname, itemID, actor, sharesFileType, category) diff --git a/webapp_welcome_final.py b/webapp_welcome_final.py index 80631d316..0679f72b1 100644 --- a/webapp_welcome_final.py +++ b/webapp_welcome_final.py @@ -17,7 +17,7 @@ from markdown import markdownToHtml def htmlWelcomeFinal(base_dir: str, nickname: str, domain: str, - httpPrefix: str, domainFull: str, + http_prefix: str, domainFull: str, language: str, translate: {}, themeName: str) -> str: """Returns the final welcome screen after first login diff --git a/webapp_welcome_profile.py b/webapp_welcome_profile.py index b8041ba08..2423bca3b 100644 --- a/webapp_welcome_profile.py +++ b/webapp_welcome_profile.py @@ -23,7 +23,7 @@ from markdown import markdownToHtml def htmlWelcomeProfile(base_dir: str, nickname: str, domain: str, - httpPrefix: str, domainFull: str, + http_prefix: str, domainFull: str, language: str, translate: {}, themeName: str) -> str: """Returns the welcome profile screen to set avatar and bio @@ -76,7 +76,7 @@ def htmlWelcomeProfile(base_dir: str, nickname: str, domain: str, if os.path.isfile(avatarFilename): break avatarUrl = \ - localActorUrl(httpPrefix, nickname, domainFull) + '/avatar.' + ext + localActorUrl(http_prefix, nickname, domainFull) + '/avatar.' + ext imageFormats = getImageFormats() profileForm += '
' + profileText + '
\n' diff --git a/webfinger.py b/webfinger.py index 07f353458..11e425325 100644 --- a/webfinger.py +++ b/webfinger.py @@ -60,7 +60,7 @@ def _parseHandle(handle: str) -> (str, str, bool): return None, None, False -def webfingerHandle(session, handle: str, httpPrefix: str, +def webfingerHandle(session, handle: str, http_prefix: str, cachedWebfingers: {}, fromDomain: str, projectVersion: str, debug: bool, groupAccount: bool, @@ -83,7 +83,7 @@ def webfingerHandle(session, handle: str, httpPrefix: str, if debug: print('Webfinger from cache: ' + str(wf)) return wf - url = '{}://{}/.well-known/webfinger'.format(httpPrefix, domain) + url = '{}://{}/.well-known/webfinger'.format(http_prefix, domain) hdr = { 'Accept': 'application/jrd+json' } @@ -93,7 +93,7 @@ def webfingerHandle(session, handle: str, httpPrefix: str, try: result = \ getJson(signingPrivateKeyPem, session, url, hdr, par, - debug, projectVersion, httpPrefix, fromDomain) + debug, projectVersion, http_prefix, fromDomain) except Exception as ex: print('ERROR: webfingerHandle ' + str(ex)) return None @@ -131,7 +131,7 @@ def storeWebfingerEndpoint(nickname: str, domain: str, port: int, def createWebfingerEndpoint(nickname: str, domain: str, port: int, - httpPrefix: str, publicKeyPem: str, + http_prefix: str, publicKeyPem: str, groupAccount: bool) -> {}: """Creates a webfinger endpoint for a user """ @@ -139,17 +139,17 @@ def createWebfingerEndpoint(nickname: str, domain: str, port: int, domain = getFullDomain(domain, port) personName = nickname - personId = localActorUrl(httpPrefix, personName, domain) + personId = localActorUrl(http_prefix, personName, domain) subjectStr = "acct:" + personName + "@" + originalDomain - profilePageHref = httpPrefix + "://" + domain + "/@" + nickname + profilePageHref = http_prefix + "://" + domain + "/@" + nickname if nickname == 'inbox' or nickname == originalDomain: personName = 'actor' - personId = httpPrefix + "://" + domain + "/" + personName + personId = http_prefix + "://" + domain + "/" + personName subjectStr = "acct:" + originalDomain + "@" + originalDomain - profilePageHref = httpPrefix + '://' + domain + \ + profilePageHref = http_prefix + '://' + domain + \ '/about/more?instance_actor=true' - personLink = httpPrefix + "://" + domain + "/@" + personName + personLink = http_prefix + "://" + domain + "/@" + personName account = { "aliases": [ personLink, @@ -162,7 +162,7 @@ def createWebfingerEndpoint(nickname: str, domain: str, port: int, "type": "image/png" }, { - "href": httpPrefix + "://" + domain + "/blog/" + personName, + "href": http_prefix + "://" + domain + "/blog/" + personName, "rel": "http://webfinger.net/rel/blog" }, { @@ -181,13 +181,13 @@ def createWebfingerEndpoint(nickname: str, domain: str, port: int, return account -def webfingerNodeInfo(httpPrefix: str, domainFull: str) -> {}: +def webfingerNodeInfo(http_prefix: str, domainFull: str) -> {}: """ /.well-known/nodeinfo endpoint """ nodeinfo = { 'links': [ { - 'href': httpPrefix + '://' + domainFull + '/nodeinfo/2.0', + 'href': http_prefix + '://' + domainFull + '/nodeinfo/2.0', 'rel': 'http://nodeinfo.diaspora.software/ns/schema/2.0' } ] @@ -195,7 +195,7 @@ def webfingerNodeInfo(httpPrefix: str, domainFull: str) -> {}: return nodeinfo -def webfingerMeta(httpPrefix: str, domainFull: str) -> str: +def webfingerMeta(http_prefix: str, domainFull: str) -> str: """Return /.well-known/host-meta """ metaStr = \ @@ -206,7 +206,7 @@ def webfingerMeta(httpPrefix: str, domainFull: str) -> str: "" + domainFull + "" + \ "" + \ "" + \ " Resource Descriptor" + \ " " + \