diff options
| author | luke.maurits <luke.maurits@0f58610c-415a-11de-9c03-5d6cfad8e937> | 2009-05-27 13:32:45 +0000 |
|---|---|---|
| committer | luke.maurits <luke.maurits@0f58610c-415a-11de-9c03-5d6cfad8e937> | 2009-05-27 13:32:45 +0000 |
| commit | dd669fdcaec7ee4c12bdcc3eda9ec23e6a58d62a (patch) | |
| tree | ab1a32306f6f85a5f1f60d757af0060ddab98240 | |
| parent | 748d90a5dc10d6f9eb82ec6c3af10f67ed5612bc (diff) | |
| download | python-prettytable-ptable-dd669fdcaec7ee4c12bdcc3eda9ec23e6a58d62a.tar.gz | |
Implemented set_style method and some example pre-sets.
| -rw-r--r-- | src/prettytable.py | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/src/prettytable.py b/src/prettytable.py index d449a2c..661be76 100644 --- a/src/prettytable.py +++ b/src/prettytable.py @@ -33,12 +33,20 @@ __VERSION__ = "TRUNK" import cgi import copy import cPickle +import random import sys +# hrule styles FRAME = 0 ALL = 1 NONE = 2 +# Table styles +DEFAULT = 10 +MSWORD_FRIENDLY = 11 +PLAIN_COLUMNS = 12 +RANDOM = 20 + def cache_clearing(method): def wrapper(self, *args, **kwargs): method(self, *args, **kwargs) @@ -224,6 +232,64 @@ class PrettyTable: self.junction_char = junction ############################## + # PRESET STYLE LOGIC # + ############################## + + def set_style(self, style): + if style == DEFAULT: + self._set_default_style() + elif style == MSWORD_FRIENDLY: + self._set_msword_style() + elif style == PLAIN_COLUMNS: + self._set_columns_style() + elif style == RANDOM: + self._set_random_style() + else: + raise Exception("Invalid pre-set style!") + + def _set_default_style(self): + + self.header = True + self.border = True + self.hrules = FRAME + self.padding_width = 1 + self.left_padding_width = 1 + self.right_padding_width = 1 + self.vertical_char = "|" + self.horizontal_char = "-" + self.junction_char = "+" + + def _set_msword_style(self): + + self.header = True + self.border = True + self.hrules = NONE + self.padding_width = 1 + self.left_padding_width = 1 + self.right_padding_width = 1 + self.vertical_char = "|" + + def _set_columns_style(self): + + self.header = True + self.border = False + self.padding_width = 1 + self.left_padding_width = 0 + self.right_padding_width = 8 + + def _set_random_style(self): + + self.header = random.choice((True, False)) + self.border = random.choice((True, False)) + self.hrules = random.choice((ALL, FRAME, NONE)) + self.padding_width = random.randint(0,5) + self.left_padding_width = random.randint(0,5) + self.right_padding_width = random.randint(0,5) + self.vertical_char = random.choice("~!@#$%^&*()_+|-=\{}[];':\",./;<>?") + self.horizontal_char = random.choice("~!@#$%^&*()_+|-=\{}[];':\",./;<>?") + self.junction_char = random.choice("~!@#$%^&*()_+|-=\{}[];':\",./;<>?") + + ############################## # DATA INPUT METHODS # ############################## |
