Browse Source

Redirect from .../today to permanent URL

master
JustAnotherArchivist 3 years ago
parent
commit
7999fa7d29
1 changed files with 7 additions and 5 deletions
  1. +7
    -5
      irclog.py

+ 7
- 5
irclog.py View File

@@ -839,7 +839,7 @@ class WebServer:
aiohttp.web.get('/', self.get_homepage),
aiohttp.web.get(r'/{path:[^/]+}', functools.partial(self._channel_handler, handler = self.get_channel_info)),
aiohttp.web.get(r'/{path:[^/]+}/{date:\d{4}-\d{2}-\d{2}}', functools.partial(self._channel_handler, handler = self.get_log)),
aiohttp.web.get(r'/{path:[^/]+}/{date:today}', functools.partial(self._channel_handler, handler = self.get_log)),
aiohttp.web.get(r'/{path:[^/]+}/today', functools.partial(self._channel_handler, handler = self.log_redirect_today)),
aiohttp.web.get('/{path:[^/]+}/search', functools.partial(self._channel_handler, handler = self.search)),
])

@@ -987,10 +987,7 @@ class WebServer:

async def get_log(self, request):
self.logger.info(f'Received request {id(request)} from {request.remote!r} for {request.path!r}')
if request.match_info['date'] == 'today':
date = datetime.datetime.now(tz = datetime.timezone.utc).replace(hour = 0, minute = 0, second = 0, microsecond = 0)
else:
date = datetime.datetime.strptime(request.match_info['date'], '%Y-%m-%d').replace(tzinfo = datetime.timezone.utc)
date = datetime.datetime.strptime(request.match_info['date'], '%Y-%m-%d').replace(tzinfo = datetime.timezone.utc)
dateStart = date.timestamp()
dateEnd = (date + datetime.timedelta(days = 1)).timestamp()
channelLinks = '<p class="linkbar">' + ''.join([
@@ -1018,6 +1015,11 @@ class WebServer:
content_type = 'text/html'
)

async def log_redirect_today(self, request):
self.logger.info(f'Received request {id(request)} from {request.remote!r} for {request.path!r}')
date = datetime.datetime.now(tz = datetime.timezone.utc).replace(hour = 0, minute = 0, second = 0, microsecond = 0)
return aiohttp.web.HTTPFound(f'/{request.match_info["path"]}/{date:%Y-%m-%d}')

async def search(self, request):
self.logger.info(f'Received request {id(request)} from {request.remote!r} for {request.path!r} with query {request.query!r}')



Loading…
Cancel
Save