def _get_paging_controls(request): """Parses min, max, and/or count queries into A paging controls dict. """ min_pos = request.url.query.get('min', None) max_pos = request.url.query.get('max', None) count = request.url.query.get('count', None) controls = {} if count is not None: try: controls['count'] = int(count) except ValueError: LOGGER.debug('Request query had an invalid count: %s', count) raise errors.CountInvalid() if controls['count'] <= 0: LOGGER.debug('Request query had an invalid count: %s', count) raise errors.CountInvalid() if min_pos is not None: try: controls['start_index'] = int(min_pos) except ValueError: controls['start_id'] = min_pos elif max_pos is not None: try: controls['end_index'] = int(max_pos) except ValueError: controls['end_id'] = max_pos return controls
def _get_paging_controls(request): """Parses start and/or limit queries into a paging controls dict. """ start = request.url.query.get('start', None) limit = request.url.query.get('limit', None) controls = {} if limit is not None: try: controls['limit'] = int(limit) except ValueError: LOGGER.debug('Request query had an invalid limit: %s', limit) raise errors.CountInvalid() if controls['limit'] <= 0: LOGGER.debug('Request query had an invalid limit: %s', limit) raise errors.CountInvalid() if start is not None: controls['start'] = start return controls