From fe2deb34454e5f714fc6cdb0ea603599c48b9a7f Mon Sep 17 00:00:00 2001 From: Rok Mandeljc Date: Thu, 9 May 2024 17:45:07 +0200 Subject: [PATCH] hooks: add hook for schwifty Add hook for `schwfity` that collects the data files (the JSON files in `bank_registry`) and package's metadata. --- news/742.new.rst | 2 ++ requirements-test-libraries.txt | 1 + .../hooks/stdhooks/hook-schwifty.py | 16 ++++++++++++++++ .../tests/test_libraries.py | 12 ++++++++++++ 4 files changed, 31 insertions(+) create mode 100644 news/742.new.rst create mode 100644 src/_pyinstaller_hooks_contrib/hooks/stdhooks/hook-schwifty.py diff --git a/news/742.new.rst b/news/742.new.rst new file mode 100644 index 00000000..3192fcc0 --- /dev/null +++ b/news/742.new.rst @@ -0,0 +1,2 @@ +Add hook for ``schwifty``. Requires ``schwifty >= 2024.5.1`` due to +issues with data search path in earlier versions. diff --git a/requirements-test-libraries.txt b/requirements-test-libraries.txt index 606559c1..39d3aaf1 100644 --- a/requirements-test-libraries.txt +++ b/requirements-test-libraries.txt @@ -177,6 +177,7 @@ python-pptx==0.6.23 opentelemetry-sdk==1.24.0 xarray==2024.3.0; python_version >= '3.9' tables==3.9.2; python_version >= '3.9' +schwifty==2024.5.2 # ------------------- Platform (OS) specifics diff --git a/src/_pyinstaller_hooks_contrib/hooks/stdhooks/hook-schwifty.py b/src/_pyinstaller_hooks_contrib/hooks/stdhooks/hook-schwifty.py new file mode 100644 index 00000000..2ab20e49 --- /dev/null +++ b/src/_pyinstaller_hooks_contrib/hooks/stdhooks/hook-schwifty.py @@ -0,0 +1,16 @@ +# ------------------------------------------------------------------ +# Copyright (c) 2024 PyInstaller Development Team. +# +# This file is distributed under the terms of the GNU General Public +# License (version 2.0 or later). +# +# The full license is available in LICENSE.GPL.txt, distributed with +# this software. +# +# SPDX-License-Identifier: GPL-2.0-or-later +# ------------------------------------------------------------------ + +from PyInstaller.utils.hooks import copy_metadata, collect_data_files + +datas = copy_metadata('schwifty') +datas += collect_data_files('schwifty') diff --git a/src/_pyinstaller_hooks_contrib/tests/test_libraries.py b/src/_pyinstaller_hooks_contrib/tests/test_libraries.py index 3b533850..424ba8e5 100644 --- a/src/_pyinstaller_hooks_contrib/tests/test_libraries.py +++ b/src/_pyinstaller_hooks_contrib/tests/test_libraries.py @@ -2024,3 +2024,15 @@ def test_pytables(pyi_builder): import tables """, run_from_path=True) + + +@importorskip('schwifty') +def test_schwifty(pyi_builder): + pyi_builder.test_source(""" + import schwifty + + iban = schwifty.IBAN('DE89 3704 0044 0532 0130 00') + print(iban.country_code) + print(iban.bank_code) + print(iban.account_code) + """)