def test_blank_note_line(): """ Temporary solution to avoid #37 & #40 Guarantee that issues #37 & #40 will not repeat. Maybe change this to test with load_rule instead? """ blank_note_line = "* Sea-Bird SBE9 Data File:\n*\n* \n# name 3 = depSM\n# file_type = ascii\n*END*\n1\n" from seabird.utils import load_rule load_rule(blank_note_line)
def __init__(self, raw_text, defaults=None): module_logger.debug('Initializing CNV class') # Clean empty lines first self.raw_text = re.sub('\n\s*(?=\n)', '', raw_text) self.defaults = defaults self.attrs = {} # ---- self.rule, self.parsed = load_rule(self.raw_text) if not hasattr(self, 'parsed'): return self.get_intro() self.get_attrs() self.prepare_data() self.get_datetime() self.get_location() # Think well how/where to implement this. It should overwrite # the regular attributes input, but might be necessary to load the # real attributes to respond right. # It definitely should not be here, but inside some function. try: for k in defaults['attrs']: self.attrs[k] = defaults['attrs'][k] except: pass if 'bindata' in self.raw_data().keys(): self.load_bindata() elif 'bottledata' in self.raw_data().keys(): self.load_bottledata() else: self.load_data() self.products() self.check_consistency()
def __init__(self, raw_text, defaults=None): module_logger.debug('Initializing CNV class') self.raw_text = raw_text self.defaults = defaults self.attrs = {} # ---- self.rule, self.parsed = load_rule(self.raw_text) if not hasattr(self, 'parsed'): return self.get_intro() self.get_attrs() self.prepare_data() self.get_datetime() self.get_location() # Think well how/where to implement this. It should overwrite # the regular attributes input, but might be necessary to load the # real attributes to respond right. # It definitely should not be here, but inside some function. try: for k in defaults['attrs']: self.attrs[k] = defaults['attrs'][k] except: pass if 'bindata' in self.raw_data().keys(): self.load_bindata() elif 'bottledata' in self.raw_data().keys(): self.load_bottledata() else: self.load_data() self.products() self.check_consistency()
def __init__(self, raw_text, defaults=None, logger=None): logging.getLogger(logger or __name__) self.raw_text = raw_text self.defaults = defaults self.attributes = {} # ---- self.rule, self.parsed = load_rule(self.raw_text) if not hasattr(self, 'parsed'): return self.get_intro() self.get_attributes() self.prepare_data() self.get_datetime() self.get_location() # Think well how/where to implement this. It should overwrite # the regular attributes input, but might be necessary to load the # real attributes to respond right. # It definitely should not be here, but inside some function. try: for k in defaults['attributes']: self.attributes[k] = defaults['attributes'][k] except: pass if 'bindata' in self.raw_data().keys(): self.load_bindata() elif 'bottledata' in self.raw_data().keys(): self.load_bottledata() else: self.load_data() self.products() self.check_consistency()