kawaz.apps.kfm.templatetags.youtube のソースコード

# coding=utf-8
"""
"""

from django import template
from django.utils.safestring import mark_safe
from ..extras.youtube import parse_youtube_urls


register = template.Library()


@register.filter('youtube')
@template.defaultfilters.stringfilter
[ドキュメント]def filter_youtube(value, size=None): """ 指定されたテキスト内に存在するYouTube URLを展開するフィルタ Usage: {{ object.body | youtube }} {{ object.body | youtube:'responsive' }} # レスポンシブデザイン {{ object.body | youtube:'1600' }} # 横幅指定(16:9) {{ object.body | youtube:'1600,900' }} # 縦横幅指定 """ width = None height = None responsive = False if size == 'responsive': responsive = True elif size: bits = size.split(',', 1) if len(bits) == 1: width = int(bits[0]) else: width = int(bits[0]) height = int(bits[1]) value = parse_youtube_urls(value, responsive=responsive, width=width, height=height) return mark_safe(value)