Source code for exporters.writers.console_writer

from exporters.writers.base_writer import BaseWriter, ItemsLimitReached


[docs]class ConsoleWriter(BaseWriter): """ It is just a writer with testing purposes. It prints every item in console. It has no other options. """ def __init__(self, options, *args, **kwargs): super(ConsoleWriter, self).__init__(options, *args, **kwargs) self.logger.info('ConsoleWriter has been initiated') self.pretty_print = self.options.get('pretty_print', False) header = self.export_formatter.format_header() if header: print(header)
[docs] def write_batch(self, batch): for item in batch: print(self.export_formatter.format(item)) self.increment_written_items() if self.items_limit and self.items_limit == self.get_metadata('items_count'): raise ItemsLimitReached('Finishing job after items_limit reached: {} items written.' .format(self.get_metadata('items_count'))) self.logger.debug('Wrote items')
[docs] def close(self): super(ConsoleWriter, self).close() footer = self.export_formatter.format_footer() if footer: print(footer)