Tomaz Muraus created LIBCLOUD-453:
-------------------------------------

             Summary: Provide abstraction for data retrieval for the paginated 
APIs
                 Key: LIBCLOUD-453
                 URL: https://issues.apache.org/jira/browse/LIBCLOUD-453
             Project: Libcloud
          Issue Type: Task
          Components: Core
            Reporter: Tomaz Muraus
            Priority: Minor


Currently, we don't have a standard abstraction for data retrieval in the 
paginated APIs. This means each driver needs to implement it separately which 
results in a lot of duplicated code.

There are multiple ways we can solve this problem. One of them is to add a 
"PaginationMixin" class which can be reused across the APIs and provides base 
functionality similar to the existing "_get_more" and "_get_data" methods. 
Person implementing the driver would obviously still need to provide some 
information such as transformation function, how to get the last key and how to 
check if the result set has been exhausted

Here is an example of how this is currently solved in the Zerigo DNS driver - 
https://github.com/apache/libcloud/blob/trunk/libcloud/dns/drivers/zerigo.py#L438



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to