forked from indymedia/epicyon
Apply voting threshold to timeline
parent
72b5db2d9e
commit
cc642557f4
67
daemon.py
67
daemon.py
|
@ -5990,7 +5990,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
path,
|
path,
|
||||||
httpPrefix,
|
httpPrefix,
|
||||||
maxPostsInFeed, 'inbox',
|
maxPostsInFeed, 'inbox',
|
||||||
authorized)
|
authorized,
|
||||||
|
0,
|
||||||
|
self.server.positiveVoting)
|
||||||
if inboxFeed:
|
if inboxFeed:
|
||||||
if GETstartTime:
|
if GETstartTime:
|
||||||
self._benchmarkGETtimings(GETstartTime, GETtimings,
|
self._benchmarkGETtimings(GETstartTime, GETtimings,
|
||||||
|
@ -6018,7 +6020,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
path + '?page=1',
|
path + '?page=1',
|
||||||
httpPrefix,
|
httpPrefix,
|
||||||
maxPostsInFeed, 'inbox',
|
maxPostsInFeed, 'inbox',
|
||||||
authorized)
|
authorized,
|
||||||
|
0,
|
||||||
|
self.server.positiveVoting)
|
||||||
if GETstartTime:
|
if GETstartTime:
|
||||||
self._benchmarkGETtimings(GETstartTime,
|
self._benchmarkGETtimings(GETstartTime,
|
||||||
GETtimings,
|
GETtimings,
|
||||||
|
@ -6106,7 +6110,8 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
path,
|
path,
|
||||||
httpPrefix,
|
httpPrefix,
|
||||||
maxPostsInFeed, 'dm',
|
maxPostsInFeed, 'dm',
|
||||||
authorized)
|
authorized,
|
||||||
|
0, self.server.positiveVoting)
|
||||||
if inboxDMFeed:
|
if inboxDMFeed:
|
||||||
if self._requestHTTP():
|
if self._requestHTTP():
|
||||||
nickname = path.replace('/users/', '')
|
nickname = path.replace('/users/', '')
|
||||||
|
@ -6130,7 +6135,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
path + '?page=1',
|
path + '?page=1',
|
||||||
httpPrefix,
|
httpPrefix,
|
||||||
maxPostsInFeed, 'dm',
|
maxPostsInFeed, 'dm',
|
||||||
authorized)
|
authorized,
|
||||||
|
0,
|
||||||
|
self.server.positiveVoting)
|
||||||
msg = \
|
msg = \
|
||||||
htmlInboxDMs(self.server.defaultTimeline,
|
htmlInboxDMs(self.server.defaultTimeline,
|
||||||
self.server.recentPostsCache,
|
self.server.recentPostsCache,
|
||||||
|
@ -6207,7 +6214,8 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
path,
|
path,
|
||||||
httpPrefix,
|
httpPrefix,
|
||||||
maxPostsInFeed, 'tlreplies',
|
maxPostsInFeed, 'tlreplies',
|
||||||
True)
|
True,
|
||||||
|
0, self.server.positiveVoting)
|
||||||
if not inboxRepliesFeed:
|
if not inboxRepliesFeed:
|
||||||
inboxRepliesFeed = []
|
inboxRepliesFeed = []
|
||||||
if self._requestHTTP():
|
if self._requestHTTP():
|
||||||
|
@ -6232,7 +6240,8 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
path + '?page=1',
|
path + '?page=1',
|
||||||
httpPrefix,
|
httpPrefix,
|
||||||
maxPostsInFeed, 'tlreplies',
|
maxPostsInFeed, 'tlreplies',
|
||||||
True)
|
True,
|
||||||
|
0, self.server.positiveVoting)
|
||||||
msg = \
|
msg = \
|
||||||
htmlInboxReplies(self.server.defaultTimeline,
|
htmlInboxReplies(self.server.defaultTimeline,
|
||||||
self.server.recentPostsCache,
|
self.server.recentPostsCache,
|
||||||
|
@ -6309,7 +6318,8 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
path,
|
path,
|
||||||
httpPrefix,
|
httpPrefix,
|
||||||
maxPostsInMediaFeed, 'tlmedia',
|
maxPostsInMediaFeed, 'tlmedia',
|
||||||
True)
|
True,
|
||||||
|
0, self.server.positiveVoting)
|
||||||
if not inboxMediaFeed:
|
if not inboxMediaFeed:
|
||||||
inboxMediaFeed = []
|
inboxMediaFeed = []
|
||||||
if self._requestHTTP():
|
if self._requestHTTP():
|
||||||
|
@ -6334,7 +6344,8 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
path + '?page=1',
|
path + '?page=1',
|
||||||
httpPrefix,
|
httpPrefix,
|
||||||
maxPostsInMediaFeed, 'tlmedia',
|
maxPostsInMediaFeed, 'tlmedia',
|
||||||
True)
|
True,
|
||||||
|
0, self.server.positiveVoting)
|
||||||
msg = \
|
msg = \
|
||||||
htmlInboxMedia(self.server.defaultTimeline,
|
htmlInboxMedia(self.server.defaultTimeline,
|
||||||
self.server.recentPostsCache,
|
self.server.recentPostsCache,
|
||||||
|
@ -6411,7 +6422,8 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
path,
|
path,
|
||||||
httpPrefix,
|
httpPrefix,
|
||||||
maxPostsInBlogsFeed, 'tlblogs',
|
maxPostsInBlogsFeed, 'tlblogs',
|
||||||
True)
|
True,
|
||||||
|
0, self.server.positiveVoting)
|
||||||
if not inboxBlogsFeed:
|
if not inboxBlogsFeed:
|
||||||
inboxBlogsFeed = []
|
inboxBlogsFeed = []
|
||||||
if self._requestHTTP():
|
if self._requestHTTP():
|
||||||
|
@ -6436,7 +6448,8 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
path + '?page=1',
|
path + '?page=1',
|
||||||
httpPrefix,
|
httpPrefix,
|
||||||
maxPostsInBlogsFeed, 'tlblogs',
|
maxPostsInBlogsFeed, 'tlblogs',
|
||||||
True)
|
True,
|
||||||
|
0, self.server.positiveVoting)
|
||||||
msg = \
|
msg = \
|
||||||
htmlInboxBlogs(self.server.defaultTimeline,
|
htmlInboxBlogs(self.server.defaultTimeline,
|
||||||
self.server.recentPostsCache,
|
self.server.recentPostsCache,
|
||||||
|
@ -6514,7 +6527,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
path,
|
path,
|
||||||
httpPrefix,
|
httpPrefix,
|
||||||
maxPostsInNewsFeed, 'tlnews',
|
maxPostsInNewsFeed, 'tlnews',
|
||||||
True)
|
True,
|
||||||
|
self.server.newswireVotesThreshold,
|
||||||
|
self.server.positiveVoting)
|
||||||
if not inboxNewsFeed:
|
if not inboxNewsFeed:
|
||||||
inboxNewsFeed = []
|
inboxNewsFeed = []
|
||||||
if self._requestHTTP():
|
if self._requestHTTP():
|
||||||
|
@ -6540,7 +6555,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
path + '?page=1',
|
path + '?page=1',
|
||||||
httpPrefix,
|
httpPrefix,
|
||||||
maxPostsInBlogsFeed, 'tlnews',
|
maxPostsInBlogsFeed, 'tlnews',
|
||||||
True)
|
True,
|
||||||
|
self.server.newswireVotesThreshold,
|
||||||
|
self.server.positiveVoting)
|
||||||
currNickname = path.split('/users/')[1]
|
currNickname = path.split('/users/')[1]
|
||||||
if '/' in currNickname:
|
if '/' in currNickname:
|
||||||
currNickname = currNickname.split('/')[0]
|
currNickname = currNickname.split('/')[0]
|
||||||
|
@ -6686,7 +6703,8 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
path,
|
path,
|
||||||
httpPrefix,
|
httpPrefix,
|
||||||
maxPostsInFeed, 'tlbookmarks',
|
maxPostsInFeed, 'tlbookmarks',
|
||||||
authorized)
|
authorized,
|
||||||
|
0, self.server.positiveVoting)
|
||||||
if bookmarksFeed:
|
if bookmarksFeed:
|
||||||
if self._requestHTTP():
|
if self._requestHTTP():
|
||||||
nickname = path.replace('/users/', '')
|
nickname = path.replace('/users/', '')
|
||||||
|
@ -6712,7 +6730,8 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
httpPrefix,
|
httpPrefix,
|
||||||
maxPostsInFeed,
|
maxPostsInFeed,
|
||||||
'tlbookmarks',
|
'tlbookmarks',
|
||||||
authorized)
|
authorized,
|
||||||
|
0, self.server.positiveVoting)
|
||||||
msg = \
|
msg = \
|
||||||
htmlBookmarks(self.server.defaultTimeline,
|
htmlBookmarks(self.server.defaultTimeline,
|
||||||
self.server.recentPostsCache,
|
self.server.recentPostsCache,
|
||||||
|
@ -6791,7 +6810,8 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
path,
|
path,
|
||||||
httpPrefix,
|
httpPrefix,
|
||||||
maxPostsInFeed, 'tlevents',
|
maxPostsInFeed, 'tlevents',
|
||||||
authorized)
|
authorized,
|
||||||
|
0, self.server.positiveVoting)
|
||||||
print('eventsFeed: ' + str(eventsFeed))
|
print('eventsFeed: ' + str(eventsFeed))
|
||||||
if eventsFeed:
|
if eventsFeed:
|
||||||
if self._requestHTTP():
|
if self._requestHTTP():
|
||||||
|
@ -6817,7 +6837,8 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
httpPrefix,
|
httpPrefix,
|
||||||
maxPostsInFeed,
|
maxPostsInFeed,
|
||||||
'tlevents',
|
'tlevents',
|
||||||
authorized)
|
authorized,
|
||||||
|
0, self.server.positiveVoting)
|
||||||
msg = \
|
msg = \
|
||||||
htmlEvents(self.server.defaultTimeline,
|
htmlEvents(self.server.defaultTimeline,
|
||||||
self.server.recentPostsCache,
|
self.server.recentPostsCache,
|
||||||
|
@ -6888,7 +6909,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
port, path,
|
port, path,
|
||||||
httpPrefix,
|
httpPrefix,
|
||||||
maxPostsInFeed, 'outbox',
|
maxPostsInFeed, 'outbox',
|
||||||
authorized)
|
authorized,
|
||||||
|
self.server.newswireVotesThreshold,
|
||||||
|
self.server.positiveVoting)
|
||||||
if outboxFeed:
|
if outboxFeed:
|
||||||
if self._requestHTTP():
|
if self._requestHTTP():
|
||||||
nickname = \
|
nickname = \
|
||||||
|
@ -6912,7 +6935,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
path + '?page=1',
|
path + '?page=1',
|
||||||
httpPrefix,
|
httpPrefix,
|
||||||
maxPostsInFeed, 'outbox',
|
maxPostsInFeed, 'outbox',
|
||||||
authorized)
|
authorized,
|
||||||
|
self.server.newswireVotesThreshold,
|
||||||
|
self.server.positiveVoting)
|
||||||
msg = \
|
msg = \
|
||||||
htmlOutbox(self.server.defaultTimeline,
|
htmlOutbox(self.server.defaultTimeline,
|
||||||
self.server.recentPostsCache,
|
self.server.recentPostsCache,
|
||||||
|
@ -6976,7 +7001,8 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
path,
|
path,
|
||||||
httpPrefix,
|
httpPrefix,
|
||||||
maxPostsInFeed, 'moderation',
|
maxPostsInFeed, 'moderation',
|
||||||
True)
|
True,
|
||||||
|
0, self.server.positiveVoting)
|
||||||
if moderationFeed:
|
if moderationFeed:
|
||||||
if self._requestHTTP():
|
if self._requestHTTP():
|
||||||
nickname = path.replace('/users/', '')
|
nickname = path.replace('/users/', '')
|
||||||
|
@ -7000,7 +7026,8 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
path + '?page=1',
|
path + '?page=1',
|
||||||
httpPrefix,
|
httpPrefix,
|
||||||
maxPostsInFeed, 'moderation',
|
maxPostsInFeed, 'moderation',
|
||||||
True)
|
True,
|
||||||
|
0, self.server.positiveVoting)
|
||||||
msg = \
|
msg = \
|
||||||
htmlModeration(self.server.defaultTimeline,
|
htmlModeration(self.server.defaultTimeline,
|
||||||
self.server.recentPostsCache,
|
self.server.recentPostsCache,
|
||||||
|
|
|
@ -595,7 +595,8 @@ def personLookup(domain: str, path: str, baseDir: str) -> {}:
|
||||||
def personBoxJson(recentPostsCache: {},
|
def personBoxJson(recentPostsCache: {},
|
||||||
session, baseDir: str, domain: str, port: int, path: str,
|
session, baseDir: str, domain: str, port: int, path: str,
|
||||||
httpPrefix: str, noOfItems: int, boxname: str,
|
httpPrefix: str, noOfItems: int, boxname: str,
|
||||||
authorized: bool) -> {}:
|
authorized: bool,
|
||||||
|
newswireVotesThreshold: int, positiveVoting: bool) -> {}:
|
||||||
"""Obtain the inbox/outbox/moderation feed for the given person
|
"""Obtain the inbox/outbox/moderation feed for the given person
|
||||||
"""
|
"""
|
||||||
if boxname != 'inbox' and boxname != 'dm' and \
|
if boxname != 'inbox' and boxname != 'dm' and \
|
||||||
|
@ -671,6 +672,7 @@ def personBoxJson(recentPostsCache: {},
|
||||||
elif boxname == 'tlnews':
|
elif boxname == 'tlnews':
|
||||||
return createNewsTimeline(session, baseDir, nickname, domain, port,
|
return createNewsTimeline(session, baseDir, nickname, domain, port,
|
||||||
httpPrefix, noOfItems, headerOnly,
|
httpPrefix, noOfItems, headerOnly,
|
||||||
|
newswireVotesThreshold, positiveVoting,
|
||||||
pageNumber)
|
pageNumber)
|
||||||
elif boxname == 'tlblogs':
|
elif boxname == 'tlblogs':
|
||||||
return createBlogsTimeline(session, baseDir, nickname, domain, port,
|
return createBlogsTimeline(session, baseDir, nickname, domain, port,
|
||||||
|
|
47
posts.py
47
posts.py
|
@ -46,6 +46,8 @@ from utils import locatePost
|
||||||
from utils import loadJson
|
from utils import loadJson
|
||||||
from utils import saveJson
|
from utils import saveJson
|
||||||
from utils import getConfigParam
|
from utils import getConfigParam
|
||||||
|
from utils import locateNewsVotes
|
||||||
|
from utils import votesOnNewswireItem
|
||||||
from media import attachMedia
|
from media import attachMedia
|
||||||
from media import replaceYouTube
|
from media import replaceYouTube
|
||||||
from content import removeHtml
|
from content import removeHtml
|
||||||
|
@ -2477,7 +2479,7 @@ def createInbox(recentPostsCache: {},
|
||||||
session, baseDir, 'inbox',
|
session, baseDir, 'inbox',
|
||||||
nickname, domain, port, httpPrefix,
|
nickname, domain, port, httpPrefix,
|
||||||
itemsPerPage, headerOnly, True,
|
itemsPerPage, headerOnly, True,
|
||||||
pageNumber)
|
0, False, pageNumber)
|
||||||
|
|
||||||
|
|
||||||
def createBookmarksTimeline(session, baseDir: str, nickname: str, domain: str,
|
def createBookmarksTimeline(session, baseDir: str, nickname: str, domain: str,
|
||||||
|
@ -2486,7 +2488,7 @@ def createBookmarksTimeline(session, baseDir: str, nickname: str, domain: str,
|
||||||
return createBoxIndexed({}, session, baseDir, 'tlbookmarks',
|
return createBoxIndexed({}, session, baseDir, 'tlbookmarks',
|
||||||
nickname, domain,
|
nickname, domain,
|
||||||
port, httpPrefix, itemsPerPage, headerOnly,
|
port, httpPrefix, itemsPerPage, headerOnly,
|
||||||
True, pageNumber)
|
True, 0, False, pageNumber)
|
||||||
|
|
||||||
|
|
||||||
def createEventsTimeline(recentPostsCache: {},
|
def createEventsTimeline(recentPostsCache: {},
|
||||||
|
@ -2496,7 +2498,7 @@ def createEventsTimeline(recentPostsCache: {},
|
||||||
return createBoxIndexed(recentPostsCache, session, baseDir, 'tlevents',
|
return createBoxIndexed(recentPostsCache, session, baseDir, 'tlevents',
|
||||||
nickname, domain,
|
nickname, domain,
|
||||||
port, httpPrefix, itemsPerPage, headerOnly,
|
port, httpPrefix, itemsPerPage, headerOnly,
|
||||||
True, pageNumber)
|
True, 0, False, pageNumber)
|
||||||
|
|
||||||
|
|
||||||
def createDMTimeline(recentPostsCache: {},
|
def createDMTimeline(recentPostsCache: {},
|
||||||
|
@ -2506,7 +2508,7 @@ def createDMTimeline(recentPostsCache: {},
|
||||||
return createBoxIndexed(recentPostsCache,
|
return createBoxIndexed(recentPostsCache,
|
||||||
session, baseDir, 'dm', nickname,
|
session, baseDir, 'dm', nickname,
|
||||||
domain, port, httpPrefix, itemsPerPage,
|
domain, port, httpPrefix, itemsPerPage,
|
||||||
headerOnly, True, pageNumber)
|
headerOnly, True, 0, False, pageNumber)
|
||||||
|
|
||||||
|
|
||||||
def createRepliesTimeline(recentPostsCache: {},
|
def createRepliesTimeline(recentPostsCache: {},
|
||||||
|
@ -2516,7 +2518,7 @@ def createRepliesTimeline(recentPostsCache: {},
|
||||||
return createBoxIndexed(recentPostsCache, session, baseDir, 'tlreplies',
|
return createBoxIndexed(recentPostsCache, session, baseDir, 'tlreplies',
|
||||||
nickname, domain, port, httpPrefix,
|
nickname, domain, port, httpPrefix,
|
||||||
itemsPerPage, headerOnly, True,
|
itemsPerPage, headerOnly, True,
|
||||||
pageNumber)
|
0, False, pageNumber)
|
||||||
|
|
||||||
|
|
||||||
def createBlogsTimeline(session, baseDir: str, nickname: str, domain: str,
|
def createBlogsTimeline(session, baseDir: str, nickname: str, domain: str,
|
||||||
|
@ -2525,7 +2527,7 @@ def createBlogsTimeline(session, baseDir: str, nickname: str, domain: str,
|
||||||
return createBoxIndexed({}, session, baseDir, 'tlblogs', nickname,
|
return createBoxIndexed({}, session, baseDir, 'tlblogs', nickname,
|
||||||
domain, port, httpPrefix,
|
domain, port, httpPrefix,
|
||||||
itemsPerPage, headerOnly, True,
|
itemsPerPage, headerOnly, True,
|
||||||
pageNumber)
|
0, False, pageNumber)
|
||||||
|
|
||||||
|
|
||||||
def createMediaTimeline(session, baseDir: str, nickname: str, domain: str,
|
def createMediaTimeline(session, baseDir: str, nickname: str, domain: str,
|
||||||
|
@ -2534,15 +2536,17 @@ def createMediaTimeline(session, baseDir: str, nickname: str, domain: str,
|
||||||
return createBoxIndexed({}, session, baseDir, 'tlmedia', nickname,
|
return createBoxIndexed({}, session, baseDir, 'tlmedia', nickname,
|
||||||
domain, port, httpPrefix,
|
domain, port, httpPrefix,
|
||||||
itemsPerPage, headerOnly, True,
|
itemsPerPage, headerOnly, True,
|
||||||
pageNumber)
|
0, False, pageNumber)
|
||||||
|
|
||||||
|
|
||||||
def createNewsTimeline(session, baseDir: str, nickname: str, domain: str,
|
def createNewsTimeline(session, baseDir: str, nickname: str, domain: str,
|
||||||
port: int, httpPrefix: str, itemsPerPage: int,
|
port: int, httpPrefix: str, itemsPerPage: int,
|
||||||
headerOnly: bool, pageNumber=None) -> {}:
|
headerOnly: bool, newswireVotesThreshold: int,
|
||||||
|
positiveVoting: bool, pageNumber=None) -> {}:
|
||||||
return createBoxIndexed({}, session, baseDir, 'outbox', 'news',
|
return createBoxIndexed({}, session, baseDir, 'outbox', 'news',
|
||||||
domain, port, httpPrefix,
|
domain, port, httpPrefix,
|
||||||
itemsPerPage, headerOnly, True,
|
itemsPerPage, headerOnly, True,
|
||||||
|
newswireVotesThreshold, positiveVoting,
|
||||||
pageNumber)
|
pageNumber)
|
||||||
|
|
||||||
|
|
||||||
|
@ -2553,7 +2557,7 @@ def createOutbox(session, baseDir: str, nickname: str, domain: str,
|
||||||
return createBoxIndexed({}, session, baseDir, 'outbox',
|
return createBoxIndexed({}, session, baseDir, 'outbox',
|
||||||
nickname, domain, port, httpPrefix,
|
nickname, domain, port, httpPrefix,
|
||||||
itemsPerPage, headerOnly, authorized,
|
itemsPerPage, headerOnly, authorized,
|
||||||
pageNumber)
|
0, False, pageNumber)
|
||||||
|
|
||||||
|
|
||||||
def createModeration(baseDir: str, nickname: str, domain: str, port: int,
|
def createModeration(baseDir: str, nickname: str, domain: str, port: int,
|
||||||
|
@ -2846,6 +2850,7 @@ def createBoxIndexed(recentPostsCache: {},
|
||||||
session, baseDir: str, boxname: str,
|
session, baseDir: str, boxname: str,
|
||||||
nickname: str, domain: str, port: int, httpPrefix: str,
|
nickname: str, domain: str, port: int, httpPrefix: str,
|
||||||
itemsPerPage: int, headerOnly: bool, authorized: bool,
|
itemsPerPage: int, headerOnly: bool, authorized: bool,
|
||||||
|
newswireVotesThreshold: int, positiveVoting: bool,
|
||||||
pageNumber=None) -> {}:
|
pageNumber=None) -> {}:
|
||||||
"""Constructs the box feed for a person with the given nickname
|
"""Constructs the box feed for a person with the given nickname
|
||||||
"""
|
"""
|
||||||
|
@ -2915,6 +2920,30 @@ def createBoxIndexed(recentPostsCache: {},
|
||||||
if not postFilename:
|
if not postFilename:
|
||||||
break
|
break
|
||||||
|
|
||||||
|
# apply votes within this timeline
|
||||||
|
if newswireVotesThreshold > 0:
|
||||||
|
# if there a votes file for this post?
|
||||||
|
votesFilename = \
|
||||||
|
locateNewsVotes(baseDir, domain, postFilename)
|
||||||
|
if votesFilename:
|
||||||
|
# load the votes file and count the votes
|
||||||
|
votesJson = loadJson(votesFilename, 0, 2)
|
||||||
|
if votesJson:
|
||||||
|
if not positiveVoting:
|
||||||
|
if votesOnNewswireItem >= \
|
||||||
|
newswireVotesThreshold:
|
||||||
|
# Too many veto votes.
|
||||||
|
# Continue without incrementing the
|
||||||
|
# posts counter
|
||||||
|
continue
|
||||||
|
else:
|
||||||
|
if votesOnNewswireItem < \
|
||||||
|
newswireVotesThreshold:
|
||||||
|
# Not enough votes.
|
||||||
|
# Continue without incrementing the
|
||||||
|
# posts counter
|
||||||
|
continue
|
||||||
|
|
||||||
# Skip through any posts previous to the current page
|
# Skip through any posts previous to the current page
|
||||||
if postsCtr < int((pageNumber - 1) * itemsPerPage):
|
if postsCtr < int((pageNumber - 1) * itemsPerPage):
|
||||||
postsCtr += 1
|
postsCtr += 1
|
||||||
|
|
35
utils.py
35
utils.py
|
@ -500,6 +500,39 @@ def followPerson(baseDir: str, nickname: str, domain: str,
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
def votesOnNewswireItem(status: []) -> int:
|
||||||
|
"""Returns the number of votes on a newswire item
|
||||||
|
"""
|
||||||
|
totalVotes = 0
|
||||||
|
for line in status:
|
||||||
|
if 'vote:' in line:
|
||||||
|
totalVotes += 1
|
||||||
|
return totalVotes
|
||||||
|
|
||||||
|
|
||||||
|
def locateNewsVotes(baseDir: str, domain: str,
|
||||||
|
postUrl: str) -> str:
|
||||||
|
"""Returns the votes filename for a news post
|
||||||
|
within the news user account
|
||||||
|
"""
|
||||||
|
postUrl = \
|
||||||
|
postUrl.strip().replace('\n', '').replace('\r', '')
|
||||||
|
|
||||||
|
# if this post in the shared inbox?
|
||||||
|
postUrl = removeIdEnding(postUrl.strip()).replace('/', '#')
|
||||||
|
|
||||||
|
if postUrl.endswith('.json'):
|
||||||
|
postUrl = postUrl + '.votes'
|
||||||
|
else:
|
||||||
|
postUrl = postUrl + '.json.votes'
|
||||||
|
|
||||||
|
accountDir = baseDir + '/accounts/news' + '@' + domain + '/'
|
||||||
|
postFilename = accountDir + 'outbox/' + postUrl
|
||||||
|
if os.path.isfile(postFilename):
|
||||||
|
return postFilename
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
def locatePost(baseDir: str, nickname: str, domain: str,
|
def locatePost(baseDir: str, nickname: str, domain: str,
|
||||||
postUrl: str, replies=False) -> str:
|
postUrl: str, replies=False) -> str:
|
||||||
"""Returns the filename for the given status post url
|
"""Returns the filename for the given status post url
|
||||||
|
@ -525,7 +558,7 @@ def locatePost(baseDir: str, nickname: str, domain: str,
|
||||||
|
|
||||||
# check news posts
|
# check news posts
|
||||||
accountDir = baseDir + '/accounts/news' + '@' + domain + '/'
|
accountDir = baseDir + '/accounts/news' + '@' + domain + '/'
|
||||||
postFilename = accountDir + boxName + '/' + postUrl
|
postFilename = accountDir + 'outbox/' + postUrl
|
||||||
if os.path.isfile(postFilename):
|
if os.path.isfile(postFilename):
|
||||||
return postFilename
|
return postFilename
|
||||||
|
|
||||||
|
|
|
@ -43,6 +43,7 @@ from utils import getCachedPostDirectory
|
||||||
from utils import getCachedPostFilename
|
from utils import getCachedPostFilename
|
||||||
from utils import loadJson
|
from utils import loadJson
|
||||||
from utils import getConfigParam
|
from utils import getConfigParam
|
||||||
|
from utils import votesOnNewswireItem
|
||||||
from follow import isFollowingActor
|
from follow import isFollowingActor
|
||||||
from webfinger import webfingerHandle
|
from webfinger import webfingerHandle
|
||||||
from posts import isDM
|
from posts import isDM
|
||||||
|
@ -2861,7 +2862,7 @@ def htmlProfilePosts(recentPostsCache: {}, maxRecentPosts: int,
|
||||||
str(currPage),
|
str(currPage),
|
||||||
httpPrefix,
|
httpPrefix,
|
||||||
10, 'outbox',
|
10, 'outbox',
|
||||||
authorized)
|
authorized, 0, False)
|
||||||
if not outboxFeed:
|
if not outboxFeed:
|
||||||
break
|
break
|
||||||
if len(outboxFeed['orderedItems']) == 0:
|
if len(outboxFeed['orderedItems']) == 0:
|
||||||
|
@ -5367,16 +5368,6 @@ def getLeftColumnContent(baseDir: str, nickname: str, domainFull: str,
|
||||||
return htmlStr
|
return htmlStr
|
||||||
|
|
||||||
|
|
||||||
def votesOnNewswireItem(status: []) -> int:
|
|
||||||
"""Returns the number of votes on a newswire item
|
|
||||||
"""
|
|
||||||
totalVotes = 0
|
|
||||||
for line in status:
|
|
||||||
if 'vote:' in line:
|
|
||||||
totalVotes += 1
|
|
||||||
return totalVotes
|
|
||||||
|
|
||||||
|
|
||||||
def votesIndicator(totalVotes: int, positiveVoting: bool) -> str:
|
def votesIndicator(totalVotes: int, positiveVoting: bool) -> str:
|
||||||
"""Returns an indicator of the number of votes on a newswire item
|
"""Returns an indicator of the number of votes on a newswire item
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue