fix #27 channel search working without youtube api key
Esse commit está contido em:
@@ -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"},
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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():
|
||||
|
||||
Referência em uma Nova Issue
Bloquear um usuário