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

Zoneinfo #623

Merged
merged 72 commits into from
Jun 20, 2024
Merged

Zoneinfo #623

merged 72 commits into from
Jun 20, 2024

Conversation

niccokunzmann
Copy link
Member

@niccokunzmann niccokunzmann commented Jun 4, 2024

This makes a start at #609.

My idea of how to go about it:

  • Move all pytz usage into icalendar.timzone.pytz (refactoring)
  • Create a abstract base class that is the interface that is used
  • Create an alternative implementation for zoneinfo

grafik

TODO:

@coveralls
Copy link

coveralls commented Jun 4, 2024

Pull Request Test Coverage Report for Build 9480387615

Details

  • 703 of 713 (98.6%) changed or added relevant lines in 27 files are covered.
  • 1 unchanged line in 1 file lost coverage.
  • Overall coverage decreased (-0.02%) to 96.682%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/icalendar/cal.py 35 36 97.22%
src/icalendar/timezone/init.py 6 7 85.71%
src/icalendar/timezone/pytz.py 36 37 97.3%
src/icalendar/timezone/tzp.py 64 66 96.97%
src/icalendar/timezone/zoneinfo.py 73 75 97.33%
src/icalendar/tests/conftest.py 64 67 95.52%
Files with Coverage Reduction New Missed Lines %
src/icalendar/tests/conftest.py 1 95.97%
Totals Coverage Status
Change from base Build 9241523599: -0.02%
Covered Lines: 3030
Relevant Lines: 3134

💛 - Coveralls

@coveralls
Copy link

Pull Request Test Coverage Report for Build 9366927231

Details

  • 32 of 33 (96.97%) changed or added relevant lines in 6 files are covered.
  • 6 unchanged lines in 3 files lost coverage.
  • Overall coverage decreased (-0.002%) to 96.704%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/icalendar/timezone/provider.py 4 5 80.0%
Files with Coverage Reduction New Missed Lines %
src/icalendar/tests/test_cli_tool.py 2 88.0%
src/icalendar/tests/test_timezoned.py 2 99.08%
src/icalendar/tests/conftest.py 2 96.33%
Totals Coverage Status
Change from base Build 9241523599: -0.002%
Covered Lines: 2787
Relevant Lines: 2882

💛 - Coveralls

1 similar comment
@coveralls
Copy link

Pull Request Test Coverage Report for Build 9366927231

Details

  • 32 of 33 (96.97%) changed or added relevant lines in 6 files are covered.
  • 6 unchanged lines in 3 files lost coverage.
  • Overall coverage decreased (-0.002%) to 96.704%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/icalendar/timezone/provider.py 4 5 80.0%
Files with Coverage Reduction New Missed Lines %
src/icalendar/tests/test_cli_tool.py 2 88.0%
src/icalendar/tests/test_timezoned.py 2 99.08%
src/icalendar/tests/conftest.py 2 96.33%
Totals Coverage Status
Change from base Build 9241523599: -0.002%
Covered Lines: 2787
Relevant Lines: 2882

💛 - Coveralls

@niccokunzmann niccokunzmann changed the title Zoneinfo Draft: Zoneinfo Jun 4, 2024
@niccokunzmann
Copy link
Member Author

niccokunzmann commented Jun 5, 2024

There are timezones that pytz understands but zoneinfo does not know. How should we go about this?

``` FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_0-localtime] - AssertionError: PYTZ should know localtime FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_0-Factory] - AssertionError: PYTZ should know Factory FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Africa/Asmera] - AssertionError: ZONEINFO should know Africa/Asmera FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-America/Argentina/ComodRivadavia] - AssertionError: ZONEINFO should know America/Argentina/ComodRivadavia FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-America/Buenos_Aires] - AssertionError: ZONEINFO should know America/Buenos_Aires FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-America/Catamarca] - AssertionError: ZONEINFO should know America/Catamarca FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-America/Cordoba] - AssertionError: ZONEINFO should know America/Cordoba FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-America/Fort_Wayne] - AssertionError: ZONEINFO should know America/Fort_Wayne FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-America/Godthab] - AssertionError: ZONEINFO should know America/Godthab FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-America/Indianapolis] - AssertionError: ZONEINFO should know America/Indianapolis FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-America/Jujuy] - AssertionError: ZONEINFO should know America/Jujuy FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-America/Knox_IN] - AssertionError: ZONEINFO should know America/Knox_IN FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-America/Louisville] - AssertionError: ZONEINFO should know America/Louisville FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-America/Mendoza] - AssertionError: ZONEINFO should know America/Mendoza FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-America/Rosario] - AssertionError: ZONEINFO should know America/Rosario FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Antarctica/South_Pole] - AssertionError: ZONEINFO should know Antarctica/South_Pole FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Asia/Ashkhabad] - AssertionError: ZONEINFO should know Asia/Ashkhabad FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Asia/Calcutta] - AssertionError: ZONEINFO should know Asia/Calcutta FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Asia/Chungking] - AssertionError: ZONEINFO should know Asia/Chungking FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Asia/Dacca] - AssertionError: ZONEINFO should know Asia/Dacca FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Asia/Katmandu] - AssertionError: ZONEINFO should know Asia/Katmandu FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Asia/Macao] - AssertionError: ZONEINFO should know Asia/Macao FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Asia/Rangoon] - AssertionError: ZONEINFO should know Asia/Rangoon FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Asia/Saigon] - AssertionError: ZONEINFO should know Asia/Saigon FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Asia/Thimbu] - AssertionError: ZONEINFO should know Asia/Thimbu FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Asia/Ujung_Pandang] - AssertionError: ZONEINFO should know Asia/Ujung_Pandang FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Asia/Ulan_Bator] - AssertionError: ZONEINFO should know Asia/Ulan_Bator FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Atlantic/Faeroe] - AssertionError: ZONEINFO should know Atlantic/Faeroe FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Australia/ACT] - AssertionError: ZONEINFO should know Australia/ACT FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Australia/LHI] - AssertionError: ZONEINFO should know Australia/LHI FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Australia/NSW] - AssertionError: ZONEINFO should know Australia/NSW FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Australia/North] - AssertionError: ZONEINFO should know Australia/North FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Australia/Queensland] - AssertionError: ZONEINFO should know Australia/Queensland FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Australia/South] - AssertionError: ZONEINFO should know Australia/South FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Australia/Tasmania] - AssertionError: ZONEINFO should know Australia/Tasmania FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Australia/Victoria] - AssertionError: ZONEINFO should know Australia/Victoria FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Australia/West] - AssertionError: ZONEINFO should know Australia/West FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Brazil/Acre] - AssertionError: ZONEINFO should know Brazil/Acre FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Brazil/DeNoronha] - AssertionError: ZONEINFO should know Brazil/DeNoronha FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Brazil/East] - AssertionError: ZONEINFO should know Brazil/East FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Brazil/West] - AssertionError: ZONEINFO should know Brazil/West FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Canada/Atlantic] - AssertionError: ZONEINFO should know Canada/Atlantic FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Canada/Central] - AssertionError: ZONEINFO should know Canada/Central FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Canada/Eastern] - AssertionError: ZONEINFO should know Canada/Eastern FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Canada/Mountain] - AssertionError: ZONEINFO should know Canada/Mountain FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Canada/Newfoundland] - AssertionError: ZONEINFO should know Canada/Newfoundland FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Canada/Pacific] - AssertionError: ZONEINFO should know Canada/Pacific FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Canada/Saskatchewan] - AssertionError: ZONEINFO should know Canada/Saskatchewan FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Canada/Yukon] - AssertionError: ZONEINFO should know Canada/Yukon FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Chile/Continental] - AssertionError: ZONEINFO should know Chile/Continental FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Chile/EasterIsland] - AssertionError: ZONEINFO should know Chile/EasterIsland FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Cuba] - AssertionError: ZONEINFO should know Cuba FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Egypt] - AssertionError: ZONEINFO should know Egypt FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Eire] - AssertionError: ZONEINFO should know Eire FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Europe/Kiev] - AssertionError: ZONEINFO should know Europe/Kiev FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Europe/Uzhgorod] - AssertionError: ZONEINFO should know Europe/Uzhgorod FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Europe/Zaporozhye] - AssertionError: ZONEINFO should know Europe/Zaporozhye FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-GB] - AssertionError: ZONEINFO should know GB FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-GB-Eire] - AssertionError: ZONEINFO should know GB-Eire FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-GMT+0] - AssertionError: ZONEINFO should know GMT+0 FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-GMT-0] - AssertionError: ZONEINFO should know GMT-0 FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-GMT0] - AssertionError: ZONEINFO should know GMT0 FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Greenwich] - AssertionError: ZONEINFO should know Greenwich FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Hongkong] - AssertionError: ZONEINFO should know Hongkong FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Iceland] - AssertionError: ZONEINFO should know Iceland FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Iran] - AssertionError: ZONEINFO should know Iran FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Israel] - AssertionError: ZONEINFO should know Israel FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Jamaica] - AssertionError: ZONEINFO should know Jamaica FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Japan] - AssertionError: ZONEINFO should know Japan FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Kwajalein] - AssertionError: ZONEINFO should know Kwajalein FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Libya] - AssertionError: ZONEINFO should know Libya FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Mexico/BajaNorte] - AssertionError: ZONEINFO should know Mexico/BajaNorte FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Mexico/BajaSur] - AssertionError: ZONEINFO should know Mexico/BajaSur FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Mexico/General] - AssertionError: ZONEINFO should know Mexico/General FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-NZ] - AssertionError: ZONEINFO should know NZ FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-NZ-CHAT] - AssertionError: ZONEINFO should know NZ-CHAT FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Navajo] - AssertionError: ZONEINFO should know Navajo FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-PRC] - AssertionError: ZONEINFO should know PRC FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Pacific/Enderbury] - AssertionError: ZONEINFO should know Pacific/Enderbury FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Pacific/Ponape] - AssertionError: ZONEINFO should know Pacific/Ponape FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Pacific/Truk] - AssertionError: ZONEINFO should know Pacific/Truk FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Poland] - AssertionError: ZONEINFO should know Poland FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Portugal] - AssertionError: ZONEINFO should know Portugal FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-ROC] - AssertionError: ZONEINFO should know ROC FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-ROK] - AssertionError: ZONEINFO should know ROK FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Singapore] - AssertionError: ZONEINFO should know Singapore FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Turkey] - AssertionError: ZONEINFO should know Turkey FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-UCT] - AssertionError: ZONEINFO should know UCT FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-US/Alaska] - AssertionError: ZONEINFO should know US/Alaska FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-US/Aleutian] - AssertionError: ZONEINFO should know US/Aleutian FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-US/Arizona] - AssertionError: ZONEINFO should know US/Arizona FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-US/Central] - AssertionError: ZONEINFO should know US/Central FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-US/East-Indiana] - AssertionError: ZONEINFO should know US/East-Indiana FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-US/Eastern] - AssertionError: ZONEINFO should know US/Eastern FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-US/Hawaii] - AssertionError: ZONEINFO should know US/Hawaii FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-US/Indiana-Starke] - AssertionError: ZONEINFO should know US/Indiana-Starke FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-US/Michigan] - AssertionError: ZONEINFO should know US/Michigan FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-US/Mountain] - AssertionError: ZONEINFO should know US/Mountain FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-US/Pacific] - AssertionError: ZONEINFO should know US/Pacific FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-US/Samoa] - AssertionError: ZONEINFO should know US/Samoa FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Universal] - AssertionError: ZONEINFO should know Universal FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-W-SU] - AssertionError: ZONEINFO should know W-SU FAILED src/icalendar/tests/test_pytz_zoneinfo_integration.py::test_timezone_names_are_known[tzp_1-Zulu] - AssertionError: ZONEINFO should know Zulu ```

Fixed:

https://stackoverflow.com/questions/78580391/zoneinfo-is-missing-timezone-names-that-pytz-has/78580486#78580486

Install tzdata

@stevepiercy
Copy link
Member

@niccokunzmann I don't feel qualified to merge this one. Let's get at least one qualified person at the sprint to review it.

@niccokunzmann
Copy link
Member Author

@thet This PR is good for me so far. If you have time, your review would be welcome.

Before merge:

  • create a 5.x branch to allow people the freedom to contribute to an older version

Copy link
Member

@thet thet left a comment

Choose a reason for hiding this comment

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

I've two comments here. not sure, if they are relevant. will do a more in-depth review later today or first thing tomorrow.
Anyways, I'm running the Plone test suite now on it. If it breaks I'll try with using the pytz variant.

~~~~~~~~~

Version 4 is on `branch 4.x <https://github.com/collective/icalendar/tree/4.x>`_ with maximum compatibility with Python versions ``2.7`` and ``3.4+``, ``PyPy2`` and ``PyPy3``.
The ``4.x`` branch only receives security and bug fixes if someone makes the effort.
Copy link
Member

Choose a reason for hiding this comment

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

Shouldn't this also mentioned for version 5?

Copy link
Member Author

Choose a reason for hiding this comment

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

