16
16
from dateutil .easter import easter
17
17
from dateutil .relativedelta import relativedelta as rd , MO , SA , FR , WE , TU
18
18
19
- from holidays .constants import JAN , MAR , APR , MAY , JUN , AUG , SEP , OCT , \
20
- NOV , DEC
19
+ from holidays .constants import JAN , MAR , APR , MAY , JUN , AUG , SEP , OCT , NOV , DEC
21
20
from holidays .constants import SAT , SUN , WEEKEND
22
21
from holidays .holiday_base import HolidayBase
23
22
24
23
25
24
class Australia (HolidayBase ):
26
- PROVINCES = [' ACT' , ' NSW' , 'NT' , ' QLD' , 'SA' , ' TAS' , ' VIC' , 'WA' ]
25
+ PROVINCES = [" ACT" , " NSW" , "NT" , " QLD" , "SA" , " TAS" , " VIC" , "WA" ]
27
26
28
27
def __init__ (self , ** kwargs ):
29
- self .country = 'AU'
30
- self .prov = kwargs .pop (' prov' , None )
28
+ self .country = "AU"
29
+ self .prov = kwargs .pop (" prov" , None )
31
30
HolidayBase .__init__ (self , ** kwargs )
32
31
33
32
def _populate (self , year ):
@@ -52,19 +51,19 @@ def _populate(self, year):
52
51
# Australia Day
53
52
jan26 = date (year , JAN , 26 )
54
53
if year >= 1935 :
55
- if self .prov == ' NSW' and year < 1946 :
54
+ if self .prov == " NSW" and year < 1946 :
56
55
name = "Anniversary Day"
57
56
else :
58
57
name = "Australia Day"
59
58
self [jan26 ] = name
60
59
if self .observed and year >= 1946 and jan26 .weekday () in WEEKEND :
61
60
self [jan26 + rd (weekday = MO )] = name + " (Observed)"
62
- elif year >= 1888 and self .prov != 'SA' :
61
+ elif year >= 1888 and self .prov != "SA" :
63
62
name = "Anniversary Day"
64
63
self [jan26 ] = name
65
64
66
65
# Adelaide Cup
67
- if self .prov == 'SA' :
66
+ if self .prov == "SA" :
68
67
name = "Adelaide Cup"
69
68
if year >= 2006 :
70
69
# subject to proclamation ?!?!
@@ -75,7 +74,7 @@ def _populate(self, year):
75
74
# Canberra Day
76
75
# Info from https://www.timeanddate.com/holidays/australia/canberra-day
77
76
# and https://en.wikipedia.org/wiki/Canberra_Day
78
- if self .prov == ' ACT' and year >= 1913 :
77
+ if self .prov == " ACT" and year >= 1913 :
79
78
name = "Canberra Day"
80
79
if year >= 1913 and year <= 1957 :
81
80
self [date (year , MAR , 12 )] = name
@@ -88,9 +87,9 @@ def _populate(self, year):
88
87
89
88
# Easter
90
89
self [easter (year ) + rd (weekday = FR (- 1 ))] = "Good Friday"
91
- if self .prov in (' ACT' , ' NSW' , 'NT' , ' QLD' , 'SA' , ' VIC' ):
90
+ if self .prov in (" ACT" , " NSW" , "NT" , " QLD" , "SA" , " VIC" ):
92
91
self [easter (year ) + rd (weekday = SA (- 1 ))] = "Easter Saturday"
93
- if self .prov in (' ACT' , ' NSW' , ' QLD' , ' VIC' ):
92
+ if self .prov in (" ACT" , " NSW" , " QLD" , " VIC" ):
94
93
self [easter (year )] = "Easter Sunday"
95
94
self [easter (year ) + rd (weekday = MO )] = "Easter Monday"
96
95
@@ -100,14 +99,13 @@ def _populate(self, year):
100
99
apr25 = date (year , APR , 25 )
101
100
self [apr25 ] = name
102
101
if self .observed :
103
- if apr25 .weekday () == SAT and self .prov in ('WA' , 'NT' ):
102
+ if apr25 .weekday () == SAT and self .prov in ("WA" , "NT" ):
104
103
self [apr25 + rd (weekday = MO )] = name + " (Observed)"
105
- elif (apr25 .weekday () == SUN and
106
- self .prov in ('ACT' , 'QLD' , 'SA' , 'WA' , 'NT' )):
104
+ elif apr25 .weekday () == SUN and self .prov in ("ACT" , "QLD" , "SA" , "WA" , "NT" ):
107
105
self [apr25 + rd (weekday = MO )] = name + " (Observed)"
108
106
109
107
# Western Australia Day
110
- if self .prov == 'WA' and year > 1832 :
108
+ if self .prov == "WA" and year > 1832 :
111
109
if year >= 2015 :
112
110
name = "Western Australia Day"
113
111
else :
@@ -121,7 +119,7 @@ def _populate(self, year):
121
119
name = "King's Birthday"
122
120
if year >= 1936 :
123
121
name = "Queen's Birthday"
124
- if self .prov == ' QLD' :
122
+ if self .prov == " QLD" :
125
123
if year == 2012 :
126
124
self [date (year , JUN , 11 )] = "Queen's Diamond Jubilee"
127
125
if year < 2016 and year != 2012 :
@@ -130,10 +128,10 @@ def _populate(self, year):
130
128
else :
131
129
dt = date (year , OCT , 1 ) + rd (weekday = MO )
132
130
self [dt ] = name
133
- elif self .prov == 'WA' :
131
+ elif self .prov == "WA" :
134
132
# by proclamation ?!?!
135
133
self [date (year , OCT , 1 ) + rd (weekday = MO (- 1 ))] = name
136
- elif self .prov in (' NSW' , ' VIC' , ' ACT' , 'SA' , 'NT' , ' TAS' ):
134
+ elif self .prov in (" NSW" , " VIC" , " ACT" , "SA" , "NT" , " TAS" ):
137
135
dt = date (year , JUN , 1 ) + rd (weekday = MO (+ 2 ))
138
136
self [dt ] = name
139
137
elif year > 1911 :
@@ -142,38 +140,38 @@ def _populate(self, year):
142
140
self [date (year , NOV , 9 )] = name # Edward VII
143
141
144
142
# Picnic Day
145
- if self .prov == 'NT' :
143
+ if self .prov == "NT" :
146
144
name = "Picnic Day"
147
145
self [date (year , AUG , 1 ) + rd (weekday = MO )] = name
148
146
149
147
# Bank Holiday
150
- if self .prov == ' NSW' :
148
+ if self .prov == " NSW" :
151
149
if year >= 1912 :
152
150
name = "Bank Holiday"
153
151
self [date (year , 8 , 1 ) + rd (weekday = MO )] = name
154
152
155
153
# Labour Day
156
154
name = "Labour Day"
157
- if self .prov in (' NSW' , ' ACT' , 'SA' ):
155
+ if self .prov in (" NSW" , " ACT" , "SA" ):
158
156
self [date (year , OCT , 1 ) + rd (weekday = MO )] = name
159
- elif self .prov == 'WA' :
157
+ elif self .prov == "WA" :
160
158
self [date (year , MAR , 1 ) + rd (weekday = MO )] = name
161
- elif self .prov == ' VIC' :
159
+ elif self .prov == " VIC" :
162
160
self [date (year , MAR , 1 ) + rd (weekday = MO (+ 2 ))] = name
163
- elif self .prov == ' QLD' :
161
+ elif self .prov == " QLD" :
164
162
if 2013 <= year <= 2015 :
165
163
self [date (year , OCT , 1 ) + rd (weekday = MO )] = name
166
164
else :
167
165
self [date (year , MAY , 1 ) + rd (weekday = MO )] = name
168
- elif self .prov == 'NT' :
166
+ elif self .prov == "NT" :
169
167
name = "May Day"
170
168
self [date (year , MAY , 1 ) + rd (weekday = MO )] = name
171
- elif self .prov == ' TAS' :
169
+ elif self .prov == " TAS" :
172
170
name = "Eight Hours Day"
173
171
self [date (year , MAR , 1 ) + rd (weekday = MO (+ 2 ))] = name
174
172
175
173
# Family & Community Day
176
- if self .prov == ' ACT' :
174
+ if self .prov == " ACT" :
177
175
name = "Family & Community Day"
178
176
if 2007 <= year <= 2009 :
179
177
self [date (year , NOV , 1 ) + rd (weekday = TU )] = name
@@ -199,12 +197,12 @@ def _populate(self, year):
199
197
self [date (year , SEP , 25 )] = name
200
198
201
199
# Reconciliation Day
202
- if self .prov == ' ACT' :
200
+ if self .prov == " ACT" :
203
201
name = "Reconciliation Day"
204
202
if year >= 2018 :
205
203
self [date (year , 5 , 27 ) + rd (weekday = MO )] = name
206
204
207
- if self .prov == ' VIC' :
205
+ if self .prov == " VIC" :
208
206
# Grand Final Day
209
207
if year == 2020 :
210
208
# Rescheduled due to COVID-19
@@ -219,7 +217,7 @@ def _populate(self, year):
219
217
# The Show starts on the first Friday of August - providing this is
220
218
# not prior to the 5th - in which case it will begin on the second
221
219
# Friday. The Wednesday during the show is a public holiday.
222
- if self .prov == ' QLD' :
220
+ if self .prov == " QLD" :
223
221
name = "The Royal Queensland Show"
224
222
if year == 2020 :
225
223
self [date (year , AUG , 14 )] = name
@@ -235,7 +233,7 @@ def _populate(self, year):
235
233
self [date (year , DEC , 27 )] = name + " (Observed)"
236
234
237
235
# Boxing Day
238
- if self .prov == 'SA' :
236
+ if self .prov == "SA" :
239
237
name = "Proclamation Day"
240
238
else :
241
239
name = "Boxing Day"
0 commit comments