mirror of https://gitlab.com/bashrc2/epicyon
parent
1515ef0bc9
commit
5d38503baa
280
daemon.py
280
daemon.py
|
@ -81,7 +81,6 @@ from posts import createBlogPost
|
|||
from posts import createReportPost
|
||||
from posts import createUnlistedPost
|
||||
from posts import createFollowersOnlyPost
|
||||
from posts import createEventPost
|
||||
from posts import createDirectMessagePost
|
||||
from posts import populateRepliesJson
|
||||
from posts import addToField
|
||||
|
@ -160,7 +159,6 @@ from webapp_person_options import htmlPersonOptions
|
|||
from webapp_timeline import htmlShares
|
||||
from webapp_timeline import htmlInbox
|
||||
from webapp_timeline import htmlBookmarks
|
||||
from webapp_timeline import htmlEvents
|
||||
from webapp_timeline import htmlInboxDMs
|
||||
from webapp_timeline import htmlInboxReplies
|
||||
from webapp_timeline import htmlInboxMedia
|
||||
|
@ -9043,138 +9041,6 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
self.server.GETbusy = False
|
||||
return True
|
||||
|
||||
def _showEventsTimeline(self, authorized: bool,
|
||||
callingDomain: str, path: str,
|
||||
baseDir: str, httpPrefix: str,
|
||||
domain: str, domainFull: str, port: int,
|
||||
onionDomain: str, i2pDomain: str,
|
||||
GETstartTime, GETtimings: {},
|
||||
proxyType: str, cookie: str,
|
||||
debug: str) -> bool:
|
||||
"""Shows the events timeline
|
||||
"""
|
||||
if '/users/' in path:
|
||||
if authorized:
|
||||
# convert /events to /tlevents
|
||||
if path.endswith('/events') or \
|
||||
'/events?page=' in path:
|
||||
path = path.replace('/events', '/tlevents')
|
||||
eventsFeed = \
|
||||
personBoxJson(self.server.recentPostsCache,
|
||||
self.server.session,
|
||||
baseDir,
|
||||
domain,
|
||||
port,
|
||||
path,
|
||||
httpPrefix,
|
||||
maxPostsInFeed, 'tlevents',
|
||||
authorized,
|
||||
0, self.server.positiveVoting,
|
||||
self.server.votingTimeMins)
|
||||
print('eventsFeed: ' + str(eventsFeed))
|
||||
if eventsFeed:
|
||||
if self._requestHTTP():
|
||||
nickname = path.replace('/users/', '')
|
||||
nickname = nickname.replace('/tlevents', '')
|
||||
pageNumber = 1
|
||||
if '?page=' in nickname:
|
||||
pageNumber = nickname.split('?page=')[1]
|
||||
nickname = nickname.split('?page=')[0]
|
||||
if pageNumber.isdigit():
|
||||
pageNumber = int(pageNumber)
|
||||
else:
|
||||
pageNumber = 1
|
||||
if 'page=' not in path:
|
||||
# if no page was specified then show the first
|
||||
eventsFeed = \
|
||||
personBoxJson(self.server.recentPostsCache,
|
||||
self.server.session,
|
||||
baseDir,
|
||||
domain,
|
||||
port,
|
||||
path + '?page=1',
|
||||
httpPrefix,
|
||||
maxPostsInFeed,
|
||||
'tlevents',
|
||||
authorized,
|
||||
0, self.server.positiveVoting,
|
||||
self.server.votingTimeMins)
|
||||
fullWidthTimelineButtonHeader = \
|
||||
self.server.fullWidthTimelineButtonHeader
|
||||
minimalNick = isMinimal(baseDir, domain, nickname)
|
||||
|
||||
accessKeys = self.server.accessKeys
|
||||
if self.server.keyShortcuts.get(nickname):
|
||||
accessKeys = \
|
||||
self.server.keyShortcuts[nickname]
|
||||
|
||||
msg = \
|
||||
htmlEvents(self.server.cssCache,
|
||||
self.server.defaultTimeline,
|
||||
self.server.recentPostsCache,
|
||||
self.server.maxRecentPosts,
|
||||
self.server.translate,
|
||||
pageNumber, maxPostsInFeed,
|
||||
self.server.session,
|
||||
baseDir,
|
||||
self.server.cachedWebfingers,
|
||||
self.server.personCache,
|
||||
nickname,
|
||||
domain,
|
||||
port,
|
||||
eventsFeed,
|
||||
self.server.allowDeletion,
|
||||
httpPrefix,
|
||||
self.server.projectVersion,
|
||||
minimalNick,
|
||||
self.server.YTReplacementDomain,
|
||||
self.server.showPublishedDateOnly,
|
||||
self.server.newswire,
|
||||
self.server.positiveVoting,
|
||||
self.server.showPublishAsIcon,
|
||||
fullWidthTimelineButtonHeader,
|
||||
self.server.iconsAsButtons,
|
||||
self.server.rssIconAtTop,
|
||||
self.server.publishButtonAtTop,
|
||||
authorized,
|
||||
self.server.themeName,
|
||||
self.server.peertubeInstances,
|
||||
self.server.allowLocalNetworkAccess,
|
||||
self.server.textModeBanner,
|
||||
accessKeys)
|
||||
msg = msg.encode('utf-8')
|
||||
msglen = len(msg)
|
||||
self._set_headers('text/html', msglen,
|
||||
cookie, callingDomain)
|
||||
self._write(msg)
|
||||
self._benchmarkGETtimings(GETstartTime, GETtimings,
|
||||
'show bookmarks 2 done',
|
||||
'show events')
|
||||
else:
|
||||
# don't need authenticated fetch here because
|
||||
# there is already the authorization check
|
||||
msg = json.dumps(eventsFeed,
|
||||
ensure_ascii=False)
|
||||
msg = msg.encode('utf-8')
|
||||
msglen = len(msg)
|
||||
self._set_headers('application/json', msglen,
|
||||
None, callingDomain)
|
||||
self._write(msg)
|
||||
self.server.GETbusy = False
|
||||
return True
|
||||
else:
|
||||
if debug:
|
||||
nickname = path.replace('/users/', '')
|
||||
nickname = nickname.replace('/tlevents', '')
|
||||
print('DEBUG: ' + nickname +
|
||||
' was not authorized to access ' + path)
|
||||
if debug:
|
||||
print('DEBUG: GET access to events is unauthorized')
|
||||
self.send_response(405)
|
||||
self.end_headers()
|
||||
self.server.GETbusy = False
|
||||
return True
|
||||
|
||||
def _showOutboxTimeline(self, authorized: bool,
|
||||
callingDomain: str, path: str,
|
||||
baseDir: str, httpPrefix: str,
|
||||
|
@ -10385,7 +10251,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
# Various types of new post in the web interface
|
||||
newPostEnd = ('newpost', 'newblog', 'newunlisted',
|
||||
'newfollowers', 'newdm', 'newreminder',
|
||||
'newevent', 'newreport', 'newquestion',
|
||||
'newreport', 'newquestion',
|
||||
'newshare')
|
||||
for postType in newPostEnd:
|
||||
if path.endswith('/' + postType):
|
||||
|
@ -10578,44 +10444,6 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
return True
|
||||
return False
|
||||
|
||||
def _editEvent(self, callingDomain: str, path: str,
|
||||
httpPrefix: str, domain: str, domainFull: str,
|
||||
baseDir: str, translate: {},
|
||||
mediaInstance: bool,
|
||||
cookie: str) -> bool:
|
||||
"""Show edit event screen
|
||||
"""
|
||||
messageId = path.split('?editeventpost=')[1]
|
||||
if '?' in messageId:
|
||||
messageId = messageId.split('?')[0]
|
||||
actor = path.split('?actor=')[1]
|
||||
if '?' in actor:
|
||||
actor = actor.split('?')[0]
|
||||
nickname = getNicknameFromActor(path)
|
||||
if nickname == actor:
|
||||
# postUrl = \
|
||||
# httpPrefix + '://' + \
|
||||
# domainFull + '/users/' + nickname + \
|
||||
# '/statuses/' + messageId
|
||||
msg = None
|
||||
# TODO
|
||||
# htmlEditEvent(mediaInstance,
|
||||
# translate,
|
||||
# baseDir,
|
||||
# httpPrefix,
|
||||
# path,
|
||||
# nickname, domain,
|
||||
# postUrl)
|
||||
if msg:
|
||||
msg = msg.encode('utf-8')
|
||||
msglen = len(msg)
|
||||
self._set_headers('text/html', msglen,
|
||||
cookie, callingDomain)
|
||||
self._write(msg)
|
||||
self.server.GETbusy = False
|
||||
return True
|
||||
return False
|
||||
|
||||
def _getFollowingJson(self, baseDir: str, path: str,
|
||||
callingDomain: str,
|
||||
httpPrefix: str,
|
||||
|
@ -12498,21 +12326,6 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
self.server.GETbusy = False
|
||||
return
|
||||
|
||||
# Edit an event
|
||||
if authorized and \
|
||||
'/tlevents' in self.path and \
|
||||
'?editeventpost=' in self.path and \
|
||||
'?actor=' in self.path:
|
||||
if self._editEvent(callingDomain, self.path,
|
||||
self.server.httpPrefix,
|
||||
self.server.domain,
|
||||
self.server.domainFull,
|
||||
self.server.baseDir,
|
||||
self.server.translate,
|
||||
self.server.mediaInstance,
|
||||
cookie):
|
||||
return
|
||||
|
||||
# edit profile in web interface
|
||||
if self._editProfile(callingDomain, self.path,
|
||||
self.server.translate,
|
||||
|
@ -12931,29 +12744,6 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
'show shares 2 done',
|
||||
'show bookmarks 2 done')
|
||||
|
||||
# get the events for a given person
|
||||
if self.path.endswith('/tlevents') or \
|
||||
'/tlevents?page=' in self.path or \
|
||||
self.path.endswith('/events') or \
|
||||
'/events?page=' in self.path:
|
||||
if self._showEventsTimeline(authorized,
|
||||
callingDomain, self.path,
|
||||
self.server.baseDir,
|
||||
self.server.httpPrefix,
|
||||
self.server.domain,
|
||||
self.server.domainFull,
|
||||
self.server.port,
|
||||
self.server.onionDomain,
|
||||
self.server.i2pDomain,
|
||||
GETstartTime, GETtimings,
|
||||
self.server.proxyType,
|
||||
cookie, self.server.debug):
|
||||
return
|
||||
|
||||
self._benchmarkGETtimings(GETstartTime, GETtimings,
|
||||
'show bookmarks 2 done',
|
||||
'show events done')
|
||||
|
||||
# outbox timeline
|
||||
if self._showOutboxTimeline(authorized,
|
||||
callingDomain, self.path,
|
||||
|
@ -13333,11 +13123,6 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
else:
|
||||
commentsEnabled = True
|
||||
|
||||
if not fields.get('privateEvent'):
|
||||
privateEvent = False
|
||||
else:
|
||||
privateEvent = True
|
||||
|
||||
if postType == 'newpost':
|
||||
if not fields.get('pinToProfile'):
|
||||
pinToProfile = False
|
||||
|
@ -13621,64 +13406,6 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
return 1
|
||||
else:
|
||||
return -1
|
||||
elif postType == 'newevent':
|
||||
# A Mobilizon-type event is posted
|
||||
|
||||
# if there is no image dscription then make it the same
|
||||
# as the event title
|
||||
if not fields.get('imageDescription'):
|
||||
fields['imageDescription'] = fields['subject']
|
||||
# Events are public by default, with opt-in
|
||||
# followers only status
|
||||
if not fields.get('followersOnlyEvent'):
|
||||
fields['followersOnlyEvent'] = False
|
||||
|
||||
if not fields.get('anonymousParticipationEnabled'):
|
||||
anonymousParticipationEnabled = False
|
||||
else:
|
||||
anonymousParticipationEnabled = True
|
||||
maximumAttendeeCapacity = 999999
|
||||
if fields.get('maximumAttendeeCapacity'):
|
||||
maximumAttendeeCapacity = \
|
||||
int(fields['maximumAttendeeCapacity'])
|
||||
|
||||
city = getSpoofedCity(self.server.city,
|
||||
self.server.baseDir,
|
||||
nickname,
|
||||
self.server.domain)
|
||||
messageJson = \
|
||||
createEventPost(self.server.baseDir,
|
||||
nickname,
|
||||
self.server.domain,
|
||||
self.server.port,
|
||||
self.server.httpPrefix,
|
||||
mentionsStr + fields['message'],
|
||||
privateEvent,
|
||||
False, False, commentsEnabled,
|
||||
filename, attachmentMediaType,
|
||||
fields['imageDescription'],
|
||||
city,
|
||||
fields['subject'],
|
||||
fields['schedulePost'],
|
||||
fields['eventDate'],
|
||||
fields['eventTime'],
|
||||
fields['location'],
|
||||
fields['category'],
|
||||
fields['joinMode'],
|
||||
fields['endDate'],
|
||||
fields['endTime'],
|
||||
maximumAttendeeCapacity,
|
||||
fields['repliesModerationOption'],
|
||||
anonymousParticipationEnabled,
|
||||
fields['eventStatus'],
|
||||
fields['ticketUrl'])
|
||||
if messageJson:
|
||||
if fields['schedulePost']:
|
||||
return 1
|
||||
if self._postToOutbox(messageJson, __version__, nickname):
|
||||
return 1
|
||||
else:
|
||||
return -1
|
||||
elif postType == 'newdm':
|
||||
messageJson = None
|
||||
print('A DM was posted')
|
||||
|
@ -14190,7 +13917,6 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
if not self.path.endswith('confirm'):
|
||||
self.path = self.path.replace('/outbox/', '/outbox')
|
||||
self.path = self.path.replace('/tlblogs/', '/tlblogs')
|
||||
self.path = self.path.replace('/tlevents/', '/tlevents')
|
||||
self.path = self.path.replace('/inbox/', '/inbox')
|
||||
self.path = self.path.replace('/shares/', '/shares')
|
||||
self.path = self.path.replace('/sharedInbox/', '/sharedInbox')
|
||||
|
@ -14528,7 +14254,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
# receive different types of post created by htmlNewPost
|
||||
postTypes = ("newpost", "newblog", "newunlisted", "newfollowers",
|
||||
"newdm", "newreport", "newshare", "newquestion",
|
||||
"editblogpost", "newreminder", "newevent")
|
||||
"editblogpost", "newreminder")
|
||||
for currPostType in postTypes:
|
||||
if not authorized:
|
||||
if self.server.debug:
|
||||
|
@ -14538,8 +14264,6 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
postRedirect = self.server.defaultTimeline
|
||||
if currPostType == 'newshare':
|
||||
postRedirect = 'shares'
|
||||
elif currPostType == 'newevent':
|
||||
postRedirect = 'tlevents'
|
||||
|
||||
pageNumber = \
|
||||
self._receiveNewPost(currPostType, self.path,
|
||||
|
|
5
inbox.py
5
inbox.py
|
@ -168,7 +168,7 @@ def _inboxStorePostToHtmlCache(recentPostsCache: {}, maxRecentPosts: int,
|
|||
"""
|
||||
pageNumber = -999
|
||||
avatarUrl = None
|
||||
if boxname != 'tlevents' and boxname != 'outbox':
|
||||
if boxname != 'outbox':
|
||||
boxname = 'inbox'
|
||||
|
||||
individualPostAsHtml(True, recentPostsCache, maxRecentPosts,
|
||||
|
@ -2504,9 +2504,6 @@ def _inboxAfterInitial(recentPostsCache: {}, maxRecentPosts: int,
|
|||
if isBlogPost(postJsonObject):
|
||||
# blogs index will be updated
|
||||
updateIndexList.append('tlblogs')
|
||||
elif isEventPost(postJsonObject):
|
||||
# events index will be updated
|
||||
updateIndexList.append('tlevents')
|
||||
|
||||
# get the avatar for a reply/announce
|
||||
_obtainAvatarForReplyPost(session, baseDir,
|
||||
|
|
|
@ -337,8 +337,6 @@ def postMessageToOutbox(session, translate: {},
|
|||
if messageJson['object'].get('type'):
|
||||
if messageJson['object']['type'] == 'Article':
|
||||
outboxName = 'tlblogs'
|
||||
elif messageJson['object']['type'] == 'Event':
|
||||
outboxName = 'tlevents'
|
||||
|
||||
savedFilename = \
|
||||
savePostToBox(baseDir,
|
||||
|
|
10
person.py
10
person.py
|
@ -28,7 +28,6 @@ from posts import createNewsTimeline
|
|||
from posts import createBlogsTimeline
|
||||
from posts import createFeaturesTimeline
|
||||
from posts import createBookmarksTimeline
|
||||
from posts import createEventsTimeline
|
||||
from posts import createInbox
|
||||
from posts import createOutbox
|
||||
from posts import createModeration
|
||||
|
@ -746,8 +745,7 @@ def personBoxJson(recentPostsCache: {},
|
|||
boxname != 'tlblogs' and boxname != 'tlnews' and \
|
||||
boxname != 'tlfeatures' and \
|
||||
boxname != 'outbox' and boxname != 'moderation' and \
|
||||
boxname != 'tlbookmarks' and boxname != 'bookmarks' and \
|
||||
boxname != 'tlevents':
|
||||
boxname != 'tlbookmarks' and boxname != 'bookmarks':
|
||||
return None
|
||||
|
||||
if not '/' + boxname in path:
|
||||
|
@ -796,12 +794,6 @@ def personBoxJson(recentPostsCache: {},
|
|||
port, httpPrefix,
|
||||
noOfItems, headerOnly,
|
||||
pageNumber)
|
||||
elif boxname == 'tlevents':
|
||||
return createEventsTimeline(recentPostsCache,
|
||||
session, baseDir, nickname, domain,
|
||||
port, httpPrefix,
|
||||
noOfItems, headerOnly,
|
||||
pageNumber)
|
||||
elif boxname == 'tlreplies':
|
||||
return createRepliesTimeline(recentPostsCache,
|
||||
session, baseDir, nickname, domain,
|
||||
|
|
72
posts.py
72
posts.py
|
@ -14,7 +14,6 @@ import os
|
|||
import shutil
|
||||
import sys
|
||||
import time
|
||||
import uuid
|
||||
import random
|
||||
from socket import error as SocketError
|
||||
from time import gmtime, strftime
|
||||
|
@ -657,8 +656,7 @@ def deleteAllPosts(baseDir: str,
|
|||
"""Deletes all posts for a person from inbox or outbox
|
||||
"""
|
||||
if boxname != 'inbox' and boxname != 'outbox' and \
|
||||
boxname != 'tlblogs' and boxname != 'tlnews' and \
|
||||
boxname != 'tlevents':
|
||||
boxname != 'tlblogs' and boxname != 'tlnews':
|
||||
return
|
||||
boxDir = createPersonDir(nickname, domain, baseDir, boxname)
|
||||
for deleteFilename in os.scandir(boxDir):
|
||||
|
@ -681,7 +679,6 @@ def savePostToBox(baseDir: str, httpPrefix: str, postId: str,
|
|||
"""
|
||||
if boxname != 'inbox' and boxname != 'outbox' and \
|
||||
boxname != 'tlblogs' and boxname != 'tlnews' and \
|
||||
boxname != 'tlevents' and \
|
||||
boxname != 'scheduled':
|
||||
return None
|
||||
originalDomain = domain
|
||||
|
@ -1244,9 +1241,6 @@ def _createPostBase(baseDir: str, nickname: str, domain: str, port: int,
|
|||
if isArticle:
|
||||
savePostToBox(baseDir, httpPrefix, newPostId,
|
||||
nickname, domain, newPost, 'tlblogs')
|
||||
elif eventUUID:
|
||||
savePostToBox(baseDir, httpPrefix, newPostId,
|
||||
nickname, domain, newPost, 'tlevents')
|
||||
else:
|
||||
savePostToBox(baseDir, httpPrefix, newPostId,
|
||||
nickname, domain, newPost, 'outbox')
|
||||
|
@ -1653,57 +1647,6 @@ def createFollowersOnlyPost(baseDir: str,
|
|||
None, None, None, None, None)
|
||||
|
||||
|
||||
def createEventPost(baseDir: str,
|
||||
nickname: str, domain: str, port: int,
|
||||
httpPrefix: str,
|
||||
content: str, followersOnly: bool,
|
||||
saveToFile: bool,
|
||||
clientToServer: bool, commentsEnabled: bool,
|
||||
attachImageFilename: str, mediaType: str,
|
||||
imageDescription: str, city: str,
|
||||
subject: str = None, schedulePost: str = False,
|
||||
eventDate: str = None, eventTime: str = None,
|
||||
location: str = None, category: str = None,
|
||||
joinMode: str = None,
|
||||
endDate: str = None, endTime: str = None,
|
||||
maximumAttendeeCapacity: int = None,
|
||||
repliesModerationOption: str = None,
|
||||
anonymousParticipationEnabled: bool = None,
|
||||
eventStatus: str = None, ticketUrl: str = None) -> {}:
|
||||
"""Mobilizon-type Event post
|
||||
"""
|
||||
if not attachImageFilename:
|
||||
print('Event has no attached image')
|
||||
return None
|
||||
if not category:
|
||||
print('Event has no category')
|
||||
return None
|
||||
domainFull = getFullDomain(domain, port)
|
||||
|
||||
# create event uuid
|
||||
eventUUID = str(uuid.uuid1())
|
||||
|
||||
toStr1 = 'https://www.w3.org/ns/activitystreams#Public'
|
||||
toStr2 = httpPrefix + '://' + domainFull + '/users/' + \
|
||||
nickname + '/followers',
|
||||
if followersOnly:
|
||||
toStr1 = toStr2
|
||||
toStr2 = None
|
||||
return _createPostBase(baseDir, nickname, domain, port,
|
||||
toStr1, toStr2,
|
||||
httpPrefix, content, followersOnly, saveToFile,
|
||||
clientToServer, commentsEnabled,
|
||||
attachImageFilename, mediaType,
|
||||
imageDescription, city,
|
||||
False, False, None, None, subject,
|
||||
schedulePost, eventDate, eventTime, location,
|
||||
eventUUID, category, joinMode,
|
||||
endDate, endTime, maximumAttendeeCapacity,
|
||||
repliesModerationOption,
|
||||
anonymousParticipationEnabled,
|
||||
eventStatus, ticketUrl)
|
||||
|
||||
|
||||
def getMentionedPeople(baseDir: str, httpPrefix: str,
|
||||
content: str, domain: str, debug: bool) -> []:
|
||||
"""Extracts a list of mentioned actors from the given message content
|
||||
|
@ -2835,16 +2778,6 @@ def createBookmarksTimeline(session, baseDir: str, nickname: str, domain: str,
|
|||
True, 0, False, 0, pageNumber)
|
||||
|
||||
|
||||
def createEventsTimeline(recentPostsCache: {},
|
||||
session, baseDir: str, nickname: str, domain: str,
|
||||
port: int, httpPrefix: str, itemsPerPage: int,
|
||||
headerOnly: bool, pageNumber: int = None) -> {}:
|
||||
return _createBoxIndexed(recentPostsCache, session, baseDir, 'tlevents',
|
||||
nickname, domain,
|
||||
port, httpPrefix, itemsPerPage, headerOnly,
|
||||
True, 0, False, 0, pageNumber)
|
||||
|
||||
|
||||
def createDMTimeline(recentPostsCache: {},
|
||||
session, baseDir: str, nickname: str, domain: str,
|
||||
port: int, httpPrefix: str, itemsPerPage: int,
|
||||
|
@ -3179,8 +3112,7 @@ def _createBoxIndexed(recentPostsCache: {},
|
|||
boxname != 'tlblogs' and boxname != 'tlnews' and \
|
||||
boxname != 'tlfeatures' and \
|
||||
boxname != 'outbox' and boxname != 'tlbookmarks' and \
|
||||
boxname != 'bookmarks' and \
|
||||
boxname != 'tlevents':
|
||||
boxname != 'bookmarks':
|
||||
return None
|
||||
|
||||
# bookmarks and events timelines are like the inbox
|
||||
|
|
4
utils.py
4
utils.py
|
@ -1139,7 +1139,7 @@ def locatePost(baseDir: str, nickname: str, domain: str,
|
|||
postUrl = postUrl + '.' + extension
|
||||
|
||||
# search boxes
|
||||
boxes = ('inbox', 'outbox', 'tlblogs', 'tlevents')
|
||||
boxes = ('inbox', 'outbox', 'tlblogs')
|
||||
accountDir = baseDir + '/accounts/' + nickname + '@' + domain + '/'
|
||||
for boxName in boxes:
|
||||
postFilename = accountDir + boxName + '/' + postUrl
|
||||
|
@ -1401,7 +1401,7 @@ def _isReservedName(nickname: str) -> bool:
|
|||
'public', 'followers', 'category',
|
||||
'channel', 'calendar',
|
||||
'tlreplies', 'tlmedia', 'tlblogs',
|
||||
'tlevents', 'tlblogs', 'tlfeatures',
|
||||
'tlblogs', 'tlfeatures',
|
||||
'moderation', 'moderationaction',
|
||||
'activity', 'undo', 'pinned',
|
||||
'reply', 'replies', 'question', 'like',
|
||||
|
|
|
@ -129,20 +129,6 @@ def _htmlTimelineNewPost(manuallyApproveFollowers: bool,
|
|||
'<a href="' + usersPath + '/newblog">' + \
|
||||
'<button class="button"><span>' + \
|
||||
translate['Post'] + '</span></button></a>'
|
||||
elif boxName == 'tlevents':
|
||||
if not iconsAsButtons:
|
||||
newPostButtonStr += \
|
||||
'<a class="imageAnchor" href="' + usersPath + \
|
||||
'/newevent?nodropdown"><img loading="lazy" src="/' + \
|
||||
'icons/newpost.png" title="' + \
|
||||
translate['Create a new event'] + '" alt="| ' + \
|
||||
translate['Create a new event'] + \
|
||||
'" class="timelineicon"/></a>\n'
|
||||
else:
|
||||
newPostButtonStr += \
|
||||
'<a href="' + usersPath + '/newevent?nodropdown">' + \
|
||||
'<button class="button"><span>' + \
|
||||
translate['Post'] + '</span></button></a>'
|
||||
elif boxName == 'tlshares':
|
||||
if not iconsAsButtons:
|
||||
newPostButtonStr += \
|
||||
|
@ -500,8 +486,6 @@ def htmlTimeline(cssCache: {}, defaultTimeline: str,
|
|||
sharesButton = 'buttonselectedhighlighted'
|
||||
elif boxName == 'tlbookmarks' or boxName == 'bookmarks':
|
||||
bookmarksButton = 'buttonselected'
|
||||
# elif boxName == 'tlevents':
|
||||
# eventsButton = 'buttonselected'
|
||||
|
||||
# get the full domain, including any port number
|
||||
fullDomain = getFullDomain(domain, port)
|
||||
|
@ -559,11 +543,6 @@ def htmlTimeline(cssCache: {}, defaultTimeline: str,
|
|||
'<a href="' + usersPath + '/tlbookmarks"><button class="' + \
|
||||
bookmarksButton + '"><span>' + translate['Bookmarks'] + \
|
||||
'</span></button></a>'
|
||||
#
|
||||
# eventsButtonStr = \
|
||||
# '<a href="' + usersPath + '/tlevents"><button class="' + \
|
||||
# eventsButton + '"><span>' + translate['Events'] + \
|
||||
# '</span></button></a>'
|
||||
|
||||
instanceTitle = \
|
||||
getConfigParam(baseDir, 'instanceTitle')
|
||||
|
@ -1054,51 +1033,6 @@ def htmlBookmarks(cssCache: {}, defaultTimeline: str,
|
|||
accessKeys)
|
||||
|
||||
|
||||
def htmlEvents(cssCache: {}, defaultTimeline: str,
|
||||
recentPostsCache: {}, maxRecentPosts: int,
|
||||
translate: {}, pageNumber: int, itemsPerPage: int,
|
||||
session, baseDir: str,
|
||||
cachedWebfingers: {}, personCache: {},
|
||||
nickname: str, domain: str, port: int, bookmarksJson: {},
|
||||
allowDeletion: bool,
|
||||
httpPrefix: str, projectVersion: str,
|
||||
minimal: bool, YTReplacementDomain: str,
|
||||
showPublishedDateOnly: bool,
|
||||
newswire: {}, positiveVoting: bool,
|
||||
showPublishAsIcon: bool,
|
||||
fullWidthTimelineButtonHeader: bool,
|
||||
iconsAsButtons: bool,
|
||||
rssIconAtTop: bool,
|
||||
publishButtonAtTop: bool,
|
||||
authorized: bool, theme: str,
|
||||
peertubeInstances: [],
|
||||
allowLocalNetworkAccess: bool,
|
||||
textModeBanner: str,
|
||||
accessKeys: {}) -> str:
|
||||
"""Show the events as html
|
||||
"""
|
||||
manuallyApproveFollowers = \
|
||||
followerApprovalActive(baseDir, nickname, domain)
|
||||
|
||||
return htmlTimeline(cssCache, defaultTimeline,
|
||||
recentPostsCache, maxRecentPosts,
|
||||
translate, pageNumber,
|
||||
itemsPerPage, session, baseDir,
|
||||
cachedWebfingers, personCache,
|
||||
nickname, domain, port, bookmarksJson,
|
||||
'tlevents', allowDeletion,
|
||||
httpPrefix, projectVersion, manuallyApproveFollowers,
|
||||
minimal, YTReplacementDomain,
|
||||
showPublishedDateOnly,
|
||||
newswire, False, False,
|
||||
positiveVoting, showPublishAsIcon,
|
||||
fullWidthTimelineButtonHeader,
|
||||
iconsAsButtons, rssIconAtTop, publishButtonAtTop,
|
||||
authorized, None, theme, peertubeInstances,
|
||||
allowLocalNetworkAccess, textModeBanner,
|
||||
accessKeys)
|
||||
|
||||
|
||||
def htmlInboxDMs(cssCache: {}, defaultTimeline: str,
|
||||
recentPostsCache: {}, maxRecentPosts: int,
|
||||
translate: {}, pageNumber: int, itemsPerPage: int,
|
||||
|
|
Loading…
Reference in New Issue