python-holidays icon indicating copy to clipboard operation
python-holidays copied to clipboard

postponed days for Russian holidays in 2024

Open summicron502 opened this issue 1 year ago • 8 comments

Proposed change

Added postponed days for Russian holidays in 2024

Added days and translations

Type of change

  • [ ] New country/market holidays support (thank you!)
  • [x] Supported country/market holidays update (calendar discrepancy fix, localization)
  • [ ] Existing code/documentation/test/process quality improvement (best practice, cleanup, refactoring, optimization)
  • [ ] Dependency update (version deprecation/upgrade)
  • [ ] Bugfix (non-breaking change which fixes an issue)
  • [ ] Breaking change (a code change causing existing functionality to break)
  • [ ] New feature (new python-holidays functionality in general)

Checklist

  • [x] I've followed the contributing guidelines
  • [x] I've run make pre-commit, it didn't generate any changes
  • [x] I've run make test, all tests passed locally

summicron502 avatar Apr 12 '24 16:04 summicron502

Pull Request Test Coverage Report for Build 8664950383

Details

  • 1 of 1 (100.0%) changed or added relevant line in 1 file are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 100.0%

Totals Coverage Status
Change from base Build 8655235045: 0.0%
Covered Lines: 11007
Relevant Lines: 11007

💛 - Coveralls

coveralls avatar Apr 12 '24 16:04 coveralls

Changes accepted

summicron502 avatar Apr 17 '24 08:04 summicron502

It's just a friendly reminder to address the CI/CD issues before we could merge this PR.

Thank you!

arkid15r avatar Apr 23 '24 02:04 arkid15r

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
No data about Duplication

See analysis details on SonarCloud

sonarqubecloud[bot] avatar Apr 23 '24 06:04 sonarqubecloud[bot]

@summicron502 Other changes (I've put them as subcomments so they may have been overlooked before):

holidays/countries/russia.py Line 115-137 (class RussiaStaticHolidays section)

class RussiaStaticHolidays:
    # Date format (see strftime() Format Codes).
    substituted_date_format = tr("%d.%m.%Y")
    # Postpone of %s.
    substituted_label = tr("Перенос %s")

    special_public_holidays = {
        # Postponed Days 2023
        # src: https://www.consultant.ru/document/cons_doc_LAW_425407/
        2023: (
            (FEB, 24, JAN, 1),
            (MAY, 8, JAN, 8),
        ),
        # Postponed Days 2024
        # src: https://www.consultant.ru/document/cons_doc_LAW_455140/
        2024: (
            (APR, 29, APR, 27),
            (APR, 30, FEB, 11),
            (MAY, 10, JUN, 1),
            (DEC, 30, DEC, 28),
            (DEC, 31, JAN, 7),
        ),
    }

tests/countries/test_russia.py Line 30-40 (def test_special_holidays(self) section)

    def test_special_holidays(self):
        self.assertHoliday(
            # Postponed Holidays.
            "2023-02-24",
            "2023-05-08",
            "2024-04-29",
            "2024-04-30",
            "2024-05-10",
            "2024-12-30",
            "2024-12-31",
        )

Please include these parts manually since GitHub doesn't allow code reviewers to suggest sections that the original PR contributor doesn't touch. (These are already tested with make test locally)

image

PPsyrius avatar Apr 23 '24 09:04 PPsyrius

@summicron502 Other changes (I've put them as subcomments so they may have been overlooked before): holidays/countries/russia.py Line 115-137 (class RussiaStaticHolidays section)

class RussiaStaticHolidays:
    # Date format (see strftime() Format Codes).
    substituted_date_format = tr("%d.%m.%Y")
    # Postpone of %s.
    substituted_label = tr("Перенос %s")

    special_public_holidays = {
        # Postponed Days 2023
        # src: https://www.consultant.ru/document/cons_doc_LAW_425407/
        2023: (
            (FEB, 24, JAN, 1),
            (MAY, 8, JAN, 8),
        ),
        # Postponed Days 2024
        # src: https://www.consultant.ru/document/cons_doc_LAW_455140/
        2024: (
            (APR, 29, APR, 27),
            (APR, 30, FEB, 11),
            (MAY, 10, JUN, 1),
            (DEC, 30, DEC, 28),
            (DEC, 31, JAN, 7),
        ),
    }

tests/countries/test_russia.py Line 30-40 (def test_special_holidays(self) section)

    def test_special_holidays(self):
        self.assertHoliday(
            # Postponed Holidays.
            "2023-02-24",
            "2023-05-08",
            "2024-04-29",
            "2024-04-30",
            "2024-05-10",
            "2024-12-30",
            "2024-12-31",
        )

Please include these parts manually since GitHub doesn't allow code reviewers to suggest sections that the original PR contributor doesn't touch. (These are already tested with make test locally)

image

For some reason l10n started to fail

from lingva.extract import main as create_pot_file ModuleNotFoundError: No module named 'lingva'

Is it known problem or that's my fault?

summicron502 avatar Apr 23 '24 12:04 summicron502

For some reason l10n started to fail

from lingva.extract import main as create_pot_file ModuleNotFoundError: No module named 'lingva'

Is it known problem or that's my fault?

try running make setup or pip install -U lingva

arkid15r avatar Apr 23 '24 16:04 arkid15r

@summicron502 did you have a chance to work on addressing the issues/comments?

arkid15r avatar May 09 '24 16:05 arkid15r