Skip to content

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.

def test_str(self):
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
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