| 87 | self._index_file = None |
| 88 | |
| 89 | def define_table(self, columns): |
| 90 | spec_id = len(self._all_table_specs) |
| 91 | self._print('<style>') |
| 92 | for c in columns: |
| 93 | css = {} if c.css is None else c.css |
| 94 | self._print('.table{}_column_{}'.format(spec_id, c.identifier), '{', |
| 95 | ';'.join([k + ':' + v for k, v in css.items()]), '}') |
| 96 | css = {} if c.td_css is None else c.td_css |
| 97 | self._print('.table{}_td_{}'.format(spec_id, c.identifier), '{', |
| 98 | ';'.join([k + ':' + v for k, v in css.items()]), '}') |
| 99 | self._print('</style>') |
| 100 | self._all_table_specs[spec_id] = columns |
| 101 | return spec_id |
| 102 | |
| 103 | @contextlib.contextmanager |
| 104 | def table(self, name, columns_or_spec_id): |