## START: Set by rpmautospec
## (rpmautospec version 0.3.5)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
    release_number = 1;
    base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
    print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec

%bcond_without tests

%global         srcname     google-cloud-bigquery-datatransfer
%global         reponame    google-cloud-python

Name:           python-%{srcname}
Version:        3.12.1
Release:        %autorelease
Summary:        Python SDK for Google Cloud BigQuery Data Transfer API

License:        Apache-2.0
URL:            https://github.com/googleapis/google-cloud-python
Source0:        %{url}/archive/refs/tags/%{srcname}-v%{version}.tar.gz

BuildArch:      noarch

BuildRequires:  python3-devel

%if %{with tests}
BuildRequires:  python3dist(googleapis-common-protos)
BuildRequires:  python3dist(google-cloud-testutils)
BuildRequires:  python3dist(grpcio-testing)
BuildRequires:  python3dist(pytest)
BuildRequires:  python3dist(pytest-asyncio)
%endif

%global _description %{expand:
The BigQuery Data Transfer API allows users to transfer data from partner SaaS
applications to Google BigQuery on a scheduled, managed basis.}

%description %{_description}


%package -n python3-%{srcname}
Summary:        %{summary}

%description -n python3-%{srcname} %{_description}


%prep
# Upstream buries the package into a subdirectory. 😭
%setup -c -T
tar xzf %{SOURCE0} --strip-components=3 \
    %{reponame}-%{srcname}-v%{version}/packages/%{srcname}

# Allow a slightly older protobuf.
sed -i 's/"protobuf.*",/"protobuf>=3.19.4",/' setup.py

# Replace mock imports with unittest.mock.
grep -rl "^[[:space:]]*import mock" tests | \
    xargs sed -i -E 's/^([[:space:]]*)import mock/\1from unittest import mock/'


%generate_buildrequires
%pyproject_buildrequires -r


%build
%pyproject_wheel


%install
%pyproject_install
%pyproject_save_files google

# Remove unnecessary scripts.
rm -f %{buildroot}%{_bindir}/fixup_bigquery_datatransfer_v1_keywords.py

%check
# Skip import as these are not meant to be directly imported on their own
#%%pyproject_check_import 

%if %{with tests}
# NOTE(mhayden): Setting PYTHONUSERBASE as a hack for PEP 420 namespaces.
# Thanks to churchyard for the fix.
PYTHONUSERBASE=%{buildroot}%{_prefix} \
    %pytest tests/unit
%endif


%files -n python3-%{srcname} -f %{pyproject_files}
%doc README.rst CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTING.rst SECURITY.md samples
%{python3_sitelib}/google_cloud_bigquery_datatransfer-%{version}-py%{python3_version}-nspkg.pth


%changelog
* Tue Oct 03 2023 Major Hayden <major@redhat.com> - 3.12.1-1
- Update to 3.12.1

* Wed Aug 02 2023 Major Hayden <major@redhat.com> - 3.12.0-1
- Update to 3.12.0

* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.11.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild

* Thu Jul 06 2023 Major Hayden <major@redhat.com> - 3.11.2-1
- Update to 3.11.2 rhbz#2219853

* Thu Jun 29 2023 Python Maint <python-maint@redhat.com> - 3.11.1-2
- Rebuilt for Python 3.12

* Thu Apr 06 2023 Major Hayden <major@redhat.com> - 3.11.1-1
- Update to 3.11.1 rhbz#2182511

* Wed Mar 01 2023 Major Hayden <major@redhat.com> - 3.11.0-1
- Update to 3.11.0 rhbz#2174242

* Tue Feb 21 2023 Major Hayden <major@redhat.com> - 3.10.1-1
- Update to 3.10.1

* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.7.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

* Wed Oct 19 2022 Major Hayden <major@redhat.com> - 3.7.3-1
- Update to 3.7.3 rhbz#2131885

* Mon Aug 15 2022 Major Hayden <major@redhat.com> - 3.7.1-1
- Update to 3.7.1 rhbz#2118349

* Wed Jul 27 2022 Major Hayden <major@redhat.com> - 3.7.0-1
- Update to 3.7.0 rhbz#2108154

* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Mon Jun 13 2022 Major Hayden <major@redhat.com> - 3.6.2-2
- Add F35 note

* Mon Jun 13 2022 Major Hayden <major@redhat.com> - 3.6.2-1
- Update to 3.6.2

* Tue Mar 08 2022 Major Hayden <major@mhtx.net> - 3.6.1-1
- Update to 3.6.1

* Tue Feb 15 2022 Major Hayden <major@mhtx.net> - 3.6.0-1
- Update to 3.6.0

* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.5.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Wed Jan 19 2022 Major Hayden <major@mhtx.net> - 3.5.0-1
- Update to 3.5.0

* Tue Nov 02 2021 Major Hayden <major@mhtx.net> - 3.4.1-1
- Update to 3.4.1

* Tue Oct 26 2021 Major Hayden <major@mhtx.net> - 3.4.0-2
- First package for version 3.4.0

* Tue Oct 26 2021 Major Hayden <major@mhtx.net> - 3.4.0-1
- Initial import (#2012983)