-
Notifications
You must be signed in to change notification settings - Fork 5.9k
next_t property is added to Job class #1685
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
next_t property is added to Job class #1685
Conversation
Added new property to Job class - next_t, it will show the datetime when the job will be executed next time. The property is updated during JobQueue._put method, right after job is added to queue. Related to python-telegram-bot#1676
Bibo-Joshi
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR! Please see my comments below.
Also, we'll need test cases for the new property. Please have a look at test_jobqueue.py and add test cases that make sure that both the setter and getter for next_t work correctly (especially between calls of repeating jobs).
Test Official is failing because we haven't yet implemented Bot API 4.5 - you can ignore that.
1. Added setter for next_t - now JobQueue doesn't access protected Job._next_t. 2. Fixed Job class docstring. 3. Added test for next_t property. 4. Set next_t to None for run_once jobs that already ran.
1. next_t setter now can accept datetime type. 2. added test for setting datetime to next_t and added some asserts that check tests results. 3. Also noticed Job.days setter raises ValueError when it's more appropriate to raise TypeError.
1. Changed type of error raised by interval setter from ValueError to TypeError.. 2. Fixed test_warning after changing type of errors in Job.days and Job.interval. 3. Added Number type to next_t setter - now it can accept int too.
e423447 to
f05fe3f
Compare
Added _UTC and _UtcOffsetTimezone for python 2 compatibility
f05fe3f to
8c04d69
Compare
2dfcd29 to
56fe5f7
Compare
1. Replaced "datetime.replace tzinfo" with "datetime.astimezone" 2. Moved testing next_t setter to separate test. 3. Changed test_job_next_t_setter so it now uses non UTC timezone.
56fe5f7 to
3c63112
Compare
70f352f to
0e4b056
Compare
1. Added option to define Job.tzinfo from run_once (by when.tzinfo) and run_repeating (first.tzinfo) 2. Added test to check that tzinfo is always passed correctly.
0e4b056 to
051f4b2
Compare
|
Because after this PR |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In general, looks very good. We definitely should have it.
However, some small changes a required to make it air-tight.
# Conflicts: # tests/test_jobqueue.py
|
Codacy fails as expected, test fail is unrelated. Merging. Thank you for your contribution, @Andrej730! |
* added monthly job * removed fold argument * addressed pr comments * addressed pr comments * made changes from pr review * updated comments * clean up code * Update .pre-commit-config.yaml * Minor cleanup * Update according to #1685, minor robustness changes Co-authored-by: Hinrich Mahler <hinrich.mahler@freenet.de>
Added new property to Job class - next_t, it will show the datetime when the job will be executed next time.The property is updated during JobQueue._put method, right after job is added to queue.
Related to #1676