Looking at these:

We do not really make a release for 4.x, nobody invests time. For 5.x there will not really be a future release either because you can add one line to the code and then use 6.x. So, the claims will be dropped to support older versions but this is not part of this PR. The PR is for zoneinfo compatibility, also not for the next release. We can create an issue for the next release and what should be done, I think.

src/icalendar/prop.py Show resolved Hide resolved
@thet
Copy link
Member

thet commented Jun 17, 2024

@thet
Copy link
Member

thet commented Jun 17, 2024

@niccokunzmann
Copy link
Member Author

@thet, thanks for reviewing this! I am not able to make sense of the Plone Jenkins tests. What do you think about them?

If they test the main version of Plone, then they are missing this line:

icalendar.use_pytz()

to switch to the old behavior.

Copy link
Member

@thet thet left a comment

Choose a reason for hiding this comment

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

Some requests. Other than that, LGTM!

src/icalendar/tests/conftest.py Show resolved Hide resolved
src/icalendar/tests/conftest.py Outdated Show resolved Hide resolved
src/icalendar/tests/conftest.py Show resolved Hide resolved
src/icalendar/tests/conftest.py Show resolved Hide resolved
src/icalendar/cal.py Show resolved Hide resolved
src/icalendar/timezone/zoneinfo.py Outdated Show resolved Hide resolved
src/icalendar/timezone/zoneinfo.py Outdated Show resolved Hide resolved
src/icalendar/timezone/zoneinfo.py Outdated Show resolved Hide resolved
src/icalendar/timezone/zoneinfo.py Outdated Show resolved Hide resolved
CHANGES.rst Outdated Show resolved Hide resolved
@niccokunzmann niccokunzmann mentioned this pull request Jun 18, 2024
12 tasks
@niccokunzmann
Copy link
Member Author

niccokunzmann commented Jun 19, 2024

I merged master.

Then, I edited the README file so that it is clear that

  • we extend and switch the functionality
  • one is only affected by parsing results
  • one can use timezones of all types

Copy link
Member

@thet thet left a comment

Choose a reason for hiding this comment

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

looks good to me!

Copy link
Member

@stevepiercy stevepiercy left a comment

Choose a reason for hiding this comment

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

Just a few docs changes, and it's good to go.

README.rst Outdated Show resolved Hide resolved
README.rst Outdated Show resolved Hide resolved
README.rst Outdated Show resolved Hide resolved
README.rst Outdated Show resolved Hide resolved
README.rst Outdated Show resolved Hide resolved
niccokunzmann and others added 5 commits June 19, 2024 17:18
Co-authored-by: Steve Piercy <web@stevepiercy.com>
Co-authored-by: Steve Piercy <web@stevepiercy.com>
Co-authored-by: Steve Piercy <web@stevepiercy.com>
Co-authored-by: Steve Piercy <web@stevepiercy.com>
Co-authored-by: Steve Piercy <web@stevepiercy.com>
@niccokunzmann
Copy link
Member Author

@stevepiercy, thanks for the changes. I applied them to the PR. I will follow #630 and within this merge this as the reviews are positive! Thanks for the cooperation on the PR and the feedback to make it happen!

@niccokunzmann niccokunzmann merged commit b0d8e54 into master Jun 20, 2024
13 checks passed
@niccokunzmann niccokunzmann deleted the zoneinfo branch June 20, 2024 13:19
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.

4 participants