diff --git a/python/search.py b/python/search.py index 8e9d2add..1df6ba7b 100644 --- a/python/search.py +++ b/python/search.py @@ -1,17 +1,25 @@ #!/usr/bin/python -from apiclient.discovery import build -from apiclient.errors import HttpError -from oauth2client.tools import argparser +# This sample executes a search request for the specified search term. +# Sample usage: +# python search.py --key=surfing --max-results=10 +# NOTE: To use the sample, you must provide a developer key obtained +# in the Google APIs Console. Search for "REPLACE_ME" in this code +# to find the correct place to provide that key.. + +import argparse + +from googleapiclient.discovery import build +from googleapiclient.errors import HttpError # Set DEVELOPER_KEY to the API key value from the APIs & auth > Registered apps # tab of # https://cloud.google.com/console # Please ensure that you have enabled the YouTube Data API for your project. -DEVELOPER_KEY = "REPLACE_ME" -YOUTUBE_API_SERVICE_NAME = "youtube" -YOUTUBE_API_VERSION = "v3" +DEVELOPER_KEY = 'REPLACE_ME' +YOUTUBE_API_SERVICE_NAME = 'youtube' +YOUTUBE_API_VERSION = 'v3' def youtube_search(options): youtube = build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION, @@ -21,7 +29,7 @@ def youtube_search(options): # query term. search_response = youtube.search().list( q=options.q, - part="id,snippet", + part='id,snippet', maxResults=options.max_results ).execute() @@ -31,28 +39,29 @@ def youtube_search(options): # Add each result to the appropriate list, and then display the lists of # matching videos, channels, and playlists. - for search_result in search_response.get("items", []): - if search_result["id"]["kind"] == "youtube#video": - videos.append("%s (%s)" % (search_result["snippet"]["title"], - search_result["id"]["videoId"])) - elif search_result["id"]["kind"] == "youtube#channel": - channels.append("%s (%s)" % (search_result["snippet"]["title"], - search_result["id"]["channelId"])) - elif search_result["id"]["kind"] == "youtube#playlist": - playlists.append("%s (%s)" % (search_result["snippet"]["title"], - search_result["id"]["playlistId"])) - - print "Videos:\n", "\n".join(videos), "\n" - print "Channels:\n", "\n".join(channels), "\n" - print "Playlists:\n", "\n".join(playlists), "\n" - - -if __name__ == "__main__": - argparser.add_argument("--q", help="Search term", default="Google") - argparser.add_argument("--max-results", help="Max results", default=25) - args = argparser.parse_args() + for search_result in search_response.get('items', []): + if search_result['id']['kind'] == 'youtube#video': + videos.append('%s (%s)' % (search_result['snippet']['title'], + search_result['id']['videoId'])) + elif search_result['id']['kind'] == 'youtube#channel': + channels.append('%s (%s)' % (search_result['snippet']['title'], + search_result['id']['channelId'])) + elif search_result['id']['kind'] == 'youtube#playlist': + playlists.append('%s (%s)' % (search_result['snippet']['title'], + search_result['id']['playlistId'])) + + print 'Videos:\n', '\n'.join(videos), '\n' + print 'Channels:\n', '\n'.join(channels), '\n' + print 'Playlists:\n', '\n'.join(playlists), '\n' + + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('--q', help='Search term', default='Google') + parser.add_argument('--max-results', help='Max results', default=25) + args = parser.parse_args() try: youtube_search(args) except HttpError, e: - print "An HTTP error %d occurred:\n%s" % (e.resp.status, e.content) + print 'An HTTP error %d occurred:\n%s' % (e.resp.status, e.content)