Conversation
Co-authored-by: ~Jhellico <KJhellico@users.noreply.github.com>
Co-authored-by: github-merge-queue[bot] <118344674+github-merge-queue[bot]@users.noreply.github.com>
…15.17 in the version-updates group (#3686) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Darkhan <93810741+stetat@users.noreply.github.com> Co-authored-by: ~Jhellico <KJhellico@users.noreply.github.com>
Co-authored-by: github-merge-queue[bot] <118344674+github-merge-queue[bot]@users.noreply.github.com>
…3698) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…and Reconciliation in BC (#3695) Co-authored-by: uttam12331 <uttam12331@users.noreply.github.com>
Co-authored-by: github-merge-queue[bot] <118344674+github-merge-queue[bot]@users.noreply.github.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3712 +/- ##
==========================================
Coverage 100.00% 100.00%
==========================================
Files 318 320 +2
Lines 19167 19289 +122
Branches 2457 2477 +20
==========================================
+ Hits 19167 19289 +122 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
4 issues found across 72 files
Confidence score: 3/5
tests/financial/test_toronto_stock_exchange.pyshows 2005 observed Christmas/Boxing Day expectations flipped versus equivalent years, which could either mask a real calendar bug or enforce incorrect behavior for TSX holiday calculations if merged as-is — align 2005 expectations with the established Sunday/Monday observation pattern before merging.holidays/countries/monaco.pydropslanguage="fr"support in favor offr_MC, creating a public API regression for existing callers that request French Monaco holidays — keepfras an alias to preserve backward compatibility before merge.holidays/countries/canada.pyappears to add an Ontario Monday substitute for weekend Remembrance Day, which can produce incorrect optional-holiday dates in Ontario calendars and downstream scheduling outputs — keep the holiday on Nov 11 without an observed substitute for Ontario.holidays/locale/ar/LC_MESSAGES/XTSE.pohas inconsistent Arabic definiteness in the "Civic Holiday" translation, which is low functional risk but user-visible localization quality debt — normalize the phrase form before release if localization accuracy is in scope.
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="holidays/locale/ar/LC_MESSAGES/XTSE.po">
<violation number="1" location="holidays/locale/ar/LC_MESSAGES/XTSE.po:52">
P2: The Arabic translation for "Civic Holiday" uses mixed definite article placement: the adjective is definite (المدنية) but the noun is not (عطلة). In Arabic, construct phrases like this should either use the definite article on both parts (العطلة المدنية) or neither (عطلة مدنية), but not mix them. Consider changing to "العطلة المدنية" for proper grammatical agreement.</violation>
</file>
<file name="holidays/countries/monaco.py">
<violation number="1" location="holidays/countries/monaco.py:50">
P2: Existing consumers requesting Monaco holidays with `language="fr"` lose the previously supported locale. Retain `fr` as an alias alongside `fr_MC` to preserve this public API.</violation>
</file>
<file name="holidays/countries/canada.py">
<violation number="1" location="holidays/countries/canada.py:472">
P2: Ontario calendars will add a Monday “Remembrance Day (observed)” after a weekend November 11, although Ontario does not prescribe a substitute day for this optional holiday. Keep the optional holiday on November 11 rather than applying the public-holiday observation rule.</violation>
</file>
<file name="tests/financial/test_toronto_stock_exchange.py">
<violation number="1" location="tests/financial/test_toronto_stock_exchange.py:156">
P1: Christmas Day and Boxing Day observed dates for 2005 appear swapped relative to other years with the same calendar pattern (Dec 25 = Sunday, Dec 26 = Monday). In 2011, 2016, and 2022 — which also have Christmas on Sunday — Christmas is observed on Dec 26 and Boxing Day on Dec 27. But in 2005, the test expects Christmas on Dec 27 and Boxing Day on Dec 26, which is the reverse. This inconsistency suggests a bug in the implementation that the test reproduces, or a mistake in the test data.</violation>
</file>
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
| self.assertHolidayName( | ||
| name, | ||
| "2004-12-27", | ||
| "2005-12-27", |
There was a problem hiding this comment.
P1: Christmas Day and Boxing Day observed dates for 2005 appear swapped relative to other years with the same calendar pattern (Dec 25 = Sunday, Dec 26 = Monday). In 2011, 2016, and 2022 — which also have Christmas on Sunday — Christmas is observed on Dec 26 and Boxing Day on Dec 27. But in 2005, the test expects Christmas on Dec 27 and Boxing Day on Dec 26, which is the reverse. This inconsistency suggests a bug in the implementation that the test reproduces, or a mistake in the test data.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At tests/financial/test_toronto_stock_exchange.py, line 156:
<comment>Christmas Day and Boxing Day observed dates for 2005 appear swapped relative to other years with the same calendar pattern (Dec 25 = Sunday, Dec 26 = Monday). In 2011, 2016, and 2022 — which also have Christmas on Sunday — Christmas is observed on Dec 26 and Boxing Day on Dec 27. But in 2005, the test expects Christmas on Dec 27 and Boxing Day on Dec 26, which is the reverse. This inconsistency suggests a bug in the implementation that the test reproduces, or a mistake in the test data.</comment>
<file context>
@@ -0,0 +1,318 @@
+ self.assertHolidayName(
+ name,
+ "2004-12-27",
+ "2005-12-27",
+ "2010-12-27",
+ "2011-12-26",
</file context>
|
|
||
| #. Civic Holiday. | ||
| msgid "Civic Holiday" | ||
| msgstr "عطلة المدنية" |
There was a problem hiding this comment.
P2: The Arabic translation for "Civic Holiday" uses mixed definite article placement: the adjective is definite (المدنية) but the noun is not (عطلة). In Arabic, construct phrases like this should either use the definite article on both parts (العطلة المدنية) or neither (عطلة مدنية), but not mix them. Consider changing to "العطلة المدنية" for proper grammatical agreement.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At holidays/locale/ar/LC_MESSAGES/XTSE.po, line 52:
<comment>The Arabic translation for "Civic Holiday" uses mixed definite article placement: the adjective is definite (المدنية) but the noun is not (عطلة). In Arabic, construct phrases like this should either use the definite article on both parts (العطلة المدنية) or neither (عطلة مدنية), but not mix them. Consider changing to "العطلة المدنية" for proper grammatical agreement.</comment>
<file context>
@@ -0,0 +1,81 @@
+
+#. Civic Holiday.
+msgid "Civic Holiday"
+msgstr "عطلة المدنية"
+
+#. Labor Day.
</file context>
| msgstr "عطلة المدنية" | |
| msgstr "العطلة المدنية" |
| observed_label = tr("%s (reporté)") | ||
| # Law No. 798 of Feb 18, 1966. | ||
| start_year = 1967 | ||
| supported_languages = ("en_US", "fr_MC", "uk") |
There was a problem hiding this comment.
P2: Existing consumers requesting Monaco holidays with language="fr" lose the previously supported locale. Retain fr as an alias alongside fr_MC to preserve this public API.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At holidays/countries/monaco.py, line 50:
<comment>Existing consumers requesting Monaco holidays with `language="fr"` lose the previously supported locale. Retain `fr` as an alias alongside `fr_MC` to preserve this public API.</comment>
<file context>
@@ -21,15 +21,33 @@ class Monaco(ObservedHolidayBase, ChristianHolidays, InternationalHolidays, Stat
+ observed_label = tr("%s (reporté)")
+ # Law No. 798 of Feb 18, 1966.
+ start_year = 1967
+ supported_languages = ("en_US", "fr_MC", "uk")
def __init__(self, *args, **kwargs):
</file context>
| supported_languages = ("en_US", "fr_MC", "uk") | |
| supported_languages = ("en_US", "fr", "fr_MC", "uk") |
|
|
||
| if self._year >= 1931: | ||
| # Remembrance Day. | ||
| self._add_observed(self._add_remembrance_day(tr("Remembrance Day"))) |
There was a problem hiding this comment.
P2: Ontario calendars will add a Monday “Remembrance Day (observed)” after a weekend November 11, although Ontario does not prescribe a substitute day for this optional holiday. Keep the optional holiday on November 11 rather than applying the public-holiday observation rule.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At holidays/countries/canada.py, line 472:
<comment>Ontario calendars will add a Monday “Remembrance Day (observed)” after a weekend November 11, although Ontario does not prescribe a substitute day for this optional holiday. Keep the optional holiday on November 11 rather than applying the public-holiday observation rule.</comment>
<file context>
@@ -449,14 +453,24 @@ def _populate_subdiv_on_public_holidays(self):
+ if self._year >= 1931:
+ # Remembrance Day.
+ self._add_observed(self._add_remembrance_day(tr("Remembrance Day")))
+
def _populate_subdiv_pe_public_holidays(self):
</file context>
| self._add_observed(self._add_remembrance_day(tr("Remembrance Day"))) | |
| self._add_remembrance_day(tr("Remembrance Day")) |



Version 0.101
Released July 20, 2026
HolidayBase::get_closest_holidaymethod (UpdateHolidayBase::get_closest_holidaymethod #3651 by @gaoflow, @KJhellico)