##// 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,7 +1,8 b''
1 """Various display related classes.
1 """Various display related classes.
2
2
3 Authors : MinRK
3 Authors : MinRK, dannystaple
4 """
4 """
5 import urllib
5
6
6 class YouTubeVideo(object):
7 class YouTubeVideo(object):
7 """Class for embedding a YouTube Video in an IPython session, based on its video id.
8 """Class for embedding a YouTube Video in an IPython session, based on its video id.
@@ -14,22 +15,37 b' class YouTubeVideo(object):'
14
15
15 vid = YouTubeVideo("foo")
16 vid = YouTubeVideo("foo")
16 display(vid)
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 self.id = id
32 self.id = id
21 self.width = width
33 self.width = width
22 self.height = height
34 self.height = height
35 self.params = kwargs
23
36
24 def _repr_html_(self):
37 def _repr_html_(self):
25 """return YouTube embed iframe for this video id"""
38 """return YouTube embed iframe for this video id"""
39 if self.params:
40 params = "?" + urllib.urlencode(self.params)
41 else:
42 params = ""
26 return """
43 return """
27 <iframe
44 <iframe
28 width="%i"
45 width="%i"
29 height="%i"
46 height="%i"
30 src="http://www.youtube.com/embed/%s"
47 src="http://www.youtube.com/embed/%s%s"
31 frameborder="0"
48 frameborder="0"
32 allowfullscreen
49 allowfullscreen
33 ></iframe>
50 ></iframe>
34 """%(self.width, self.height, self.id)
51 """ % (self.width, self.height, self.id, params)
35
General Comments 0
You need to be logged in to leave comments. Login now