diff --git a/mlair/run_modules/pre_processing.py b/mlair/run_modules/pre_processing.py index 7f3ce51e442eb101d1e0231d42a9be5741c7a958..4d90f87b501b040bf5dd044e6b038aed9e626ffc 100644 --- a/mlair/run_modules/pre_processing.py +++ b/mlair/run_modules/pre_processing.py @@ -5,11 +5,11 @@ __date__ = '2019-11-25' import logging import os +import traceback from typing import Tuple import multiprocessing import requests import psutil -import traceback import numpy as np import pandas as pd @@ -338,6 +338,14 @@ def f_proc(data_handler, station, name_affix, store, **kwargs): res = data_handler.build(station, name_affix=name_affix, store_processed_data=store, **kwargs) except (AttributeError, EmptyQueryResult, KeyError, requests.ConnectionError, ValueError) as e: formatted_lines = traceback.format_exc().splitlines() - logging.info(f"remove station {station} because it raised an error: {e} (from {' | '.join(formatted_lines[-3:])}") + logging.info( + f"remove station {station} because it raised an error: {e} -> {' | '.join(f_inspect_error(formatted_lines))}") res = None return res, station + + +def f_inspect_error(formatted): + for i in range(len(formatted) - 1, -1, -1): + if "mlair/mlair" not in formatted[i]: + return formatted[i - 3:i] + return formatted[-3:0]