mirror of
https://github.com/simonw/datasette.git
synced 2026-09-11 11:04:07 +02:00
Validate URL before rendering column links
This commit is contained in:
parent
5de0c1724e
commit
59618371e9
1 changed files with 5 additions and 1 deletions
|
|
@ -5,6 +5,7 @@ import markupsafe
|
|||
|
||||
from datasette import hookimpl
|
||||
from datasette.column_types import ColumnType, SQLiteType
|
||||
from datasette.utils import is_url
|
||||
|
||||
|
||||
class UrlColumnType(ColumnType):
|
||||
|
|
@ -15,7 +16,10 @@ class UrlColumnType(ColumnType):
|
|||
async def render_cell(self, value, column, table, database, datasette, request):
|
||||
if not value or not isinstance(value, str):
|
||||
return None
|
||||
escaped = markupsafe.escape(value.strip())
|
||||
stripped = value.strip()
|
||||
if not is_url(stripped):
|
||||
return None
|
||||
escaped = markupsafe.escape(stripped)
|
||||
return markupsafe.Markup(f'<a href="{escaped}">{escaped}</a>')
|
||||
|
||||
async def validate(self, value, datasette):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue