""" Call validation code """ import logging from io import BytesIO from validata_core.source_helpers import build_tabulator_params log = logging.getLogger(__name__) class ValidataSource(): """ Handy class to handle different sort of data source """ def __init__(self, type_, name, source): """ Initialization """ self.type = type_ self.name = name self.source = source info = build_tabulator_params(type, name, source) self.source = info.get('source') self.format = info.get('format') self.scheme = info.get('scheme') def is_url(self): return self.type == 'url' def get_url(self): return self.source def get_filename(self): return self.name def get_filecontent(self): return self.source def bytes_data(f): """Gets bytes data from Werkzeug FileStorage instance""" iob = BytesIO() f.save(iob) iob.seek(0) return iob.getvalue()