##// END OF EJS Templates
Swapped specific start param for any params...
Danny Staple -
Show More
@@ -1,42 +1,49 b''
1 """Various display related classes.
1 """Various display related classes.
2
2
3 Authors : MinRK
3 Authors : MinRK
4 """
4 """
5 from datetime import timedelta
5 import urllib
6
6
7 class YouTubeVideo(object):
7 class YouTubeVideo(object):
8 """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.
9
9
10 e.g. to embed the video on this page:
10 e.g. to embed the video on this page:
11
11
12 http://www.youtube.com/watch?v=foo
12 http://www.youtube.com/watch?v=foo
13
13
14 you would do:
14 you would do:
15
15
16 vid = YouTubeVideo("foo")
16 vid = YouTubeVideo("foo")
17 display(vid)
17 display(vid)
18
18
19 To start from a particular time offset:
19 To start from 30 seconds:
20
20
21 vid = YouTubeVideo("abc", start=timedelta(hours=1, minutes=47, seconds=3))
21 vid = YouTubeVideo("abc", start=30)
22 display(vid)
22 display(vid)
23
24 Other parameters can be provided as documented at
25 https://developers.google.com/youtube/player_parameters#parameter-subheader
23 """
26 """
24
27
25 def __init__(self, id, width=400, height=300, start=timedelta()):
28 def __init__(self, id, width=400, height=300, **kwargs):
26 self.id = id
29 self.id = id
27 self.width = width
30 self.width = width
28 self.height = height
31 self.height = height
29 self.start = start.total_seconds()
32 self.params = **kwargs
30
33
31 def _repr_html_(self):
34 def _repr_html_(self):
32 """return YouTube embed iframe for this video id"""
35 """return YouTube embed iframe for this video id"""
36 if self.params:
37 params = "?" + urllib.urlencode(self.params)
38 else:
39 params = ""
33 return """
40 return """
34 <iframe
41 <iframe
35 width="%i"
42 width="%i"
36 height="%i"
43 height="%i"
37 src="http://www.youtube.com/embed/%s?start=%i"
44 src="http://www.youtube.com/embed/%s%s"
38 frameborder="0"
45 frameborder="0"
39 allowfullscreen
46 allowfullscreen
40 ></iframe>
47 ></iframe>
41 """%(self.width, self.height, self.id, self.start)
48 """%(self.width, self.height, self.id, self.start, params)
42
49
General Comments 0
You need to be logged in to leave comments. Login now