QuantConnect / QuantConnect/Lean
Better Error Reporting from Custom Data Types
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 21.7k
- Forks
- 5.3k
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 34
Description
Expected Behavior
LEAN provides information about errors in Custom Data Types.
Actual Behavior
The Reader of Custom Data types doesn't always display the error to the user.
Potential Solution
TextSubscriptionDataSourceReader.ReaderError should not be null. OnReaderError will not log anywhere if it is.
Reproducing the Problem
Run CustomDataBitcoinAlgorithm in live mode. There is a bug at
coin.EndTime = datetime.utcnow().astimezone(timezone(str(config.ExchangeTimeZone))).replace(tzinfo=None)
since the timezone constructor doesn't accept a string argument. We should receive a message:
'timezone() argument 1 must be datetime.timedelta, not str'
we can fix that line with
coin.EndTime = Extensions.ConvertFromUtc(datetime.utcnow(), config.ExchangeTimeZone)
Checklist
- I have completely filled out this template
- I have confirmed that this issue exists on the current
masterbranch - I have confirmed that this is not a duplicate issue by searching issues
- I have provided detailed steps to reproduce the issue
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with TextSubscriptionDataSourceReader.ReaderError and its OnReaderError path, then reproduce the problem by running CustomDataBitcoinAlgorithm in live mode. Check how the reader handles the shown Python timezone error; done means the error is no longer lost and the expected message is displayed to the user.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, python
- Domain
- backend, data
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100