mirror of https://gitlab.com/bashrc2/epicyon
Merge branch 'main' of ssh://code.freedombone.net:2222/bashrc/epicyon into main
commit
ae02bc7738
|
|
@ -11472,7 +11472,8 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
if htmlGET and usersInPath:
|
if htmlGET and usersInPath:
|
||||||
if '/calendar' in self.path:
|
if '/calendar' in self.path:
|
||||||
# show the calendar screen
|
# show the calendar screen
|
||||||
msg = htmlCalendar(self.server.cssCache,
|
msg = htmlCalendar(self.server.personCache,
|
||||||
|
self.server.cssCache,
|
||||||
self.server.translate,
|
self.server.translate,
|
||||||
self.server.baseDir, self.path,
|
self.server.baseDir, self.path,
|
||||||
self.server.httpPrefix,
|
self.server.httpPrefix,
|
||||||
|
|
|
||||||
|
|
@ -233,6 +233,8 @@ def getTodaysEvents(baseDir: str, nickname: str, domain: str,
|
||||||
# link to the id so that the event can be
|
# link to the id so that the event can be
|
||||||
# easily deleted
|
# easily deleted
|
||||||
tag['postId'] = postId.split('#statuses#')[1]
|
tag['postId'] = postId.split('#statuses#')[1]
|
||||||
|
tag['sender'] = postId.split('#statuses#')[0]
|
||||||
|
tag['sender'] = tag['sender'].replace('#', '/')
|
||||||
postEvent.append(tag)
|
postEvent.append(tag)
|
||||||
else:
|
else:
|
||||||
# tag is a place
|
# tag is a place
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import os
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from datetime import date
|
from datetime import date
|
||||||
from shutil import copyfile
|
from shutil import copyfile
|
||||||
|
from utils import getDisplayName
|
||||||
from utils import getConfigParam
|
from utils import getConfigParam
|
||||||
from utils import getNicknameFromActor
|
from utils import getNicknameFromActor
|
||||||
from utils import getDomainFromActor
|
from utils import getDomainFromActor
|
||||||
|
|
@ -94,7 +95,7 @@ def htmlCalendarDeleteConfirm(cssCache: {}, translate: {}, baseDir: str,
|
||||||
return deletePostStr
|
return deletePostStr
|
||||||
|
|
||||||
|
|
||||||
def _htmlCalendarDay(cssCache: {}, translate: {},
|
def _htmlCalendarDay(personCache: {}, cssCache: {}, translate: {},
|
||||||
baseDir: str, path: str,
|
baseDir: str, path: str,
|
||||||
year: int, monthNumber: int, dayNumber: int,
|
year: int, monthNumber: int, dayNumber: int,
|
||||||
nickname: str, domain: str, dayEvents: [],
|
nickname: str, domain: str, dayEvents: [],
|
||||||
|
|
@ -134,6 +135,8 @@ def _htmlCalendarDay(cssCache: {}, translate: {},
|
||||||
eventDescription = None
|
eventDescription = None
|
||||||
eventPlace = None
|
eventPlace = None
|
||||||
postId = None
|
postId = None
|
||||||
|
senderName = ''
|
||||||
|
senderActor = None
|
||||||
# get the time place and description
|
# get the time place and description
|
||||||
for ev in eventPost:
|
for ev in eventPost:
|
||||||
if ev['type'] == 'Event':
|
if ev['type'] == 'Event':
|
||||||
|
|
@ -144,12 +147,35 @@ def _htmlCalendarDay(cssCache: {}, translate: {},
|
||||||
datetime.strptime(ev['startTime'],
|
datetime.strptime(ev['startTime'],
|
||||||
"%Y-%m-%dT%H:%M:%S%z")
|
"%Y-%m-%dT%H:%M:%S%z")
|
||||||
eventTime = eventDate.strftime("%H:%M").strip()
|
eventTime = eventDate.strftime("%H:%M").strip()
|
||||||
|
if ev.get('sender'):
|
||||||
|
# get display name from sending actor
|
||||||
|
if ev.get('sender'):
|
||||||
|
senderActor = ev['sender']
|
||||||
|
dispName = \
|
||||||
|
getDisplayName(baseDir, senderActor,
|
||||||
|
personCache)
|
||||||
|
if dispName:
|
||||||
|
senderName = \
|
||||||
|
'<a href="' + senderActor + '">' + \
|
||||||
|
dispName + '</a>: '
|
||||||
if ev.get('name'):
|
if ev.get('name'):
|
||||||
eventDescription = ev['name'].strip()
|
eventDescription = ev['name'].strip()
|
||||||
elif ev['type'] == 'Place':
|
elif ev['type'] == 'Place':
|
||||||
if ev.get('name'):
|
if ev.get('name'):
|
||||||
eventPlace = ev['name']
|
eventPlace = ev['name']
|
||||||
|
|
||||||
|
# prepend a link to the sender of the calendar item
|
||||||
|
if senderName and eventDescription:
|
||||||
|
# if the sender is also mentioned within the event
|
||||||
|
# description then this is a reminder
|
||||||
|
senderActor2 = senderActor.replace('/users/', '/@')
|
||||||
|
if senderActor not in eventDescription and \
|
||||||
|
senderActor2 not in eventDescription:
|
||||||
|
eventDescription = senderName + eventDescription
|
||||||
|
else:
|
||||||
|
eventDescription = \
|
||||||
|
translate['Reminder'] + ': ' + eventDescription
|
||||||
|
|
||||||
deleteButtonStr = ''
|
deleteButtonStr = ''
|
||||||
if postId:
|
if postId:
|
||||||
deleteButtonStr = \
|
deleteButtonStr = \
|
||||||
|
|
@ -200,7 +226,7 @@ def _htmlCalendarDay(cssCache: {}, translate: {},
|
||||||
return calendarStr
|
return calendarStr
|
||||||
|
|
||||||
|
|
||||||
def htmlCalendar(cssCache: {}, translate: {},
|
def htmlCalendar(personCache: {}, cssCache: {}, translate: {},
|
||||||
baseDir: str, path: str,
|
baseDir: str, path: str,
|
||||||
httpPrefix: str, domainFull: str,
|
httpPrefix: str, domainFull: str,
|
||||||
textModeBanner: str) -> str:
|
textModeBanner: str) -> str:
|
||||||
|
|
@ -259,7 +285,8 @@ def htmlCalendar(cssCache: {}, translate: {},
|
||||||
if events:
|
if events:
|
||||||
if events.get(str(dayNumber)):
|
if events.get(str(dayNumber)):
|
||||||
dayEvents = events[str(dayNumber)]
|
dayEvents = events[str(dayNumber)]
|
||||||
return _htmlCalendarDay(cssCache, translate, baseDir, path,
|
return _htmlCalendarDay(personCache, cssCache,
|
||||||
|
translate, baseDir, path,
|
||||||
year, monthNumber, dayNumber,
|
year, monthNumber, dayNumber,
|
||||||
nickname, domain, dayEvents,
|
nickname, domain, dayEvents,
|
||||||
monthName, actor)
|
monthName, actor)
|
||||||
|
|
|
||||||
|
|
@ -1757,7 +1757,7 @@ def htmlEditProfile(cssCache: {}, translate: {}, baseDir: str, path: str,
|
||||||
|
|
||||||
# danger zone section
|
# danger zone section
|
||||||
editProfileForm += ' <details><summary class="cw">' + \
|
editProfileForm += ' <details><summary class="cw">' + \
|
||||||
translate['Danger Zone'] + '</summary>\n'
|
translate['Danger Zone'] + '</summary>\n'
|
||||||
editProfileForm += ' <div class="container">\n'
|
editProfileForm += ' <div class="container">\n'
|
||||||
editProfileForm += ' <b><label class="labels">' + \
|
editProfileForm += ' <b><label class="labels">' + \
|
||||||
translate['Danger Zone'] + '</label></b><br>\n'
|
translate['Danger Zone'] + '</label></b><br>\n'
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue