From f1ddf104809017784aa136ebb8ff7e2cfb96d5f4 Mon Sep 17 00:00:00 2001 From: Tom van der Lee Date: Sun, 11 Oct 2015 00:15:23 +0200 Subject: Changed directory structure to use pyscaffold --- youtube/__init__.py | 6 ------ youtube/downloader.py | 42 ------------------------------------------ youtube/youtube.py | 44 -------------------------------------------- 3 files changed, 92 deletions(-) delete mode 100644 youtube/__init__.py delete mode 100644 youtube/downloader.py delete mode 100644 youtube/youtube.py (limited to 'youtube') diff --git a/youtube/__init__.py b/youtube/__init__.py deleted file mode 100644 index d26ae61..0000000 --- a/youtube/__init__.py +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env python3 - -from youtube.youtube import Youtube -from youtube.downloader import Downloader - -# vim: set ts=8 sw=4 tw=0 et : diff --git a/youtube/downloader.py b/youtube/downloader.py deleted file mode 100644 index ca1327b..0000000 --- a/youtube/downloader.py +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env python3 - -import youtube_dl -import os - - -class Downloader: - instance = None - - def get_instance(file_format, location, base_url): - if Downloader.instance: - return Downloader.instance - else: - Downloader.instance = Downloader(file_format, location, base_url) - return Downloader.instance - - def __init__(self, file_format, location, base_url): - self.file_format = file_format - self.location = location - self.base_url = base_url - - def download(self, video, video_id, feed_id): - output = "%s/%s/%s.ogg" % (self.location, feed_id, video_id) - options = {"format": "bestaudio/best", - "outtmpl": output, - "postprocessors": [{ - "key": "FFmpegExtractAudio", - "preferredcodec": self.file_format - }], - "nooverwrites": True - } - - video_url = "https://www.youtube.com/watch?v=%s" % (video["snippet"]["resourceId"]["videoId"]) - youtube_dl.YoutubeDL(options).download([video_url]) - - url = "%s/%s/%s.ogg" % (self.base_url, feed_id, video_id) - size = str(os.path.getsize(output)) - mime = "audio/ogg" - - return (url, size, mime) - -# vim: set ts=8 sw=4 tw=0 et : 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 @@ -#!/usr/bin/env python3 - -from urllib import parse, request -import json - - -class Youtube: - - def __init__(self, api_key): - self.api_key = api_key - - def _api_call(self, section, parameters): - parameters["key"] = self.api_key - data = parse.urlencode(parameters) - api_base = "https://www.googleapis.com/youtube/v3" - response = request.urlopen("%s/%s?%s" % (api_base, section, data)) - return json.loads(response.read().decode("UTF-8"))["items"] - - def search(self, query): - return self._api_call("search", {"part": "snippet", - "q": query}) - - def get_channel(self, username): - return self._api_call("channels", {"part": "snippet", - "forUsername": username}) - - def get_uploads(self, channel): - content_details = self._api_call("channels", {"part": "contentDetails", - "id": channel["id"]}) - uploads_id = content_details[0]["contentDetails"]["relatedPlaylists"]["uploads"] - return self._api_call("playlists", {"part": "snippet", - "id": uploads_id}) - - def get_playlists(self, channel, max_results=5): - return self._api_call("playlists", {"part": "snippet", - "channelId": channel["id"], - "maxResults": max_results}) - - def get_playlist_items(self, playlist, max_results=5): - return self._api_call("playlistItems", {"part": "snippet", - "playlistId": playlist["id"], - "maxResults": max_results}) - -# vim: set ts=8 sw=4 tw=0 et : -- cgit v1.2.3