##// END OF EJS Templates
Merge pull request #2530 from dannystaple/patch-1...
Bradley M. Froehle -
r8681:282a2fba merge
parent child Browse files
Show More
@@ -1,35 +1,51 b''
1 1 """Various display related classes.
2 2
3 Authors : MinRK
3 Authors : MinRK, dannystaple
4 4 """
5 import urllib
5 6
6 7 class YouTubeVideo(object):
7 8 """Class for embedding a YouTube Video in an IPython session, based on its video id.
8 9
9 10 e.g. to embed the video on this page:
10 11
11 12 http://www.youtube.com/watch?v=foo
12 13
13 14 you would do:
14 15
15 16 vid = YouTubeVideo("foo")
16 17 display(vid)
18
19 To start from 30 seconds:
20
21 vid = YouTubeVideo("abc", start=30)
22 display(vid)
23
24 To calculate seconds from time as hours, minutes, seconds use:
25 start=int(timedelta(hours=1, minutes=46, seconds=40).total_seconds())
26
27 Other parameters can be provided as documented at
28 https://developers.google.com/youtube/player_parameters#parameter-subheader
17 29 """
18 30
19 def __init__(self, id, width=400, height=300):
31 def __init__(self, id, width=400, height=300, **kwargs):
20 32 self.id = id
21 33 self.width = width
22 34 self.height = height
35 self.params = kwargs
23 36
24 37 def _repr_html_(self):
25 38 """return YouTube embed iframe for this video id"""
39 if self.params:
40 params = "?" + urllib.urlencode(self.params)
41 else:
42 params = ""
26 43 return """
27 44 <iframe
28 45 width="%i"
29 46 height="%i"
30 src="http://www.youtube.com/embed/%s"
47 src="http://www.youtube.com/embed/%s%s"
31 48 frameborder="0"
32 49 allowfullscreen
33 50 ></iframe>
34 """%(self.width, self.height, self.id)
35
51 """ % (self.width, self.height, self.id, params)
General Comments 0
You need to be logged in to leave comments. Login now