fractal-analytics-platform / fractal-tasks-core

Main tasks for the Fractal analytics platform
https://fractal-analytics-platform.github.io/fractal-tasks-core/
BSD 3-Clause "New" or "Revised" License
12 stars 5 forks source link

Catch error in Yokogawa parsing when xml files don't exist #628

Open jluethi opened 7 months ago

jluethi commented 7 months ago

Currently, the traceback for when the mlf/mrf files are missing is not very obvious. We could improve on that.

cc @adrtsc

  File "/net/nfs4/pelkmanslab-fileserver-fractal/data/homes/fractal/20230627_joel_fractal/fractal-demos/examples/server/FRACTAL_TASKS_DIR/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.10/site-packages/fractal_tasks_core/tasks/create_ome_zarr_multiplex.py", line 279, in create_ome_zarr_multiplex
    site_metadata, total_files = parse_yokogawa_metadata(
  File "/data/homes/fractal/20230627_joel_fractal/fractal-demos/examples/server/FRACTAL_TASKS_DIR/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.10/site-packages/fractal_tasks_core/lib_metadata_parsing.py", line 50, in parse_yokogawa_metadata
    mrf_frame, mlf_frame, error_count = read_metadata_files(
  File "/data/homes/fractal/20230627_joel_fractal/fractal-demos/examples/server/FRACTAL_TASKS_DIR/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.10/site-packages/fractal_tasks_core/lib_metadata_parsing.py", line 146, in read_metadata_files
    mlf_frame, error_count = read_mlf_file(mlf_path, filename_patterns)
  File "/data/homes/fractal/20230627_joel_fractal/fractal-demos/examples/server/FRACTAL_TASKS_DIR/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.10/site-packages/fractal_tasks_core/lib_metadata_parsing.py", line 211, in read_mlf_file
    mlf_frame_raw = pd.read_xml(mlf_path)
  File "/data/homes/fractal/20230627_joel_fractal/fractal-demos/examples/server/FRACTAL_TASKS_DIR/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.10/site-packages/pandas/util/_decorators.py", line 331, in wrapper
    return func(*args, **kwargs)
  File "/data/homes/fractal/20230627_joel_fractal/fractal-demos/examples/server/FRACTAL_TASKS_DIR/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.10/site-packages/pandas/io/xml.py", line 1088, in read_xml
    return _parse(
  File "/data/homes/fractal/20230627_joel_fractal/fractal-demos/examples/server/FRACTAL_TASKS_DIR/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.10/site-packages/pandas/io/xml.py", line 827, in _parse
    data_dicts = p.parse_data()
  File "/data/homes/fractal/20230627_joel_fractal/fractal-demos/examples/server/FRACTAL_TASKS_DIR/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.10/site-packages/pandas/io/xml.py", line 551, in parse_data
    self.xml_doc = self._parse_doc(self.path_or_buffer)
  File "/data/homes/fractal/20230627_joel_fractal/fractal-demos/examples/server/FRACTAL_TASKS_DIR/.fractal/fractal-tasks-core0.13.1/venv/lib/python3.10/site-packages/pandas/io/xml.py", line 636, in _parse_doc
    doc = fromstring(
  File "src/lxml/etree.pyx", line 3257, in lxml.etree.fromstring
  File "src/lxml/parser.pxi", line 1916, in lxml.etree._parseMemoryDocument
  File "src/lxml/parser.pxi", line 1803, in lxml.etree._parseDoc
  File "src/lxml/parser.pxi", line 1144, in lxml.etree._BaseParser._parseDoc
  File "src/lxml/parser.pxi", line 618, in lxml.etree._ParserContext._handleParseResultDoc
  File "src/lxml/parser.pxi", line 728, in lxml.etree._handleParseResult
  File "src/lxml/parser.pxi", line 657, in lxml.etree._raiseParseError
  File "<string>", line 1
lxml.etree.XMLSyntaxError: Start tag expected, '<' not found, line 1, column 1