|
|
@@ -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}') |
|
|
|
|
|
|
|