Skip to content

Commit

Permalink
Added the Asian countried to the global registry
Browse files Browse the repository at this point in the history
refs #257
  • Loading branch information
brunobord committed Aug 23, 2018
1 parent 547d500 commit e29463c
Show file tree
Hide file tree
Showing 10 changed files with 74 additions and 14 deletions.
1 change: 1 addition & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
- Added the United States of America states to the global registry (#257).
- Added the America (Brazil + Mexico + Colombia + Chile + Panama) to the global registry (#257).
- Added the African countries to the global registry (#257).
- Added the Asian countries to the global registry (#257).

## v2.5.0 (2018-06-14)

Expand Down
8 changes: 6 additions & 2 deletions workalendar/asia/hong_kong.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
# -*- coding: utf-8 -*-
from __future__ import (absolute_import, division, print_function,
unicode_literals)

from datetime import timedelta

from workalendar.core import ChineseNewYearCalendar, WesternCalendar
from workalendar.core import ChristianMixin, EphemMixin
from ..core import ChineseNewYearCalendar, WesternCalendar
from ..core import ChristianMixin, EphemMixin
from ..registry import iso_register


@iso_register('HK')
class HongKong(EphemMixin, WesternCalendar,
ChineseNewYearCalendar, ChristianMixin):
"Hong Kong"
Expand Down
8 changes: 6 additions & 2 deletions workalendar/asia/japan.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
# -*- coding: utf-8 -*-
from __future__ import (absolute_import, division, print_function,
unicode_literals)
from datetime import date

from workalendar.core import MON, EphemMixin
from workalendar.core import WesternCalendar
from ..core import MON, EphemMixin
from ..core import WesternCalendar
from ..registry import iso_register


@iso_register('JP')
class Japan(WesternCalendar, EphemMixin):
"Japan"

Expand Down
8 changes: 6 additions & 2 deletions workalendar/asia/malaysia.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
# -*- coding: utf-8 -*-
from __future__ import (absolute_import, division, print_function,
unicode_literals)
from datetime import date

from workalendar.core import ChineseNewYearCalendar, WesternCalendar
from workalendar.core import IslamicMixin
from ..core import ChineseNewYearCalendar, WesternCalendar
from ..core import IslamicMixin
from ..registry import iso_register


@iso_register('MY')
class Malaysia(ChineseNewYearCalendar, WesternCalendar, IslamicMixin):
"Malaysia"
include_nuzul_al_quran = True
Expand Down
8 changes: 6 additions & 2 deletions workalendar/asia/qatar.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
# -*- coding: utf-8 -*-
from workalendar.core import Calendar
from workalendar.core import FRI, SAT, IslamicMixin
from __future__ import (absolute_import, division, print_function,
unicode_literals)
from ..core import Calendar
from ..core import FRI, SAT, IslamicMixin
from ..registry import iso_register


@iso_register('QA')
class Qatar(IslamicMixin, Calendar):
"Qatar"
WEEKEND_DAYS = (FRI, SAT)
Expand Down
9 changes: 6 additions & 3 deletions workalendar/asia/singapore.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
# -*- coding: utf-8 -*-
from __future__ import (absolute_import, division, print_function,
unicode_literals)
from datetime import date

from workalendar.core import ChineseNewYearCalendar, WesternCalendar
from workalendar.core import (
ChristianMixin, IslamicMixin
from ..core import (
ChineseNewYearCalendar, WesternCalendar, ChristianMixin, IslamicMixin
)
from ..registry import iso_register


@iso_register('SG')
class Singapore(WesternCalendar,
ChineseNewYearCalendar, ChristianMixin, IslamicMixin):
"Singapore"
Expand Down
7 changes: 6 additions & 1 deletion workalendar/asia/south_korea.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
# -*- coding: utf-8 -*-
from workalendar.core import ChineseNewYearCalendar, WesternCalendar
from __future__ import (absolute_import, division, print_function,
unicode_literals)

from ..core import ChineseNewYearCalendar, WesternCalendar
from ..registry import iso_register


@iso_register('KR')
class SouthKorea(WesternCalendar, ChineseNewYearCalendar):
"South Korea"
FIXED_HOLIDAYS = WesternCalendar.FIXED_HOLIDAYS + (
Expand Down
9 changes: 7 additions & 2 deletions workalendar/asia/taiwan.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
# -*- coding: utf-8 -*-
from workalendar.core import ChineseNewYearCalendar, WesternCalendar
from workalendar.core import EphemMixin
from __future__ import (absolute_import, division, print_function,
unicode_literals)

from ..core import ChineseNewYearCalendar, WesternCalendar
from ..core import EphemMixin
from ..registry import iso_register


@iso_register('TW')
class Taiwan(EphemMixin, ChineseNewYearCalendar, WesternCalendar):
"Taiwan (Republic of China)"
FIXED_HOLIDAYS = (
Expand Down
3 changes: 3 additions & 0 deletions workalendar/registry.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals

from collections import OrderedDict


Expand Down Expand Up @@ -116,3 +118,4 @@ def wrapper(cls):
from workalendar.usa import * # noqa
from workalendar.america import * # noqa
from workalendar.africa import * # noqa
from workalendar.asia import * # noqa
27 changes: 27 additions & 0 deletions workalendar/tests/test_registry_asia.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# -*- coding: utf-8 -*-
from unittest import TestCase

from workalendar.asia import (
HongKong,
Japan,
Malaysia,
Qatar,
Singapore,
SouthKorea,
Taiwan,
)

from workalendar.registry import registry


class RegistryAsia(TestCase):
def test_asia(self):
classes = (v for k, v in registry.region_registry.items())
classes = list(classes)
self.assertIn(HongKong, classes)
self.assertIn(Japan, classes)
self.assertIn(Malaysia, classes)
self.assertIn(Qatar, classes)
self.assertIn(Singapore, classes)
self.assertIn(SouthKorea, classes)
self.assertIn(Taiwan, classes)

0 comments on commit e29463c

Please sign in to comment.