fix #27 channel search working without youtube api key

Esse commit está contido em:
Talha Asghar
2022-02-19 11:51:30 +05:00
commit 440ab17108
3 arquivos alterados com 25 adições e 25 exclusões
+7 -7
Ver Arquivo
@@ -146,14 +146,14 @@ def channelfromname(user):
@command(r'channels\s+(.+)')
def channelsearch(q_user):
qs = {'part': 'id,snippet',
'q': q_user,
'maxResults': 50,
'type': 'channel',
'order': "relevance"
}
# qs = {'part': 'id,snippet',
# 'q': q_user,
# 'maxResults': 50,
# 'type': 'channel',
# 'order': "relevance"
# }
QueryObj = contentquery.ContentQuery(listview.ListUser, 'search', qs)
QueryObj = contentquery.ContentQuery(listview.ListUser, 'search', q_user)
columns = [
{"name": "idx", "size": 3, "heading": "Num"},
{"name": "name", "size": 30, "heading": "Username"},
+13 -13
Ver Arquivo
@@ -6,7 +6,7 @@
data is only queried when requested.
"""
from . import util
from . import util, pafy
class ContentQuery:
@@ -18,15 +18,15 @@ class ContentQuery:
nextpagetoken = None
datatype = None
queries = None
query = None
api = None
def __init__(self, datatype, api, qs):
def __init__(self, datatype, api, query):
# Perform initial API call, setBoundaries
# call parseData
self.datatype = datatype
self.queries = qs
self.query = query
self.api = api
self.pdata = []
@@ -52,17 +52,17 @@ class ContentQuery:
def _perform_api_call(self):
# Include nextPageToken if it is set
qry = dict(
pageToken=self.nextpagetoken,
**(self.queries)
) if self.nextpagetoken else self.queries
# qry = dict(
# pageToken=self.nextpagetoken,
# **(self.query)
# ) if self.nextpagetoken else self.query
# Run query
util.dbg("CQ.query", qry)
data = None#pafy.call_gdata(self.api, qry)
util.dbg("CQ.query", self.queries)
data = pafy.channel_search(self.queries)#pafy.call_gdata(self.api, qry)
self.maxresults = int(data.get("pageInfo").get("totalResults"))
self.nextpagetoken = data.get("nextPageToken")
self.maxresults = len(data)#int(data.get("pageInfo").get("totalResults"))
self.nextpagetoken = None#data.get("nextPageToken")
for obj in data.get("items"):
for obj in data:
self.pdata.append(self.datatype(obj))
+5 -5
Ver Arquivo
@@ -7,25 +7,25 @@ class ListUser(ListViewItem):
# pylint: disable=unused-argument
def id(self, length=0):
""" Returns YTID """
return self.data.get("id").get("channelId")
return self.data.get("id")
def name(self, length=10):
""" Returns channel name """
return u.uea_pad(length, self.data.get("snippet").get("title"))
return u.uea_pad(length, self.data.get("title"))
def description(self, length=10):
""" Channel description"""
return u.uea_pad(length, self.data.get("snippet").get("description"))
return u.uea_pad(length, self.data["descriptionSnippet"][0]['text'] if self.data['descriptionSnippet'] is not None else 'No description found')
def kind(self, length=10):
""" Returns the youtube datatype
Example: youtube#channel, youtube#video
"""
return self.data.get("id").get("kind")
return self.data.get("type")
def ret(self):
""" Used in the ListView play function """
return (self.data.get("snippet").get("title"), self.id(), "")
return (self.name(), self.id(), "")
@staticmethod
def return_field():