add nsfw parameter for video search
This commit is contained in:
parent
eaff02715f
commit
9d7d8692ba
4 changed files with 10 additions and 5 deletions
|
|
@ -57,5 +57,7 @@ class YoujizzBackend(BaseBackend, ICapVideoProvider):
|
|||
def iter_page_urls(self, mozaic_url):
|
||||
return self.browser.iter_page_urls(mozaic_url)
|
||||
|
||||
def iter_search_results(self, pattern=None, sortby=None):
|
||||
def iter_search_results(self, pattern=None, sortby=ICapVideoProvider.SEARCH_RELEVANCE, nsfw=False):
|
||||
if not nsfw:
|
||||
return iter(set())
|
||||
return self.browser.iter_search_results(pattern)
|
||||
|
|
|
|||
|
|
@ -54,7 +54,9 @@ class YoupornBackend(BaseBackend, ICapVideoProvider):
|
|||
return self.browser.get_video(_id)
|
||||
|
||||
SORTBY = ['relevance', 'rating', 'views', 'time']
|
||||
def iter_search_results(self, pattern=None, sortby=ICapVideoProvider.SEARCH_RELEVANCE):
|
||||
def iter_search_results(self, pattern=None, sortby=ICapVideoProvider.SEARCH_RELEVANCE, nsfw=False):
|
||||
if not nsfw:
|
||||
return iter(set())
|
||||
return self.browser.iter_search_results(pattern, self.SORTBY[sortby])
|
||||
|
||||
@need_url
|
||||
|
|
|
|||
|
|
@ -46,12 +46,12 @@ class YoutubeBackend(BaseBackend, ICapVideoProvider):
|
|||
def get_video(self, _id):
|
||||
return self.browser.get_video(_id)
|
||||
|
||||
def iter_search_results(self, pattern=None, sortby=ICapVideoProvider.SEARCH_RELEVANCE):
|
||||
def iter_search_results(self, pattern=None, sortby=ICapVideoProvider.SEARCH_RELEVANCE, nsfw=False):
|
||||
import gdata.youtube.service
|
||||
yt_service = gdata.youtube.service.YouTubeService()
|
||||
query = gdata.youtube.service.YouTubeVideoQuery()
|
||||
query.orderby = ('relevance', 'rating', 'viewCount', 'published')[sortby]
|
||||
query.racy = 'include'
|
||||
query.racy = 'include' if nsfw else 'exclude'
|
||||
if pattern:
|
||||
query.categories.extend('/%s' % search_term.lower().encode('utf-8') for search_term in pattern.split())
|
||||
feed = yt_service.YouTubeQuery(query)
|
||||
|
|
|
|||
|
|
@ -48,13 +48,14 @@ class ICapVideoProvider(ICap):
|
|||
SEARCH_VIEWS,
|
||||
SEARCH_DATE) = range(4)
|
||||
|
||||
def iter_search_results(self, pattern=None, sortby=SEARCH_RELEVANCE):
|
||||
def iter_search_results(self, pattern=None, sortby=SEARCH_RELEVANCE, nsfw=False):
|
||||
"""
|
||||
Iter results of a search on a pattern. Note that if pattern is None,
|
||||
it get the latest videos.
|
||||
|
||||
@param pattern [str] pattern to search on
|
||||
@param sortby [enum] sort by...
|
||||
@param pattern [bool] include non-suitable for work videos if True
|
||||
"""
|
||||
raise NotImplementedError()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue