def test_find_first_empty_line(tmpdir): file_name = '/'.join((str(tmpdir), 'file.txt')) f = open(file_name, 'w') f.write('row\n') f.write('row\n') f.write('row\n') f.write('\n') f.write('row\n') f.close() assert utils.find_first_empty_line(file_name) == 4
def test_find_first_empty_line(tmpdir): file_name = "/".join((str(tmpdir), "file.txt")) f = open(file_name, "w") f.write("row\n") f.write("row\n") f.write("row\n") f.write("\n") f.write("row\n") f.close() assert utils.find_first_empty_line(file_name) == 4
def _find_ceilo_model(file): if file.endswith('nc'): return 'chm15k' first_empty_line = utils.find_first_empty_line(file) hint = linecache.getline(file, first_empty_line + 2)[1:5] if hint == 'CL01': return 'cl51' elif hint == 'CL02': return 'cl31' elif hint == 'CT02': return 'ct25k' return None
def _find_ceilo_model(full_path: str) -> str: if full_path.lower().endswith('.nc'): return 'chm15k' first_empty_line = utils.find_first_empty_line(full_path) max_number_of_empty_lines = 10 for n in range(1, max_number_of_empty_lines): line = linecache.getline(full_path, first_empty_line + n) if not utils.is_empty_line(line): line = linecache.getline(full_path, first_empty_line + n + 1) break if 'CL' in line: return 'cl31_or_cl51' if 'CT' in line: return 'ct25k' raise RuntimeError('Error: Unknown ceilo model.')
def _find_ceilo_model(full_path: str) -> str: try: nc = netCDF4.Dataset(full_path) title = nc.title nc.close() for identifier in ["cl61d", "cl61-d"]: if identifier in title.lower() or identifier in full_path.lower(): return "cl61d" return "chm15k" except OSError: line = "" first_empty_line = utils.find_first_empty_line(full_path) max_number_of_empty_lines = 10 for n in range(1, max_number_of_empty_lines): line = linecache.getline(full_path, first_empty_line + n) if not utils.is_empty_line(line): line = linecache.getline(full_path, first_empty_line + n + 1) break if "CL" in line: return "cl31_or_cl51" if "CT" in line: return "ct25k" raise RuntimeError("Error: Unknown ceilo model.")