diff options
| author | Timo Furrer <tuxtimo@gmail.com> | 2019-03-02 12:16:00 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-03-02 12:16:00 +0100 |
| commit | 3ba8d529fc814833108f351fd8191e22fd0fc9e8 (patch) | |
| tree | ded177d40b851ef7cef1bb3548d83d583c3f7a95 /tablib/formats/_jira.py | |
| parent | a8bdb4b28f94aadc6bed5421e2d298057b4c4fdf (diff) | |
| parent | 102073c426d7a76384e75379abbf1a3b0ed78662 (diff) | |
| download | tablib-3ba8d529fc814833108f351fd8191e22fd0fc9e8.tar.gz | |
Merge pull request #348 from mloesch/jira
Add Jira table export
Diffstat (limited to 'tablib/formats/_jira.py')
| -rw-r--r-- | tablib/formats/_jira.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tablib/formats/_jira.py b/tablib/formats/_jira.py new file mode 100644 index 0000000..55fce52 --- /dev/null +++ b/tablib/formats/_jira.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- + +"""Tablib - Jira table export support. + + Generates a Jira table from the dataset. +""" +from tablib.compat import unicode + +title = 'jira' + + +def export_set(dataset): + """Formats the dataset according to the Jira table syntax: + + ||heading 1||heading 2||heading 3|| + |col A1|col A2|col A3| + |col B1|col B2|col B3| + + :param dataset: dataset to serialize + :type dataset: tablib.core.Dataset + """ + + header = _get_header(dataset.headers) if dataset.headers else '' + body = _get_body(dataset) + return '%s\n%s' % (header, body) if header else body + + +def _get_body(dataset): + return '\n'.join([_serialize_row(row) for row in dataset]) + + +def _get_header(headers): + return _serialize_row(headers, delimiter='||') + + +def _serialize_row(row, delimiter='|'): + return '%s%s%s' % (delimiter, + delimiter.join([unicode(item) if item else ' ' for item in row]), + delimiter) |
