kawaz.apps.kfm.extras.nicovideo のソースコード

import re
from django.template.loader import render_to_string
from .utils import is_quoated


PATTERN = re.compile(
    r"https?://www\.nicovideo\.jp/watch/(?P<id>[a-zA-Z0-9_\-]+)/?",
    flags=re.MULTILINE,
)
TEMPLATE_NAME = 'kfm/extras/nicovideo.html'


[ドキュメント]def parse_nicovideo_urls(value): """ 指定された文字列に含まれる ニコニコ動画 URL をプレイヤーに変換 ただしURLがシングル・ダブルクオーテーションマークで囲まれていた場合は 変換を行わない 変換にはテンプレートシステムが使用され `kfm/parsers/nicovideo.html` なおコンテキストとして下記の値がテンプレートに渡される - video_id: ニコニコ動画 ID """ def repl(m): if is_quoated(m.string, m.start(), m.end()): # ', "に囲まれているため置換を行わない return m.group() params = dict( video_id=m.group('id'), ) html = render_to_string(TEMPLATE_NAME, params) return html.strip() value = PATTERN.sub(repl, value) return value