Эта библиотека загружает официальный список государственных праздников в Соединенном Королевстве, предоставленный GOV.UK. GOV.UK обычно предоставляет этот список только на год или два вперед.
В этом пакете хранится кэшированный резервный список известных государственных праздников, хотя он обновляется нечасто. GOV.UK больше не предоставляет праздничные дни для некоторых пожилых людей, которые все еще входят в этот резервный список.
Установите с помощью pip install govuk-bank-holidays
. Пример использования:
from govuk_bank_holidays . bank_holidays import BankHolidays
bank_holidays = BankHolidays ()
for bank_holiday in bank_holidays . get_holidays ():
print ( bank_holiday [ 'title' ], 'is on' , bank_holiday [ 'date' ])
print ( bank_holidays . get_next_holiday ())
# see govuk_bank_holidays/bank_holidays.py source file for more methods and argument details…
# choose a different locale for holiday titles and notes
bank_holidays = BankHolidays ( locale = 'cy' )
# use cached holidays if internet connection is not desired
bank_holidays = BankHolidays ( use_cached_holidays = True )
Банковские праздники в Великобритании различаются. Источник GOV.UK в настоящее время перечисляет их для трех «подразделений»:
… и многие методы в этой библиотеке принимают параметр division
(см. константы, определенные в классе BankHolidays
).
Примечание. Если подразделение не указано, возвращаются только праздничные дни, общие для всех подразделений, поэтому некоторые местные банковские праздники могут быть не указаны. Поэтому рекомендуется указать подразделение.
Хотя локализация предоставляется на английском языке (по умолчанию с кодом локали «en») и валлийском (код локали «cy»), обратите внимание, что версия на валлийском языке может содержать ошибки.
Пожалуйста, сообщайте об ошибках и открывайте запросы на включение на GitHub.
Для работы над изменениями в этой библиотеке рекомендуется установить ее в редактируемом режиме в виртуальную среду, т.е. pip install --editable .
Обновите кэшированные праздничные дни с сайта GOV.UK, используя python scripts/update-cache.py
.
Обновите файлы перевода с помощью python scripts/messages.py update
, например, при обновлении модуля i18n или при добавлении новых языков. Скомпилируйте их с помощью python scripts/messages.py compile
; это необходимо перед тестированием и распространением. Для обновления и компиляции файлов перевода требуется установленный системный пакет gettext.
Используйте python -m tests
для локального запуска всех тестов. Альтернативно вы можете использовать tox
если у вас несколько версий Python.
[Только для членов команды GitHub] Распространите новую версию PyPI:
VERSION
в govuk_bank_holidays/__init__.py
python scripts/messages.py compile; python -m build; twine upload dist/*
локально BankHolidays
имеет новую константу ALL_DIVISIONS
.Авторское право (C) 2023 Правительство Ее Величества (Министерство юстиции, цифровых технологий и технологий). Дополнительную информацию см. в файле LICENSE.txt.