diff options
-rw-r--r-- | CHANGELOG | 2 | ||||
-rw-r--r-- | prettytable.py | 13 |
2 files changed, 15 insertions, 0 deletions
@@ -1,5 +1,7 @@ ########## PrettyTable 0.8 - Oct XX, 2013 ########### +* New "paginate" method can be used to produce strings suitable + for piping to lp/lpr. * from_html now handles HTML tables with colspan, rather than choking on them. * Added "min_width", "min_table_width" and "max_table_width" diff --git a/prettytable.py b/prettytable.py index 38bf75a..5434e6d 100644 --- a/prettytable.py +++ b/prettytable.py @@ -1304,6 +1304,19 @@ class PrettyTable(object): return "\n".join(bits) + def paginate(self, page_length=58, **kwargs): + + pages = [] + kwargs["start"] = kwargs.get("start", 0) + true_end = kwargs.get("end", self.rowcount) + while True: + kwargs["end"] = min(kwargs["start"] + page_length, true_end) + pages.append(self.get_string(**kwargs)) + if kwargs["end"] == true_end: + break + kwargs["start"] += page_length + return "\f".join(pages) + ############################## # HTML STRING METHODS # ############################## |