diff options
Diffstat (limited to '')
-rw-r--r-- | bin/utils/bar_chart.py | 2 | ||||
-rw-r--r-- | bin/utils/io.py | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/bin/utils/bar_chart.py b/bin/utils/bar_chart.py index 522dfed..f051efc 100644 --- a/bin/utils/bar_chart.py +++ b/bin/utils/bar_chart.py @@ -7,6 +7,7 @@ import matplotlib.pyplot as plt from matplotlib import ticker import numpy as np + class BarChartBuilder: _BAR_HEIGHT = .5 @@ -130,6 +131,7 @@ class BarChartBuilder: def save(self, path): self._fig.savefig(path, bbox_inches='tight') + if __name__ == '__main__': import argparse parser = argparse.ArgumentParser() diff --git a/bin/utils/io.py b/bin/utils/io.py index 04baa6a..bb8eef9 100644 --- a/bin/utils/io.py +++ b/bin/utils/io.py @@ -8,6 +8,7 @@ import csv import json import sys + class FileWriterJSON: def __init__(self, fd=sys.stdout): self._fd = fd @@ -16,13 +17,14 @@ class FileWriterJSON: self._fd.write(json.dumps(something, indent=3, ensure_ascii=False)) self._fd.write('\n') + class FileWriterCSV: def __init__(self, fd=sys.stdout): self._writer = csv.writer(fd, lineterminator='\n') @staticmethod def _convert_row_old_python(row): - if isinstance(row, list) or isinstance(row, tuple): + if isinstance(row, (list, tuple)): return row return list(row) @@ -31,6 +33,7 @@ class FileWriterCSV: row = self._convert_row_old_python(row) self._writer.writerow(row) + @contextmanager def _open_file(path=None, default=None, **kwargs): if path is None: @@ -39,8 +42,10 @@ def _open_file(path=None, default=None, **kwargs): with open(path, **kwargs) as fd: yield fd + def open_output_text_file(path=None): return _open_file(path, default=sys.stdout, mode='w', encoding='utf-8') + def open_output_binary_file(path=None): return _open_file(path, default=sys.stdout, mode='wb') |