How can I capture the error message?

When doing a get_timeseries request, there are times that the RICs list I submitted included some non-valid RICs for one reason or another. Usually do to corporate actions. Some of the sample error message are as follows:

Error with OMAM.N: No data available for the requested date range or Error with LNCE.OQ: Invalid RIC

This error prints out in the ipython console, but I would like to be able to capture these errors so I can create of list of the RIC's that are causing the errors. How would I do this?

I looked at the Eikon Python API reference guide but I cannot figure out how to use the EikonError class to get the information I am after.

Thanks for your help.

Richard

Best Answer

  • Alex Putkov.1
    Alex Putkov.1 ✭✭✭✭✭
    Answer ✓

    get_timeseries method only raises an exception when it cannot retrieve timeseries for all instruments in the list. If get_timeseries succeeds in retrieving timeseries for at least one instrument, then for those instruments where retrieval fails get_timeseries method merely logs a warning.

    The only way I know to capture messages created by a Python logger is by adding a handler to the logger. Here's an example you can easily adapt for your purpose:
    http://alanwsmith.com/capturing-python-log-output-in-a-variable
    The name of the logger that eikon package utilizes is 'pyeikon'. You can get it by calling logging.getLogger('pyeikon')

Answers