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.
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:
The name of the logger that eikon package utilizes is 'pyeikon'. You can get it by calling logging.getLogger('pyeikon')
The get_timerseries() call does document it will throw an exception upon an error. So when I tried this, I do see the exception being thrown when I define an invalid symbol:
However, when I include a valid symbol within my list, as you did, an exception is not thrown.
In both cases, we can see the error message within the console - as you observed. Let me reach out to the product team to determine what is expected and how an application is expected to trap this issue.