Skip to content
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

Fix can't compare offset-naive and offset-aware datetimes error #70

Merged

Conversation

kaitlynmcgoldrick
Copy link
Contributor

@kaitlynmcgoldrick kaitlynmcgoldrick commented Aug 25, 2020

Fixes Issue #69

Testing

Remove the new code in icalevents/icalparser.py and run tests, the new test should fail. Put the code back and the test should pass.

@codecov
Copy link

codecov bot commented Aug 25, 2020

Codecov Report

Merging #70 (31a1b27) into master (89f3cf7) will decrease coverage by 1.83%.
The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #70      +/-   ##
==========================================
- Coverage   84.86%   83.03%   -1.84%     
==========================================
  Files           4        4              
  Lines         337      330       -7     
  Branches       79       79              
==========================================
- Hits          286      274      -12     
- Misses         27       31       +4     
- Partials       24       25       +1     
Impacted Files Coverage Δ
icalevents/icalparser.py 83.40% <100.00%> (-1.50%) ⬇️
icalevents/icaldownload.py 71.79% <0.00%> (-6.78%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 89f3cf7...bd4a63f. Read the comment docs.

self.eventA.start = datetime(year=2017, month=2, day=3, hour=12, minute=5)
self.eventA.end = datetime(year=2017, month=2, day=3, hour=15, minute=5)
self.assertEqual('2017-02-03 12:05:00+00:00: Event A (ended)', str(self.eventA))
Copy link
Member

@Hultner Hultner Sep 17, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't see how this actually tests your proposed change. You don't test direct comparison, just the string representations.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The bug reported in #69 is that str(event) fails for all-day events, which use naive datetime objects. This tests str(event) which is where the patch is and the bug occurs. The test added here fails in master and no longer fails with this patch. The error was introduced by #66 which enforces that all_day events do not have any timezone associated with them and use naive datetimes, so no code using event.start/end may assume tz-aware datetime objects for comparison.

Copy link
Member

@Hultner Hultner Feb 11, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, I see now.
For some reason I missed that this was in the __str__-method when I reviewed it the first time.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the pointer in the right direction @minrk.

I’ve approved and merged this now, I can unfortunately not release new versions to pypi as I don’t have the credentials so we’ll have to wait for @irgangla to get this released.

@Hultner Hultner merged commit fee7f42 into jazzband:master Feb 11, 2021
@SkiTheSlicer
Copy link

any chance this will get pushed to pypi anytime soon?

@eigenmannmartin
Copy link
Member

I am still waiting for access rights - sorry @SkiTheSlicer

capuanob pushed a commit to ennamarie19/icalevents that referenced this pull request Mar 6, 2023
…set-datetimes-error

Fix can't compare offset-naive and offset-aware datetimes error
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants