summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluke@maurits.id.au <luke@maurits.id.au@0f58610c-415a-11de-9c03-5d6cfad8e937>2013-10-07 22:04:12 +0000
committerluke@maurits.id.au <luke@maurits.id.au@0f58610c-415a-11de-9c03-5d6cfad8e937>2013-10-07 22:04:12 +0000
commit332e373583f3d83704a98b50d5af72e653efe3a0 (patch)
treeb192247e9e30f51e0930b8d7630979075c8d93d8
parentf80bf107fef6bbed80efb6011e8def5b0fcd4be2 (diff)
downloadpython-prettytable-332e373583f3d83704a98b50d5af72e653efe3a0.tar.gz
First implementation of paginate method.
git-svn-id: http://prettytable.googlecode.com/svn/trunk@143 0f58610c-415a-11de-9c03-5d6cfad8e937
-rw-r--r--CHANGELOG2
-rw-r--r--prettytable.py13
2 files changed, 15 insertions, 0 deletions
diff --git a/CHANGELOG b/CHANGELOG
index b68925b..7a4bfaa 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -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 #
##############################