aboutsummaryrefslogtreecommitdiffstats
path: root/youtube/youtube.py
diff options
context:
space:
mode:
authorGravatar Tom van der Lee <t0m.vd.l33@gmail.com>2015-10-11 00:15:23 +0200
committerGravatar Tom van der Lee <t0m.vd.l33@gmail.com>2015-10-11 13:29:38 +0200
commitf1ddf104809017784aa136ebb8ff7e2cfb96d5f4 (patch)
tree42e28ab543cc151658151714d66a9fdd2549cc5e /youtube/youtube.py
parent71fb4d6c853cd3d42178758326b474b225a06425 (diff)
downloadyoutube-podcaster-f1ddf104809017784aa136ebb8ff7e2cfb96d5f4.tar.gz
youtube-podcaster-f1ddf104809017784aa136ebb8ff7e2cfb96d5f4.tar.bz2
youtube-podcaster-f1ddf104809017784aa136ebb8ff7e2cfb96d5f4.zip
Changed directory structure to use pyscaffold
Diffstat (limited to 'youtube/youtube.py')
-rw-r--r--youtube/youtube.py44
1 files changed, 0 insertions, 44 deletions
diff --git a/youtube/youtube.py b/youtube/youtube.py
deleted file mode 100644
index bcbff21..0000000
--- a/youtube/youtube.py
+++ /dev/null
@@ -1,44 +0,0 @@
1#!/usr/bin/env python3
2
3from urllib import parse, request
4import json
5
6
7class Youtube:
8
9 def __init__(self, api_key):
10 self.api_key = api_key
11
12 def _api_call(self, section, parameters):
13 parameters["key"] = self.api_key
14 data = parse.urlencode(parameters)
15 api_base = "https://www.googleapis.com/youtube/v3"
16 response = request.urlopen("%s/%s?%s" % (api_base, section, data))
17 return json.loads(response.read().decode("UTF-8"))["items"]
18
19 def search(self, query):
20 return self._api_call("search", {"part": "snippet",
21 "q": query})
22
23 def get_channel(self, username):
24 return self._api_call("channels", {"part": "snippet",
25 "forUsername": username})
26
27 def get_uploads(self, channel):
28 content_details = self._api_call("channels", {"part": "contentDetails",
29 "id": channel["id"]})
30 uploads_id = content_details[0]["contentDetails"]["relatedPlaylists"]["uploads"]
31 return self._api_call("playlists", {"part": "snippet",
32 "id": uploads_id})
33
34 def get_playlists(self, channel, max_results=5):
35 return self._api_call("playlists", {"part": "snippet",
36 "channelId": channel["id"],
37 "maxResults": max_results})
38
39 def get_playlist_items(self, playlist, max_results=5):
40 return self._api_call("playlistItems", {"part": "snippet",
41 "playlistId": playlist["id"],
42 "maxResults": max_results})
43
44# vim: set ts=8 sw=4 tw=0 et :