Bug 365153 - False holidays, at least for Poland
Summary: False holidays, at least for Poland
Status: RESOLVED WORKSFORME
Alias: None
Product: plasmashell
Classification: Plasma
Component: Calendar (show other bugs)
Version: 5.7.0
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: 1.0
Assignee: Martin Klapetek
URL:
Keywords: triaged
Depends on:
Blocks:
 
Reported: 2016-07-06 15:04 UTC by Roman S.
Modified: 2019-07-23 15:38 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Current state - not tested yet, school related holidays still to do (7.70 KB, text/plain)
2016-07-09 21:08 UTC, Roman S.
Details
Possibly final for now (8.81 KB, patch)
2016-07-27 19:49 UTC, Roman S.
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Roman S. 2016-07-06 15:04:32 UTC
I have set up my calendar to show holidays in my country (Poland). Unfortunately, it marks some days as holidays wrongly.



Reproducible: Always

Steps to Reproduce:
1. In the 'Digital Clock Settings...' choose 'Holidays', mark 'pl_pl' ('Poland'), apply the settings
2. In the calendar check the 22th of December


Actual Results:  
According to the calendar this day is a 'Początek zimy' (beginning of winter) holiday 

Expected Results:  
'Początek zimy' (beginning of winter) is not considered a holiday in Poland, so it shouldn't be marked as a holiday in the calendar.

There is much more such false holidays - this is very confusing, someone planning the trip to Poland might think 22th December is a free day. For a list of public holidays in Poland please see here: https://en.wikipedia.org/wiki/Public_holidays_in_Poland
Comment 1 Martin Klapetek 2016-07-06 15:12:44 UTC
Thanks for the report

The holidays files we have are sometimes a bit old,
so may be even outdated.

If you can work with git, I can give you a super simple
guide on how to fix it for all Polish users :)

Would you be up for that? It's really simple.
Comment 2 Roman S. 2016-07-06 15:46:37 UTC
Sure. What shall I do?
Comment 3 Rog131 2016-07-06 18:37:20 UTC
A problem with the holidays in Finland.

The Plasma 4 has this right: http://i.imgur.com/kiXycw4.png

The Plasma is marking all 'events' as holidays: http://i.imgur.com/0ZZj3GJ.png

Looking the kholidays 16.04.2-2 / holiday_fi_fi:

There are special days:
- Public Holidays
- Religious Holidays
- Commemorative
- Cultural
- Historical
- Seasons

All are marked as holidays in the Plasma 5 calendar
Comment 4 Roman S. 2016-07-06 19:10:44 UTC
Ok, so two problems:

1. Polish holidays are not up to date - recently January 6th became public holiday in Poland. I can sort it out in 'holiday_pl_pl' when I have some time. I have found some description in 'file-format.txt' - but I do not fully understand it yet. How do I mark that it started being a holiday in 2011, and 6th January wasn't a holiday in 2010?

2. The issue Rog131 diagnosed - well, we really need some way to split them out. We can have a beginning of winter in the calendar, but... hardly anyone cares about the seasons. And you will run into serious problem if someone adds the namedays :D
Comment 5 Martin Klapetek 2016-07-06 22:28:20 UTC
Thanks for stepping up, so here are the steps

0/ Install git
1/ Open Konsole and paste this: git clone git://anongit.kde.org/kholidays.git
2/ Open the kholidays folder in Dolphin and navigate to holidays/plan2
3/ Find the file holiday_pl_pl and edit as you see fit
4/ Once done, go back to Konsole and do `cd kholidays`
5/ Type `git diff > patch.diff`
6/ Post the patch.diff file to https://git.reviewboard.kde.org and assign to Plasma group
7/ Wait for review
8/ Profit

Let me know if you have any troubles with those steps.
Comment 6 Martin Klapetek 2016-07-06 22:35:29 UTC
As for the other issue - that needs to be fixed in KHolidays library first, which has no support for event categories.

