diff --git a/webinterface.py b/webinterface.py index c5c3fe22a..21ada6774 100644 --- a/webinterface.py +++ b/webinterface.py @@ -2539,18 +2539,25 @@ def individualPostAsHtml(recentPostsCache: {},maxRecentPosts: int, \ galleryStr+='' @@ -3351,12 +3414,21 @@ def htmlDeletePost(recentPostsCache: {},maxRecentPosts: int, \ httpPrefix,projectVersion,'outbox', \ False,False,False,False,False) deletePostStr+='
' - deletePostStr+='

'+translate['Delete this post?']+'

' + deletePostStr+= \ + '

'+ \ + translate['Delete this post?']+'

' deletePostStr+='
' - deletePostStr+=' ' - deletePostStr+=' ' - deletePostStr+=' ' - deletePostStr+=' ' + deletePostStr+= \ + ' ' + deletePostStr+= \ + ' ' + deletePostStr+= \ + ' ' + deletePostStr+= \ + ' ' deletePostStr+='
' deletePostStr+='
' deletePostStr+=htmlFooter() @@ -3396,7 +3468,9 @@ def htmlCalendarDeleteConfirm(translate: {},baseDir: str, \ if httpPrefix!='https': profileStyle=profileStyle.replace('https://',httpPrefix+'://') deletePostStr=htmlHeader(cssFilename,profileStyle) - deletePostStr+='

'+postTime+' '+str(year)+'/'+str(monthNumber)+'/'+str(dayNumber)+'

' + deletePostStr+= \ + '

'+postTime+' '+str(year)+'/'+str(monthNumber)+ \ + '/'+str(dayNumber)+'

' deletePostStr+='
' deletePostStr+='

'+translate['Delete this event']+'

' deletePostStr+='
' @@ -3405,8 +3479,13 @@ def htmlCalendarDeleteConfirm(translate: {},baseDir: str, \ deletePostStr+=' ' deletePostStr+=' ' deletePostStr+=' ' - deletePostStr+=' ' - deletePostStr+=' ' + deletePostStr+= \ + ' ' + deletePostStr+= \ + ' ' deletePostStr+='
' deletePostStr+='
' deletePostStr+=htmlFooter() @@ -3422,7 +3501,8 @@ def htmlFollowConfirm(translate: {},baseDir: str, \ if os.path.isfile(baseDir+'/img/follow-background.png'): if not os.path.isfile(baseDir+'/accounts/follow-background.png'): - copyfile(baseDir+'/img/follow-background.png',baseDir+'/accounts/follow-background.png') + copyfile(baseDir+'/img/follow-background.png', \ + baseDir+'/accounts/follow-background.png') cssFilename=baseDir+'/epicyon-follow.css' if os.path.isfile(baseDir+'/follow.css'): @@ -3435,11 +3515,17 @@ def htmlFollowConfirm(translate: {},baseDir: str, \ followStr+='
' followStr+=' ' followStr+=' ' - followStr+='

'+translate['Follow']+' '+getNicknameFromActor(followActor)+'@'+followDomain+' ?

' + followStr+= \ + '

'+translate['Follow']+' '+ \ + getNicknameFromActor(followActor)+'@'+followDomain+' ?

' followStr+='
' followStr+=' ' - followStr+=' ' - followStr+=' ' + followStr+= \ + ' ' + followStr+= \ + ' ' followStr+='
' followStr+='
' followStr+='' @@ -3457,7 +3543,8 @@ def htmlUnfollowConfirm(translate: {},baseDir: str, \ if os.path.isfile(baseDir+'/img/follow-background.png'): if not os.path.isfile(baseDir+'/accounts/follow-background.png'): - copyfile(baseDir+'/img/follow-background.png',baseDir+'/accounts/follow-background.png') + copyfile(baseDir+'/img/follow-background.png', \ + baseDir+'/accounts/follow-background.png') cssFilename=baseDir+'/epicyon-follow.css' if os.path.isfile(baseDir+'/follow.css'): @@ -3470,11 +3557,17 @@ def htmlUnfollowConfirm(translate: {},baseDir: str, \ followStr+='
' followStr+=' ' followStr+=' ' - followStr+='

'+translate['Stop following']+' '+getNicknameFromActor(followActor)+'@'+followDomain+' ?

' + followStr+= \ + '

'+translate['Stop following']+ \ + ' '+getNicknameFromActor(followActor)+'@'+followDomain+' ?

' followStr+='
' followStr+=' ' - followStr+=' ' - followStr+=' ' + followStr+= \ + ' ' + followStr+= \ + ' ' followStr+='
' followStr+='
' followStr+='' @@ -3499,7 +3592,8 @@ def htmlPersonOptions(translate: {},baseDir: str, \ if os.path.isfile(baseDir+'/img/options-background.png'): if not os.path.isfile(baseDir+'/accounts/options-background.png'): - copyfile(baseDir+'/img/options-background.png',baseDir+'/accounts/options-background.png') + copyfile(baseDir+'/img/options-background.png', \ + baseDir+'/accounts/options-background.png') followStr='Follow' blockStr='Block' @@ -3540,7 +3634,8 @@ def htmlPersonOptions(translate: {},baseDir: str, \ donateStr='' if donateUrl: donateStr= \ - ' ' + ' ' optionsStr=htmlHeader(cssFilename,profileStyle) optionsStr+='
' @@ -3548,13 +3643,20 @@ def htmlPersonOptions(translate: {},baseDir: str, \ optionsStr+='
' optionsStr+=' ' optionsStr+=' ' - optionsStr+='

'+translate['Options for']+' @'+getNicknameFromActor(optionsActor)+'@'+optionsDomain+'

' + optionsStr+= \ + '

'+translate['Options for']+ \ + ' @'+getNicknameFromActor(optionsActor)+'@'+optionsDomain+'

' if emailAddress: - optionsStr+='

'+translate['Email']+': '+emailAddress+'

' + optionsStr+= \ + '

'+translate['Email']+': '+emailAddress+'

' if xmppAddress: - optionsStr+='

'+translate['XMPP']+': '+xmppAddress+'

' + optionsStr+= \ + '

'+translate['XMPP']+ \ + ': '+xmppAddress+'

' if matrixAddress: - optionsStr+='

'+translate['Matrix']+': '+matrixAddress+'

' + optionsStr+= \ + '

'+translate['Matrix']+': '+matrixAddress+'

' if PGPpubKey: optionsStr+='

'+PGPpubKey.replace('\n','
')+'

' optionsStr+='
' @@ -3562,13 +3664,25 @@ def htmlPersonOptions(translate: {},baseDir: str, \ optionsStr+=' ' optionsStr+=' ' optionsStr+=optionsLinkStr - optionsStr+=' ' + optionsStr+= \ + ' ' optionsStr+=donateStr - optionsStr+=' ' - optionsStr+=' ' - optionsStr+=' ' - optionsStr+=' ' - optionsStr+=' ' + optionsStr+= \ + ' ' + optionsStr+= \ + ' ' + optionsStr+= \ + ' ' + optionsStr+= \ + ' ' + optionsStr+= \ + ' ' optionsStr+='
' optionsStr+='
' optionsStr+='
' @@ -3618,7 +3732,8 @@ def htmlUnblockConfirm(translate: {},baseDir: str, \ if os.path.isfile(baseDir+'/img/block-background.png'): if not os.path.isfile(baseDir+'/accounts/block-background.png'): - copyfile(baseDir+'/img/block-background.png',baseDir+'/accounts/block-background.png') + copyfile(baseDir+'/img/block-background.png', \ + baseDir+'/accounts/block-background.png') cssFilename=baseDir+'/epicyon-follow.css' if os.path.isfile(baseDir+'/follow.css'): @@ -3631,11 +3746,17 @@ def htmlUnblockConfirm(translate: {},baseDir: str, \ blockStr+='
' blockStr+=' ' blockStr+=' ' - blockStr+='

'+translate['Stop blocking']+' '+getNicknameFromActor(blockActor)+'@'+blockDomain+' ?

' + blockStr+= \ + '

'+translate['Stop blocking']+' '+ \ + getNicknameFromActor(blockActor)+'@'+blockDomain+' ?

' blockStr+='
' blockStr+=' ' - blockStr+=' ' - blockStr+=' ' + blockStr+= \ + ' ' + blockStr+= \ + ' ' blockStr+='
' blockStr+='
' blockStr+='' @@ -3650,7 +3771,8 @@ def htmlSearchEmojiTextEntry(translate: {}, \ # emoji.json is generated so that it can be customized and the changes # will be retained even if default_emoji.json is subsequently updated if not os.path.isfile(baseDir+'/emoji/emoji.json'): - copyfile(baseDir+'/emoji/default_emoji.json',baseDir+'/emoji/emoji.json') + copyfile(baseDir+'/emoji/default_emoji.json', \ + baseDir+'/emoji/emoji.json') actor=path.replace('/search','') nickname=getNicknameFromActor(actor) @@ -3658,7 +3780,8 @@ def htmlSearchEmojiTextEntry(translate: {}, \ if os.path.isfile(baseDir+'/img/search-background.png'): if not os.path.isfile(baseDir+'/accounts/search-background.png'): - copyfile(baseDir+'/img/search-background.png',baseDir+'/accounts/search-background.png') + copyfile(baseDir+'/img/search-background.png', \ + baseDir+'/accounts/search-background.png') cssFilename=baseDir+'/epicyon-follow.css' if os.path.isfile(baseDir+'/follow.css'): @@ -3669,11 +3792,15 @@ def htmlSearchEmojiTextEntry(translate: {}, \ emojiStr+='
' emojiStr+='
' emojiStr+='
' - emojiStr+='

'+translate['Enter an emoji name to search for']+'

' + emojiStr+= \ + '

'+ \ + translate['Enter an emoji name to search for']+'

' emojiStr+='
' emojiStr+=' ' emojiStr+='
' - emojiStr+=' ' + emojiStr+= \ + ' ' emojiStr+='
' emojiStr+='
' emojiStr+='
' @@ -3710,8 +3837,12 @@ def htmlCalendarDay(translate: {}, \ calendarStr=htmlHeader(cssFilename,calendarStyle) calendarStr+='
\n' calendarStr+='\n' calendarStr+='\n' @@ -3729,7 +3860,9 @@ def htmlCalendarDay(translate: {}, \ if ev.get('postId'): postId=ev['postId'] if ev.get('startTime'): - eventDate=datetime.strptime(ev['startTime'],"%Y-%m-%dT%H:%M:%S%z") + eventDate= \ + datetime.strptime(ev['startTime'], \ + "%Y-%m-%dT%H:%M:%S%z") eventTime=eventDate.strftime("%H:%M").strip() if ev.get('name'): eventDescription=ev['name'].strip() @@ -3739,18 +3872,41 @@ def htmlCalendarDay(translate: {}, \ deleteButtonStr='' if postId: - deleteButtonStr='' + deleteButtonStr= \ + '' if eventTime and eventDescription and eventPlace: - calendarStr+=''+deleteButtonStr+'\n' + calendarStr+= \ + ''+deleteButtonStr+'\n' elif eventTime and eventDescription and not eventPlace: - calendarStr+=''+deleteButtonStr+'\n' + calendarStr+= \ + ''+deleteButtonStr+'\n' elif not eventTime and eventDescription and not eventPlace: - calendarStr+=''+deleteButtonStr+'\n' + calendarStr+= \ + ''+deleteButtonStr+'\n' elif not eventTime and eventDescription and eventPlace: - calendarStr+=''+deleteButtonStr+'\n' + calendarStr+= \ + ''+deleteButtonStr+'\n' elif eventTime and not eventDescription and eventPlace: - calendarStr+=''+deleteButtonStr+'\n' + calendarStr+= \ + ''+deleteButtonStr+'\n' calendarStr+='\n' calendarStr+='
\n' - calendarStr+=' ' - calendarStr+='

'+str(dayNumber)+' '+monthName+'


'+str(year)+'\n' + calendarStr+= \ + ' ' + calendarStr+= \ + '

'+str(dayNumber)+' '+monthName+ \ + '


'+str(year)+'\n' calendarStr+='
'+translate['Delete this event']+' |'+ \
+                    translate['Delete this event']+' |
'+eventTime+''+eventPlace+'
'+eventDescription+'
'+eventTime+ \ + ''+ \ + eventPlace+'
'+eventDescription+ \ + '
'+eventTime+''+eventDescription+'
'+eventTime+ \ + ''+ \ + eventDescription+'
'+eventDescription+'
'+ \ + eventDescription+'
'+eventPlace+'
'+eventDescription+'
'+ \ + eventPlace+'
'+eventDescription+ \ + '
'+eventTime+''+eventPlace+'
'+eventTime+ \ + ''+ \ + eventPlace+'
\n' @@ -3801,14 +3957,19 @@ def htmlCalendar(translate: {}, \ if os.path.isfile(baseDir+'/img/calendar-background.png'): if not os.path.isfile(baseDir+'/accounts/calendar-background.png'): - copyfile(baseDir+'/img/calendar-background.png',baseDir+'/accounts/calendar-background.png') + copyfile(baseDir+'/img/calendar-background.png', \ + baseDir+'/accounts/calendar-background.png') - months=('January','February','March','April','May','June','July','August','September','October','November','December') + months=('January','February','March','April', \ + 'May','June','July','August','September', \ + 'October','November','December') monthName=translate[months[monthNumber-1]] if dayNumber: dayEvents=None - events=getTodaysEvents(baseDir,nickname,domain,year,monthNumber,dayNumber) + events= \ + getTodaysEvents(baseDir,nickname,domain, \ + year,monthNumber,dayNumber) if events: if events.get(str(dayNumber)): dayEvents=events[str(dayNumber)] @@ -3817,7 +3978,8 @@ def htmlCalendar(translate: {}, \ nickname,domain,dayEvents, \ monthName,actor) - events=getCalendarEvents(baseDir,nickname,domain,year,monthNumber) + events= \ + getCalendarEvents(baseDir,nickname,domain,year,monthNumber) prevYear=year prevMonthNumber=monthNumber-1 @@ -3831,7 +3993,8 @@ def htmlCalendar(translate: {}, \ nextMonthNumber=1 nextYear=year+1 - print('Calendar year='+str(year)+' month='+str(monthNumber)+ ' '+str(weekDayOfMonthStart(monthNumber,year))) + print('Calendar year='+str(year)+' month='+str(monthNumber)+ \ + ' '+str(weekDayOfMonthStart(monthNumber,year))) if monthNumber<12: daysInMonth=(date(year, monthNumber+1, 1) - date(year, monthNumber, 1)).days @@ -3847,12 +4010,22 @@ def htmlCalendar(translate: {}, \ calendarStr=htmlHeader(cssFilename,calendarStyle) calendarStr+='
\n' calendarStr+='\n' calendarStr+='\n' calendarStr+='\n' @@ -3882,7 +4055,8 @@ def htmlCalendar(translate: {}, \ if dayOfMonth==currDate.day: isToday=True if events.get(str(dayOfMonth)): - url=actor+'/calendar?year='+str(year)+'?month='+str(monthNumber)+'?day='+str(dayOfMonth) + url=actor+'/calendar?year='+str(year)+'?month='+ \ + str(monthNumber)+'?day='+str(dayOfMonth) dayLink=''+str(dayOfMonth)+'' # there are events for this day if not isToday:
\n' - calendarStr+=' ' - calendarStr+=' '+translate['Previous month']+'\n' + calendarStr+= \ + ' ' + calendarStr+= \ + ' '+translate['Previous month']+ \
+        '\n' calendarStr+=' ' calendarStr+='

'+monthName+'

\n' - calendarStr+=' ' - calendarStr+=' '+translate['Next month']+'\n' + calendarStr+= \ + ' ' + calendarStr+= \ + ' '+translate['Next month']+ \
+        '\n' calendarStr+='