forked from indymedia/epicyon
Get news timeline from news account outbox
parent
3928340dc9
commit
92c210175c
84
daemon.py
84
daemon.py
|
@ -120,7 +120,6 @@ from webinterface import htmlInboxDMs
|
||||||
from webinterface import htmlInboxReplies
|
from webinterface import htmlInboxReplies
|
||||||
from webinterface import htmlInboxMedia
|
from webinterface import htmlInboxMedia
|
||||||
from webinterface import htmlInboxBlogs
|
from webinterface import htmlInboxBlogs
|
||||||
from webinterface import htmlInboxNews
|
|
||||||
from webinterface import htmlUnblockConfirm
|
from webinterface import htmlUnblockConfirm
|
||||||
from webinterface import htmlPersonOptions
|
from webinterface import htmlPersonOptions
|
||||||
from webinterface import htmlIndividualPost
|
from webinterface import htmlIndividualPost
|
||||||
|
@ -220,6 +219,8 @@ maxPostsInMediaFeed = 6
|
||||||
# Blogs can be longer, so don't show many per page
|
# Blogs can be longer, so don't show many per page
|
||||||
maxPostsInBlogsFeed = 4
|
maxPostsInBlogsFeed = 4
|
||||||
|
|
||||||
|
maxPostsInNewsFeed = 10
|
||||||
|
|
||||||
# Maximum number of entries in returned rss.xml
|
# Maximum number of entries in returned rss.xml
|
||||||
maxPostsInRSSFeed = 10
|
maxPostsInRSSFeed = 10
|
||||||
|
|
||||||
|
@ -6498,9 +6499,24 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
"""
|
"""
|
||||||
if '/users/' in path:
|
if '/users/' in path:
|
||||||
if authorized:
|
if authorized:
|
||||||
|
currNickname = path.split('/users/')[1]
|
||||||
|
if '/' in currNickname:
|
||||||
|
currNickname = currNickname.split('/')[0]
|
||||||
|
newsPath = path.replace('/' + currNickname + '/', '/news/')
|
||||||
|
inboxNewsFeed = \
|
||||||
|
personBoxJson(self.server.recentPostsCache,
|
||||||
|
self.server.session,
|
||||||
|
baseDir,
|
||||||
|
domain,
|
||||||
|
port,
|
||||||
|
newsPath,
|
||||||
|
httpPrefix,
|
||||||
|
maxPostsInNewsFeed, 'outbox',
|
||||||
|
True)
|
||||||
|
if not inboxNewsFeed:
|
||||||
|
inboxNewsFeed = []
|
||||||
if self._requestHTTP():
|
if self._requestHTTP():
|
||||||
nickname = path.replace('/users/', '')
|
nickname = 'news'
|
||||||
nickname = nickname.replace('/tlnews', '')
|
|
||||||
pageNumber = 1
|
pageNumber = 1
|
||||||
if '?page=' in nickname:
|
if '?page=' in nickname:
|
||||||
pageNumber = nickname.split('?page=')[1]
|
pageNumber = nickname.split('?page=')[1]
|
||||||
|
@ -6509,25 +6525,38 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
pageNumber = int(pageNumber)
|
pageNumber = int(pageNumber)
|
||||||
else:
|
else:
|
||||||
pageNumber = 1
|
pageNumber = 1
|
||||||
|
if 'page=' not in path:
|
||||||
|
# if no page was specified then show the first
|
||||||
|
inboxNewsFeed = \
|
||||||
|
personBoxJson(self.server.recentPostsCache,
|
||||||
|
self.server.session,
|
||||||
|
baseDir,
|
||||||
|
domain,
|
||||||
|
port,
|
||||||
|
newsPath + '?page=1',
|
||||||
|
httpPrefix,
|
||||||
|
maxPostsInBlogsFeed, 'outbox',
|
||||||
|
True)
|
||||||
msg = \
|
msg = \
|
||||||
htmlInboxNews(self.server.defaultTimeline,
|
htmlInboxBlogs(self.server.defaultTimeline,
|
||||||
self.server.recentPostsCache,
|
self.server.recentPostsCache,
|
||||||
self.server.maxRecentPosts,
|
self.server.maxRecentPosts,
|
||||||
self.server.translate,
|
self.server.translate,
|
||||||
pageNumber, maxPostsInBlogsFeed,
|
pageNumber, maxPostsInNewsFeed,
|
||||||
self.server.session,
|
self.server.session,
|
||||||
baseDir,
|
baseDir,
|
||||||
self.server.cachedWebfingers,
|
self.server.cachedWebfingers,
|
||||||
self.server.personCache,
|
self.server.personCache,
|
||||||
nickname,
|
nickname,
|
||||||
domain,
|
domain,
|
||||||
port,
|
port,
|
||||||
self.server.allowDeletion,
|
inboxNewsFeed,
|
||||||
httpPrefix,
|
self.server.allowDeletion,
|
||||||
self.server.projectVersion,
|
httpPrefix,
|
||||||
self._isMinimal(nickname),
|
self.server.projectVersion,
|
||||||
self.server.YTReplacementDomain,
|
self._isMinimal(nickname),
|
||||||
self.server.newswire)
|
self.server.YTReplacementDomain,
|
||||||
|
self.server.newswire)
|
||||||
msg = msg.encode('utf-8')
|
msg = msg.encode('utf-8')
|
||||||
self._set_headers('text/html', len(msg),
|
self._set_headers('text/html', len(msg),
|
||||||
cookie, callingDomain)
|
cookie, callingDomain)
|
||||||
|
@ -6535,12 +6564,21 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self._benchmarkGETtimings(GETstartTime, GETtimings,
|
self._benchmarkGETtimings(GETstartTime, GETtimings,
|
||||||
'show blogs 2 done',
|
'show blogs 2 done',
|
||||||
'show news 2')
|
'show news 2')
|
||||||
|
else:
|
||||||
|
# don't need authenticated fetch here because there is
|
||||||
|
# already the authorization check
|
||||||
|
msg = json.dumps(inboxNewsFeed,
|
||||||
|
ensure_ascii=False)
|
||||||
|
msg = msg.encode('utf-8')
|
||||||
|
self._set_headers('application/json',
|
||||||
|
len(msg),
|
||||||
|
None, callingDomain)
|
||||||
|
self._write(msg)
|
||||||
self.server.GETbusy = False
|
self.server.GETbusy = False
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
if debug:
|
if debug:
|
||||||
nickname = path.replace('/users/', '')
|
nickname = 'news'
|
||||||
nickname = nickname.replace('/tlnews', '')
|
|
||||||
print('DEBUG: ' + nickname +
|
print('DEBUG: ' + nickname +
|
||||||
' was not authorized to access ' + path)
|
' was not authorized to access ' + path)
|
||||||
if path != '/tlnews':
|
if path != '/tlnews':
|
||||||
|
|
|
@ -6340,25 +6340,6 @@ def htmlInboxBlogs(defaultTimeline: str,
|
||||||
minimal, YTReplacementDomain, newswire)
|
minimal, YTReplacementDomain, newswire)
|
||||||
|
|
||||||
|
|
||||||
def htmlInboxNews(defaultTimeline: str,
|
|
||||||
recentPostsCache: {}, maxRecentPosts: int,
|
|
||||||
translate: {}, pageNumber: int, itemsPerPage: int,
|
|
||||||
session, baseDir: str, wfRequest: {}, personCache: {},
|
|
||||||
nickname: str, domain: str, port: int,
|
|
||||||
allowDeletion: bool,
|
|
||||||
httpPrefix: str, projectVersion: str,
|
|
||||||
minimal: bool, YTReplacementDomain: str,
|
|
||||||
newswire: {}) -> str:
|
|
||||||
"""Show the news timeline as html
|
|
||||||
"""
|
|
||||||
return htmlTimeline(defaultTimeline, recentPostsCache, maxRecentPosts,
|
|
||||||
translate, pageNumber,
|
|
||||||
itemsPerPage, session, baseDir, wfRequest, personCache,
|
|
||||||
nickname, domain, port, {}, 'tlnews',
|
|
||||||
allowDeletion, httpPrefix, projectVersion, False,
|
|
||||||
minimal, YTReplacementDomain, newswire)
|
|
||||||
|
|
||||||
|
|
||||||
def htmlModeration(defaultTimeline: str,
|
def htmlModeration(defaultTimeline: str,
|
||||||
recentPostsCache: {}, maxRecentPosts: int,
|
recentPostsCache: {}, maxRecentPosts: int,
|
||||||
translate: {}, pageNumber: int, itemsPerPage: int,
|
translate: {}, pageNumber: int, itemsPerPage: int,
|
||||||
|
|
Loading…
Reference in New Issue