mirror of https://gitlab.com/bashrc2/epicyon
Simplify weekly events function
parent
45029d45d0
commit
f4bce1034b
35
happening.py
35
happening.py
|
@ -9,13 +9,12 @@ __status__ = "Production"
|
||||||
import os
|
import os
|
||||||
from uuid import UUID
|
from uuid import UUID
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
from datetime import timedelta
|
||||||
|
|
||||||
from utils import isPublicPost
|
from utils import isPublicPost
|
||||||
from utils import loadJson
|
from utils import loadJson
|
||||||
from utils import saveJson
|
from utils import saveJson
|
||||||
from utils import locatePost
|
from utils import locatePost
|
||||||
from utils import daysInMonth
|
|
||||||
from utils import mergeDicts
|
|
||||||
|
|
||||||
|
|
||||||
def _validUuid(testUuid: str, version=4):
|
def _validUuid(testUuid: str, version=4):
|
||||||
|
@ -315,9 +314,9 @@ def getThisWeeksEvents(baseDir: str, nickname: str, domain: str) -> {}:
|
||||||
Note: currently not used but could be with a weekly calendar screen
|
Note: currently not used but could be with a weekly calendar screen
|
||||||
"""
|
"""
|
||||||
now = datetime.now()
|
now = datetime.now()
|
||||||
|
endOfWeek = now + timedelta(7)
|
||||||
year = now.year
|
year = now.year
|
||||||
monthNumber = now.month
|
monthNumber = now.month
|
||||||
dayNumber = now.day
|
|
||||||
|
|
||||||
calendarFilename = \
|
calendarFilename = \
|
||||||
baseDir + '/accounts/' + nickname + '@' + domain + \
|
baseDir + '/accounts/' + nickname + '@' + domain + \
|
||||||
|
@ -342,7 +341,6 @@ def getThisWeeksEvents(baseDir: str, nickname: str, domain: str) -> {}:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
postEvent = []
|
postEvent = []
|
||||||
dayOfMonth = None
|
|
||||||
weekDayIndex = None
|
weekDayIndex = None
|
||||||
for tag in postJsonObject['object']['tag']:
|
for tag in postJsonObject['object']['tag']:
|
||||||
if not _isHappeningEvent(tag):
|
if not _isHappeningEvent(tag):
|
||||||
|
@ -355,21 +353,17 @@ def getThisWeeksEvents(baseDir: str, nickname: str, domain: str) -> {}:
|
||||||
eventTime = \
|
eventTime = \
|
||||||
datetime.strptime(tag['startTime'],
|
datetime.strptime(tag['startTime'],
|
||||||
"%Y-%m-%dT%H:%M:%S%z")
|
"%Y-%m-%dT%H:%M:%S%z")
|
||||||
if (int(eventTime.strftime("%Y")) == year and
|
if eventTime >= now and eventTime <= endOfWeek:
|
||||||
int(eventTime.strftime("%m")) == monthNumber and
|
weekDayIndex = (eventTime - now).days()
|
||||||
(int(eventTime.strftime("%d")) >= dayNumber and
|
|
||||||
int(eventTime.strftime("%d")) <= dayNumber + 6)):
|
|
||||||
dayOfMonth = str(int(eventTime.strftime("%d")))
|
|
||||||
weekDayIndex = dayOfMonth - dayNumber
|
|
||||||
postEvent.append(tag)
|
postEvent.append(tag)
|
||||||
else:
|
else:
|
||||||
# tag is a place
|
# tag is a place
|
||||||
postEvent.append(tag)
|
postEvent.append(tag)
|
||||||
if postEvent and weekDayIndex:
|
if postEvent and weekDayIndex:
|
||||||
calendarPostIds.append(postId)
|
calendarPostIds.append(postId)
|
||||||
if not events.get(dayOfMonth):
|
if not events.get(weekDayIndex):
|
||||||
events[weekDayIndex] = []
|
events[weekDayIndex] = []
|
||||||
events[dayOfMonth].append(postEvent)
|
events[weekDayIndex].append(postEvent)
|
||||||
|
|
||||||
# if some posts have been deleted then regenerate the calendar file
|
# if some posts have been deleted then regenerate the calendar file
|
||||||
if recreateEventsFile:
|
if recreateEventsFile:
|
||||||
|
@ -378,23 +372,6 @@ def getThisWeeksEvents(baseDir: str, nickname: str, domain: str) -> {}:
|
||||||
calendarFile.write(postId + '\n')
|
calendarFile.write(postId + '\n')
|
||||||
calendarFile.close()
|
calendarFile.close()
|
||||||
|
|
||||||
lastDayOfMonth = daysInMonth(year, monthNumber)
|
|
||||||
if dayNumber+6 > lastDayOfMonth:
|
|
||||||
monthNumber += 1
|
|
||||||
if monthNumber > 12:
|
|
||||||
monthNumber = 1
|
|
||||||
year += 1
|
|
||||||
for d in range(1, dayNumber + 6 - lastDayOfMonth):
|
|
||||||
dailyEvents = \
|
|
||||||
getTodaysEvents(baseDir, nickname, domain,
|
|
||||||
year, monthNumber, d)
|
|
||||||
if dailyEvents:
|
|
||||||
if dailyEvents.get(d):
|
|
||||||
newEvents = {}
|
|
||||||
newEvents[d + (7 - (dayNumber + 6 - lastDayOfMonth))] = \
|
|
||||||
dailyEvents[d]
|
|
||||||
events = mergeDicts(events, newEvents)
|
|
||||||
|
|
||||||
return events
|
return events
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue