mirror of
https://github.com/Hopiu/django-embed-video.git
synced 2026-05-04 19:14:42 +00:00
Move embed code to template
This commit is contained in:
parent
f09df0e752
commit
c462362356
4 changed files with 31 additions and 15 deletions
|
|
@ -1,4 +1,5 @@
|
|||
import re
|
||||
from django.template.loader import render_to_string
|
||||
import requests
|
||||
import json
|
||||
|
||||
|
|
@ -78,6 +79,11 @@ class VideoBackend(object):
|
|||
Sets if HTTPS version allowed for specific backend.
|
||||
"""
|
||||
|
||||
template_name = 'embed_video/embed_code.html'
|
||||
"""
|
||||
Name of embed code template used by :py:meth:`get_embed_code`.
|
||||
"""
|
||||
|
||||
def __init__(self, url, is_secure=False):
|
||||
"""
|
||||
First it tries to load data from cache and if it don't succeed, run
|
||||
|
|
@ -136,15 +142,17 @@ class VideoBackend(object):
|
|||
|
||||
def get_embed_code(self, width, height):
|
||||
"""
|
||||
Returns embed code.
|
||||
Returns embed code rendered from template.
|
||||
|
||||
Template variables: ``{{ backend }}`` (instance of VideoBackend),
|
||||
``{{ width }}``, ``{{ height }}``
|
||||
|
||||
"""
|
||||
return '<iframe width="%(width)d" height="%(height)d" ' \
|
||||
'src="%(url)s" frameborder="0" allowfullscreen>' \
|
||||
'</iframe>' % {
|
||||
'url': self.url,
|
||||
'width': width,
|
||||
'height': height,
|
||||
}
|
||||
return render_to_string(self.template_name, {
|
||||
'backend': self,
|
||||
'width': width,
|
||||
'height': height,
|
||||
})
|
||||
|
||||
def get_info(self):
|
||||
raise NotImplementedError
|
||||
|
|
|
|||
2
embed_video/templates/embed_video/embed_code.html
Normal file
2
embed_video/templates/embed_video/embed_code.html
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
<iframe width="{{ width }}" height="{{ height }}" src="{{ backend.url }}"
|
||||
frameborder="0" allowfullscreen></iframe>
|
||||
|
|
@ -139,8 +139,9 @@ class SoundCloudBackendTestCase(BackendTestMixin, TestCase):
|
|||
|
||||
def test_get_embed_code(self):
|
||||
self.assertEqual(self.foo.get_embed_code(100, 200),
|
||||
'<iframe width="100" height="321" src="foobar" '
|
||||
'frameborder="0" allowfullscreen></iframe>')
|
||||
u'<iframe width="100" height="321" src="foobar"'
|
||||
u'\n frameborder="0" allowfullscreen>'
|
||||
u'</iframe>\n')
|
||||
|
||||
@patch('embed_video.backends.EMBED_VIDEO_TIMEOUT', 0.000001)
|
||||
def test_timeout_in_get_info(self):
|
||||
|
|
|
|||
|
|
@ -27,7 +27,8 @@ class EmbedVideoNodeTestCase(TestCase):
|
|||
{% video ytb 'large' %}
|
||||
{% endvideo %}
|
||||
""")
|
||||
rendered = u'<iframe width="960" height="720" src="http://www.youtube.com/embed/jsrRJyHBvzw?wmode=opaque" frameborder="0" allowfullscreen></iframe>'
|
||||
rendered = u'''<iframe width="960" height="720" src="http://www.youtube.com/embed/jsrRJyHBvzw?wmode=opaque"
|
||||
frameborder="0" allowfullscreen></iframe>'''
|
||||
self.assertEqual(template.render(self._grc()).strip(), rendered)
|
||||
|
||||
def test_direct_embed(self):
|
||||
|
|
@ -35,7 +36,8 @@ class EmbedVideoNodeTestCase(TestCase):
|
|||
{% load embed_video_tags %}
|
||||
{{ 'http://www.youtube.com/watch?v=jsrRJyHBvzw'|embed:'large' }}
|
||||
""")
|
||||
rendered = u'<iframe width="960" height="720" src="http://www.youtube.com/embed/jsrRJyHBvzw?wmode=opaque" frameborder="0" allowfullscreen></iframe>'
|
||||
rendered = u'''<iframe width="960" height="720" src="http://www.youtube.com/embed/jsrRJyHBvzw?wmode=opaque"
|
||||
frameborder="0" allowfullscreen></iframe>'''
|
||||
self.assertEqual(template.render(self._grc()).strip(), rendered)
|
||||
|
||||
def test_direct_embed_tag(self):
|
||||
|
|
@ -43,7 +45,8 @@ class EmbedVideoNodeTestCase(TestCase):
|
|||
{% load embed_video_tags %}
|
||||
{% video "http://www.youtube.com/watch?v=jsrRJyHBvzw" "large" %}
|
||||
""")
|
||||
rendered = u'<iframe width="960" height="720" src="http://www.youtube.com/embed/jsrRJyHBvzw?wmode=opaque" frameborder="0" allowfullscreen></iframe>'
|
||||
rendered = u'''<iframe width="960" height="720" src="http://www.youtube.com/embed/jsrRJyHBvzw?wmode=opaque"
|
||||
frameborder="0" allowfullscreen></iframe>'''
|
||||
self.assertEqual(template.render(self._grc()).strip(), rendered)
|
||||
|
||||
def test_direct_embed_tag_with_default_size(self):
|
||||
|
|
@ -51,7 +54,8 @@ class EmbedVideoNodeTestCase(TestCase):
|
|||
{% load embed_video_tags %}
|
||||
{% video "http://www.youtube.com/watch?v=jsrRJyHBvzw" %}
|
||||
""")
|
||||
rendered = u'<iframe width="480" height="360" src="http://www.youtube.com/embed/jsrRJyHBvzw?wmode=opaque" frameborder="0" allowfullscreen></iframe>'
|
||||
rendered = u'''<iframe width="480" height="360" src="http://www.youtube.com/embed/jsrRJyHBvzw?wmode=opaque"
|
||||
frameborder="0" allowfullscreen></iframe>'''
|
||||
self.assertEqual(template.render(self._grc()).strip(), rendered)
|
||||
|
||||
def test_user_size(self):
|
||||
|
|
@ -61,7 +65,8 @@ class EmbedVideoNodeTestCase(TestCase):
|
|||
{% video ytb '800x800' %}
|
||||
{% endvideo %}
|
||||
""")
|
||||
rendered = u'<iframe width="800" height="800" src="http://www.youtube.com/embed/jsrRJyHBvzw?wmode=opaque" frameborder="0" allowfullscreen></iframe>'
|
||||
rendered = u'''<iframe width="800" height="800" src="http://www.youtube.com/embed/jsrRJyHBvzw?wmode=opaque"
|
||||
frameborder="0" allowfullscreen></iframe>'''
|
||||
self.assertEqual(template.render(self._grc()).strip(), rendered)
|
||||
|
||||
def test_wrong_size(self):
|
||||
|
|
|
|||
Loading…
Reference in a new issue