Please file a bug against libkholidays.
Comment 7 Roman S. 2016-07-09 21:07:13 UTC
I have briefly looked at the libkholidays source - if I'm not mistaken (sorry, I'm not familiar with KDE development), this is already supported - one can use KHoliday::dayType() to get Workday or NoWorkday enum value. It seems to me that all the 'public' type holidays are reported as NoWorkday, all the others - as Workday. At least this is what the author intended (I didn't test whether it works correctly).

Are you 100% sure that the problem is within the libkholidays?

Nevertheless, I have started working on the holiday_pl_pl file (current version in the attachment). Seems to be more work I expected - changes done so far by me:

- [most important, this HAS TO BE MAINLINED!!!] 6th of January is now a public holiday, since 2011 (see https://en.wikipedia.org/wiki/Epiphany_(holiday)#Poland)
- 'Śledzik' is not really a religious holiday, this is just the last day of carnival (see https://en.wikipedia.org/wiki/Carnival#Poland), there are no special religious celebrations at this day in Poland
- moved Valentine's Day ('Walentynki') to civil holidays; I'm not really sure what is the different between 'civil' and 'cultural' holidays, but it seems no sense to have just the Valentine's Day in cultural and nothing else there
- 'Zaduszki' (full name: 'Dzień Zaduszny') is definitely a religious holiday (see https://en.wikipedia.org/wiki/All_Souls%27_Day, https://pl.wikipedia.org/wiki/Zaduszki)
- 'Wigilia' is also a religious holiday (see https://en.wikipedia.org/wiki/Christmas_Eve, https://pl.wikipedia.org/wiki/Wigilia_Bo%C5%BCego_Narodzenia)
- 'Wniebowzięcie NMP' ('Assumption of the Blessed Virgin Mary') is a bit complicated; this is both Army Day and Assumption of the Blessed Virgin Mary (see https://en.wikipedia.org/wiki/Public_holidays_in_Poland). Since in the polish law act the Assumption is mentioned, it is now a 'public religious', and the Army Day ('Dzień Wojska Polskiego') was added as a civil one
- 'Lany Poniedziałek' ('Wet Monday') is a (still live) slavic-pagan tradition; since it is not mentioned in the polish law act, I have moved it to civil (this day is a holiday, because it is also a second day of Easter). I am not 100% sure about this change, any help would be welcome
- 'Dzień Programisty' (Programmers Day) added as a civil holiday; I couldn't resist :)
- added 'Tłusty Czwartek' (Fat Thursday - https://en.wikipedia.org/wiki/Fat_Thursday#Poland); since there are no special religious celebrations this day, I have marked it as civil
- added 'Dzień Górnika' (Miners Day - https://pl.wikipedia.org/wiki/Barb%C3%B3rka) - there are traditional celebration held in mining areas of Poland
- added 'Dzień Edukacji Narodowej' (Teacher's Day - https://en.wikipedia.org/wiki/Teachers%27_Day), it is celebrated in every school
- renamed 'Św' Mikołaj' to 'Mikołajki', as this is more common name - see https://pl.wikipedia.org/wiki/Miko%C5%82ajki_(zwyczaj)
- polish 'Andrzejki' is a night 29/30 November (again, slavic-pagan tradition - https://pl.wikipedia.org/wiki/Andrzejki), not really the same as 'St. Andrew's Day'; moved to 29th November, as 30th November is already after the feast
- daylight saving time added (same time is in the whole European Union) - 'Czas letni', 'Czas zimowy'
- added equinoxes and solstices

For general information about polish holidays (especially the ones we do not work in Poland), see:

- see https://en.wikipedia.org/wiki/Public_holidays_in_Poland
- relevant polish law act: http://isap.sejm.gov.pl/DetailsServlet?id=WDU20150000090
Comment 8 Roman S. 2016-07-09 21:08:21 UTC
Created attachment 99973 [details]
Current state - not tested yet, school related holidays still to do
Comment 9 Martin Klapetek 2016-07-15 03:37:25 UTC
> Are you 100% sure that the problem is within the libkholidays?

Yes. As you've probably noticed, the holidays file has
multiple categories, such as Civil, Religious, Seasons
etc. There is no way to tell KHolidays "Give me all that
is not 'Seasons'". Therefore there's no way to filter
these out.
Comment 10 Roman S. 2016-07-27 19:49:01 UTC
Created attachment 100341 [details]
Possibly final for now

For general information about polish holidays (especially the ones we do not work in Poland), see:

- see https://en.wikipedia.org/wiki/Public_holidays_in_Poland
- polish law act: http://isap.sejm.gov.pl/DetailsServlet?id=WDU20150000090

Changes:
- [most important, this HAS TO BE MAINLINED!!!] 6th of January is now a public holiday, since 2011 (see https://en.wikipedia.org/wiki/Epiphany_(holiday)#Poland)
- 'Śledzik' is not really a religious holiday, this is just the last day of carnival (see https://en.wikipedia.org/wiki/Carnival#Poland), there are no special religious celebrations at this day in Poland
- moved Valentine's Day ('Walentynki') to civil holidays; I'm not really sure what is the different between 'civil' and 'cultural' holidays, but it seems no sense to have just the Valentine's Day in cultural and nothing else there
- 'Zaduszki' (full name: 'Dzień Zaduszny') is definitely a religious holiday (see https://en.wikipedia.org/wiki/All_Souls%27_Day, https://pl.wikipedia.org/wiki/Zaduszki)
- 'Wigilia' is also a religious holiday (see https://en.wikipedia.org/wiki/Christmas_Eve, https://pl.wikipedia.org/wiki/Wigilia_Bo%C5%BCego_Narodzenia)
- 'Wniebowzięcie NMP' ('Assumption of the Blessed Virgin Mary') is a bit complicated; this is both Army Day and Assumption of the Blessed Virgin Mary (see https://en.wikipedia.org/wiki/Public_holidays_in_Poland). Since in the polish law act the Assumption is mentioned, it is now a 'public religious', and the Army Day ('Dzień Wojska Polskiego') was added as a civil one
- 'Lany Poniedziałek' ('Wet Monday') is a (still live) slavic-pagan tradition; since it is not mentioned in the polish law act, I have moved it to civil (this day is a holiday, because it is also a second day of Easter). I am not 100% sure about this change, any help would be welcome
- 'Dzień Programisty' ('Programmers Day') added as a civil holiday; I couldn't resist :)
- added 'Tłusty Czwartek' ('Fat Thursday' - https://en.wikipedia.org/wiki/Fat_Thursday#Poland); since there are no special religious celebrations this day, I have marked it as civil
- added 'Dzień Górnika' ('Miners Day' - https://pl.wikipedia.org/wiki/Barb%C3%B3rka) - there are traditional celebration held in mining areas of Poland
- added 'Dzień Edukacji Narodowej' ('Teacher's Day' - https://en.wikipedia.org/wiki/Teachers%27_Day), it is celebrated in every school
- renamed 'Św' Mikołaj' to 'Mikołajki', as this is more common name - see https://pl.wikipedia.org/wiki/Miko%C5%82ajki_(zwyczaj)
- polish 'Andrzejki' is a night 29/30 November (again, slavic-pagan tradition - https://pl.wikipedia.org/wiki/Andrzejki), not really the same as 'St. Andrew's Day'; moved to 29th November, as 30th November is already after the feast
- daylight saving time added (same time is in the whole European Union) - 'Czas letni', 'Czas zimowy'
- added 'Prima Aprilis' ('April Fools' Day')
- added 'Dzień Solidarności i Wolności' ('Solidarity and Freedom Day' - see https://pl.wikipedia.org/wiki/Dzie%C5%84_Solidarno%C5%9Bci_i_Wolno%C5%9Bci)
- added 'Dzień Zwycięstwa' ('Victory Day' - see https://pl.wikipedia.org/wiki/Dzie%C5%84_Zwyci%C4%99stwa)
- added equinoxes and solstices
- added comment about polish school holidays
Comment 11 Roman S. 2016-07-27 19:57:46 UTC
Created bug #366182 for the kholidays library.

One serious: with the version attached above, I can see winter solstice ('Przesilenie zimowe' in polish) listed twice by the applet, for just about any year. Did I do something wrong in the updated file? Are there any logs I can check for parser errors? Or maybe there is yet another bug somewhere?
Comment 12 Martin Klapetek 2016-07-28 02:55:50 UTC
When you're done, please post the patch to https://git.reviewboard.kde.org and add the reviewer group "kdepim".
Comment 13 Andrew Crouthamel 2018-09-26 22:22:08 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days, the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please set the bug status as REPORTED so that the KDE team knows that the bug is ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 14 Andrew Crouthamel 2018-10-27 03:29:36 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!