diff options
author | CoprDistGit <infra@openeuler.org> | 2023-04-11 06:02:53 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-04-11 06:02:53 +0000 |
commit | 48daf13f728d8ba18b21f48a1806126dc8736b95 (patch) | |
tree | 38fc2462ae8c84060e00d2476671042a54780cda | |
parent | 68cd9ac6f07572eec63a2cd64bb48a65b1cc0146 (diff) |
automatic import of python-datedelta
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-datedelta.spec | 126 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 128 insertions, 0 deletions
@@ -0,0 +1 @@ +/datedelta-1.4.tar.gz 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 <Python_Bot@openeuler.org> - 1.4-1 +- Package Spec generated @@ -0,0 +1 @@ +c587ea0c2a39b0942795eae9e3601240 datedelta-1.4.tar.gz |