From 48daf13f728d8ba18b21f48a1806126dc8736b95 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Tue, 11 Apr 2023 06:02:53 +0000 Subject: automatic import of python-datedelta --- python-datedelta.spec | 126 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 python-datedelta.spec (limited to 'python-datedelta.spec') diff --git a/python-datedelta.spec b/python-datedelta.spec new file mode 100644 index 0000000..b7e974f --- /dev/null +++ b/python-datedelta.spec @@ -0,0 +1,126 @@ +%global _empty_manifest_terminate_build 0 +Name: python-datedelta +Version: 1.4 +Release: 1 +Summary: Like datetime.timedelta, for date arithmetic. +License: BSD-3-Clause +URL: https://github.com/aaugustin/datedelta +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/b1/5d/a34fd53137d287fd08182d9530941f651a88de67bddc68292954166355e0/datedelta-1.4.tar.gz +BuildArch: noarch + + +%description +There are two date arithmetic traps in the Gregorian calendar: +1. Leap years. Problems arise when adding years to a February 29th gives a + result in a non-leap year. +2. Variable number of days in months. Problems arise when adding months to a + 29th, 30th or 31st gives a result in a month where that day doesn't exist. +In both cases, datedelta changes the result to the first day of the next month. +This method gives consistent results provided periods are represented by +(start date inclusive, end date exclusive) — that's [start date, end date) if +you prefer the mathematical notation. This representation of periods is akin +to 0-based indexing, which is the convention Python uses. +For example: +* If someone subscribes for a year starting on 2020-02-29 inclusive, the end + date must be 2021-03-01 exclusive. If it was 2020-02-28 exclusive, that day + would be missing from the subscription period. +* If someone subscribes for three months starting on 2020-03-31 inclusive, the + end date must be 2020-07-01 exclusive. If it was 2020-06-30 exclusive, that + day would be missing from the subscription period. +Operations are always performed on years, then months, then days. This order +usually provides the expected behavior. It also minimizes loss of precision. + +%package -n python3-datedelta +Summary: Like datetime.timedelta, for date arithmetic. +Provides: python-datedelta +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-datedelta +There are two date arithmetic traps in the Gregorian calendar: +1. Leap years. Problems arise when adding years to a February 29th gives a + result in a non-leap year. +2. Variable number of days in months. Problems arise when adding months to a + 29th, 30th or 31st gives a result in a month where that day doesn't exist. +In both cases, datedelta changes the result to the first day of the next month. +This method gives consistent results provided periods are represented by +(start date inclusive, end date exclusive) — that's [start date, end date) if +you prefer the mathematical notation. This representation of periods is akin +to 0-based indexing, which is the convention Python uses. +For example: +* If someone subscribes for a year starting on 2020-02-29 inclusive, the end + date must be 2021-03-01 exclusive. If it was 2020-02-28 exclusive, that day + would be missing from the subscription period. +* If someone subscribes for three months starting on 2020-03-31 inclusive, the + end date must be 2020-07-01 exclusive. If it was 2020-06-30 exclusive, that + day would be missing from the subscription period. +Operations are always performed on years, then months, then days. This order +usually provides the expected behavior. It also minimizes loss of precision. + +%package help +Summary: Development documents and examples for datedelta +Provides: python3-datedelta-doc +%description help +There are two date arithmetic traps in the Gregorian calendar: +1. Leap years. Problems arise when adding years to a February 29th gives a + result in a non-leap year. +2. Variable number of days in months. Problems arise when adding months to a + 29th, 30th or 31st gives a result in a month where that day doesn't exist. +In both cases, datedelta changes the result to the first day of the next month. +This method gives consistent results provided periods are represented by +(start date inclusive, end date exclusive) — that's [start date, end date) if +you prefer the mathematical notation. This representation of periods is akin +to 0-based indexing, which is the convention Python uses. +For example: +* If someone subscribes for a year starting on 2020-02-29 inclusive, the end + date must be 2021-03-01 exclusive. If it was 2020-02-28 exclusive, that day + would be missing from the subscription period. +* If someone subscribes for three months starting on 2020-03-31 inclusive, the + end date must be 2020-07-01 exclusive. If it was 2020-06-30 exclusive, that + day would be missing from the subscription period. +Operations are always performed on years, then months, then days. This order +usually provides the expected behavior. It also minimizes loss of precision. + +%prep +%autosetup -n datedelta-1.4 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-datedelta -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Apr 11 2023 Python_Bot - 1.4-1 +- Package Spec generated -- cgit v1.2.3