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

Implement iCal data export #2179

Open
arkid15r opened this issue Dec 18, 2024 · 5 comments
Open

Implement iCal data export #2179

arkid15r opened this issue Dec 18, 2024 · 5 comments

Comments

@arkid15r
Copy link
Collaborator

I wanna add my country's holidays to google calendar. Is it possible?
Google calendar supports iCal.

Based on #2160

@kawazap
Copy link

kawazap commented Jan 8, 2025

Hi, @arkid15r
I am Winter of Code's Contributor❄
I'm interested in implementing iCal export functionality (#2179) and I would be able to learn a lot If I could work on this project.
Before submitting my proposal, I have a few questions about the implementation details!

  1. Library Dependencies
  • Is it acceptable to use the icalendar package for the implementation?
  • Or should we create a minimal custom solution to avoid additional dependencies?
  1. Internationalization
    Since the holidays framework already supports i18n for holiday names, I'm considering adding language support for iCal export:
holidays.JP().to_ical(language='en')  # Export in English

Would this approach align with the project's direction?
3. Date Handling
For holiday dates, I'm planning to use simple DATE format without time information:

DTSTART;VALUE=DATE:20240101

Are there any cases where we would need time/timezone handling?
Thanks for your guidance!

@arkid15r
Copy link
Collaborator Author

arkid15r commented Jan 9, 2025

Hi @kawazap, thanks for your interest to the project as a part of WoC 4.0!

  1. We worked hard to minimize the dependencies list to a single item (dateutil) and would prefer not to introduce new dependencies if a task can be done w/o it.
  2. It'd be great to have holidays l10n support for ical too 👍
  3. Yes, that's what we have right now and your plan sounds good to me -- we don't have time/timezone support atm.

Please let me know if you have followup questions.

@kawazap
Copy link

kawazap commented Jan 9, 2025

@arkid15r
Thank you for your prompt and clear feedback!

After sorting through your feedback and iCal export requirements, I understand that

  1. a simple custom implementation that does not introduce new dependencies is the best approach
  2. very little iCal functionality is required for holiday export:
    • Basic event creation
    • DATE format without handling time/timezone
    • Integration with existing internationalisation support
  3. this fits nicely with the framework's commitment to minimal dependencies (only dateutil).

I will proceed to develop a detailed proposal focused on a lightweight custom implementation covering these requirements.

Thank you for your guidance!

@arkid15r
Copy link
Collaborator Author

arkid15r commented Jan 9, 2025

It seems we're on the same page!

Please consider adding localization related contributions or your native country holidays improvement too as WoC is a month long event. Also feel free to suggest your own ideas in the proposal.

Thank you for choosing us for your WoC proposal @kawazap

@kawazap
Copy link

kawazap commented Jan 11, 2025

@arkid15r
Thanks for the feedback! I'm glad we're aligned on the direction 😊

I checked the Japanese holidays implementation and it seems pretty well maintained. If I find any issues with Japanese holidays during the project, I'll prioritize those. Otherwise, I'm thinking of helping with countries that don't have holiday support yet when I have extra time.

I'll work on polishing up the proposal tonight!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants