Exemplo n.º 1
0
    def test_search(self):
        index = 'popularvideo'
        resource_filepath = self.store_mapping[index]
        stored_response = json.loads(open(resource_filepath).read())

        responses.add(
            responses.GET,
            '{}{}'.format(API_ROOT, stored_response.get('_url')),
            # _url contains only the short path like /popular?page=2&per_page=5
            json=stored_response.get('body'),
            status=stored_response.get('status_code'),
            content_type='application/json',
            adding_headers=stored_response.get('headers'),
            match_querystring=True,
        )
        py_pexels = PyPexels(api_key=api_key)
        search_results_page = py_pexels.videos_popular(page=2, per_page=5)

        # Page properties
        print(search_results_page.page)
        print(search_results_page.per_page)
        print(search_results_page.has_next)
        print(search_results_page.has_previous)
        print(search_results_page.link_self)
        print(search_results_page.link_first)
        print(search_results_page.link_last)
        print(search_results_page.link_next)
        print(search_results_page.link_previous)

        # Entries
        for video in search_results_page.entries:
            print(video.id, video.user, video.width, video.height, video.url)
            print(video.video_files)
Exemplo n.º 2
0
logging.basicConfig(filename='app_video_popular.log', level=logging.DEBUG)

# pypexels logger defaults to level logging.ERROR
# If you need to change that, use getLogger/setLevel
# on the module logger, like this:
logging.getLogger(PyPexels.logger_name).setLevel(logging.DEBUG)

# add a headers to the log
logger.debug(80 * '=')
logging.debug('Testing PyPexels.videos_popular()')
logger.debug(80 * '=')

# instantiate PyPexels object
py_pexel = PyPexels(api_key=api_key)

# Start with the generic collection, maximize number of items per page
# Note: this will run until all popular videos have been visited,
#       unless a connection error occurs.
#       Typically the API hourly limit gets hit during this
#
#  Note2: the video API is not currently (May 2020) producing next_page/prev_page links
#         so this example will not be able to keep walking forward
#
popular_videos_page = py_pexel.videos_popular(per_page=40)
while True:
    for video in popular_videos_page.entries:
        print(video.id, video.user.get('name'), video.url)
    if not popular_videos_page.has_next:
        break
    popular_videos_page = popular_videos_page.get_next_page()