aboutsummaryrefslogtreecommitdiffstats
path: root/webapi/youtube.py
diff options
context:
space:
mode:
authorPinapelz <yukais@pinapelz.com>2023-11-17 13:24:42 -0800
committerPinapelz <yukais@pinapelz.com>2023-11-17 13:24:42 -0800
commit96019367e8f72eac26abd3b7a908c2b914bd1ae1 (patch)
treefa7dbe66ea8b12bde0970dc8db27f7601464b3b8 /webapi/youtube.py
parentc159e86a3487dbae79de8d0887f288625084bfcd (diff)
v2: add initial Next JS files, remove static templates
Diffstat (limited to 'webapi/youtube.py')
-rw-r--r--webapi/youtube.py55
1 files changed, 0 insertions, 55 deletions
diff --git a/webapi/youtube.py b/webapi/youtube.py
deleted file mode 100644
index 44d786f..0000000
--- a/webapi/youtube.py
+++ /dev/null
@@ -1,55 +0,0 @@
-from webapi.web_api import WebAPI
-
-
-class YouTubeAPI(WebAPI):
- """
- Class for interacting with the YouTube API
- """
-
- def __init__(self, api_key: str = None):
- self.api_key = api_key
- self.base_url = "https://www.googleapis.com/youtube/v3/"
-
- def _search_matching_id(self, id: str, data: list) -> dict:
- """
- Searches for a info matching a given ID
- param:
- id: str - the ID to search for
- """
- for entry in data:
- if entry['id'] == id:
- return entry
- return None
-
- def get_data_all_channels(self, channel_tuples: list) -> list:
- data = []
- members = len(channel_tuples)
- request_chunks = [channel_tuples[i:i + 50] for i in range(0, members, 50)]
- for chunk in request_chunks:
- channel_ids = [x[0] for x in chunk]
- channel_names = [x[1] for x in chunk]
- request_string = ",".join(channel_ids)
- stats = self._download_url(
- f"channels?part=statistics&id={request_string}&key={self.api_key}")
- snippet = self._download_url(
- f"channels?part=snippet&id={request_string}&key={self.api_key}")
- stats_list = stats['items']
- snippet_list = snippet['items']
- for i in range(len(stats_list)):
- try:
- data_entry = {'english_name': channel_names[i], 'id': channel_ids[i],
- 'subscriber_count':
- self._search_matching_id(channel_ids[i], stats_list)[
- 'statistics']['subscriberCount'], 'view_count':
- self._search_matching_id(channel_ids[i], stats_list)[
- 'statistics']['viewCount'], 'photo':
- self._search_matching_id(channel_ids[i], snippet_list)[
- 'snippet']['thumbnails']['default']['url'], 'description':
- self._search_matching_id(channel_ids[i], snippet_list)[
- 'snippet']['description']}
- data.append(data_entry)
- except TypeError:
- print("Error NoneType: " + str(channel_ids[i]))
- except KeyError:
- print("Error KeyError: " + str(channel_ids[i]))
- return data
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage