boto/botocore — pull request #408 by kyleknap (2014-12-09 21:55:02+00:00)
Title: Enable use of page_size for clients

So the reason I made this pull request is because, you cannot paginate using a page size with clients. This is what the error you get before my PR:
```
>>> import botocore.session
>>> session = botocore.session.get_session()
>>> s3 = session.create_client('s3')
>>> paginator = s3.get_paginator('list_objects')
>>> for page in paginator.paginate(Bucket='mybucketfoo', page_size=1):
... print page
...
Traceback (most recent call last):
File "", line 1, in
File "/Users/kyleknap/Documents/GitHub/botocore/botocore/paginate.py", line 67, in __iter__
self._inject_starting_params(current_kwargs)
File "/Users/kyleknap/Documents/GitHub/botocore/botocore/paginate.py", line 140, in _inject_starting_params
page_size_name = self._operation.pagination['limit_key']
AttributeError: 'PageIterator' object has no attribute '_operation'

```
This also probably affects boto3 since it uses clients to paginate as well.

The fix was to retrieve the ``limit_key`` from the pagination config instead of relying on an Operation object for the ``limit_key``, which the clients had no access to.

cc @jamesls @danielgtaylor