forked from simonw/til
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathredirects.py
31 lines (29 loc) · 928 Bytes
/
redirects.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
from datasette import hookimpl
from datasette.utils.asgi import Response
@hookimpl
def register_routes():
return (
(
r"^/til/til/(?P<topic>[^_]+)_(?P<slug>[^\.]+)\.md$",
lambda request: Response.redirect(
"/{topic}/{slug}".format(**request.url_vars), status=301
),
),
("^/til/feed.atom$", lambda: Response.redirect("/tils/feed.atom", status=301)),
(
"^/til$",
lambda request: Response.redirect(
"/tils"
+ (("?" + request.query_string) if request.query_string else ""),
status=301,
),
),
(
"^/til/search$",
lambda request: Response.redirect(
"/tils/search"
+ (("?" + request.query_string) if request.query_string else ""),
status=301,
),
),
)