Result

Some requests returns multiple Resources, for that reason the Github API paginate it and pygithub3 too

Smart Result

class pygithub3.core.result.smart.Result(method)

It’s a very lazy paginator beacuse only do a real request when is needed, besides it’s cached, so never repeats a request.

You have several ways to consume it

  1. Iterating over the result:

    result = some_request()
    for page in result:
        for resource in page:
            print resource
    
  2. With a generator:

    result = some_request()
    for resource in result.iterator():
        print resource
    
  3. As a list:

    result = some_request()
    print result.all()
    
  4. Also you can request some page manually

    Each Page is an iterator and contains resources:

    result = some_request()
    assert result.pages > 3
    page3 = result.get_page(3)
    page3_resources = list(page3)
    
get_page(page)

Get Page of resources

Parameters:page (int) – Page number
pages

Total number of pages in request

Normal Result

class pygithub3.core.result.normal.Result(method)

It’s a middle-lazy iterator, because to get a new page it needs make a real request, besides it’s cached, so never repeats a request.

You have several ways to consume it

  1. Iterating over the result:

    result = some_request()
    for page in result:
        for resource in page:
            print resource
    
  2. With a generator:

    result = some_request()
    for resource in result.iterator():
        print resource
    
  3. As a list:

    result = some_request()
    print result.all()