Index: paginate.py =================================================================== --- paginate.py (revision 3580) +++ paginate.py (working copy) @@ -200,7 +200,15 @@ # we replace the var with the sliced one endpoint = offset + limit_ log.debug("slicing data between %d and %d", offset, endpoint) - output[var_name] = var_data[offset:endpoint] + if turbogears.config.get('paginate.simulate_offset', False): + var_data_iter = iter(var_data[:endpoint]) + # skip over the number of records specified by offset + for i in range(offset): + var_data_iter.next() + # return the records that remain + output[var_name] = list(var_data_iter) + else: + output[var_name] = var_data[offset:endpoint] return output return decorated