summaryrefslogtreecommitdiff
path: root/python-sqlalchemy-utc.spec
blob: 30962e24679144825d87645fd6b64cf2ca39a84e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
%global _empty_manifest_terminate_build 0
Name:		python-SQLAlchemy-Utc
Version:	0.14.0
Release:	1
Summary:	SQLAlchemy type to store aware datetime values
License:	MIT License
URL:		https://github.com/spoqa/sqlalchemy-utc
Source0:	https://mirrors.nju.edu.cn/pypi/web/packages/5c/db/2d8f421cece2758954278bd16e05e3f73ce86c0062577a1ccfd3eb4208cd/SQLAlchemy-Utc-0.14.0.tar.gz
BuildArch:	noarch

Requires:	python3-setuptools
Requires:	python3-SQLAlchemy

%description
This package provides a drop-in replacement of SQLAlchemy's built-in `DateTime`_
type with ``timezone=True`` option enabled.  Although SQLAlchemy's built-in
``DateTime`` type provides ``timezone=True`` option, since some vendors like
SQLite and MySQL don't provide ``timestamptz`` data type, the option doesn't
make any effect on these vendors.
``UtcDateTime`` type is equivalent to the built-in ``DateTime`` with
``timezone=True`` option enabled on vendors that support ``timestamptz``
e.g. PostgreSQL, but on SQLite or MySQL, it shifts all ``datetime.datetime``
values to UTC offset before store them, and returns always aware
``datetime.datetime`` values through result sets.
Long story short, ``UtcDateTime`` does:
- take only aware ``datetime.datetime``,
- return only aware ``datetime.datetime``,
- never take or return naive ``datetime.datetime``,
- ensure timestamps in database always to be encoded in UTC, and
- work as you'd expect.
A SQLAlchemy helper function, ``utcnow()``, is provided as an alternative
to ``func.now()`` for generating ``UtcDateTime`` values on the server. For
example: ``Column('time', UtcDateTime(), default=utcnow())``.
Written by `Hong Minhee`_ at Spoqa_, and distributed under MIT license.

%package -n python3-SQLAlchemy-Utc
Summary:	SQLAlchemy type to store aware datetime values
Provides:	python-SQLAlchemy-Utc
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-SQLAlchemy-Utc
This package provides a drop-in replacement of SQLAlchemy's built-in `DateTime`_
type with ``timezone=True`` option enabled.  Although SQLAlchemy's built-in
``DateTime`` type provides ``timezone=True`` option, since some vendors like
SQLite and MySQL don't provide ``timestamptz`` data type, the option doesn't
make any effect on these vendors.
``UtcDateTime`` type is equivalent to the built-in ``DateTime`` with
``timezone=True`` option enabled on vendors that support ``timestamptz``
e.g. PostgreSQL, but on SQLite or MySQL, it shifts all ``datetime.datetime``
values to UTC offset before store them, and returns always aware
``datetime.datetime`` values through result sets.
Long story short, ``UtcDateTime`` does:
- take only aware ``datetime.datetime``,
- return only aware ``datetime.datetime``,
- never take or return naive ``datetime.datetime``,
- ensure timestamps in database always to be encoded in UTC, and
- work as you'd expect.
A SQLAlchemy helper function, ``utcnow()``, is provided as an alternative
to ``func.now()`` for generating ``UtcDateTime`` values on the server. For
example: ``Column('time', UtcDateTime(), default=utcnow())``.
Written by `Hong Minhee`_ at Spoqa_, and distributed under MIT license.

%package help
Summary:	Development documents and examples for SQLAlchemy-Utc
Provides:	python3-SQLAlchemy-Utc-doc
%description help
This package provides a drop-in replacement of SQLAlchemy's built-in `DateTime`_
type with ``timezone=True`` option enabled.  Although SQLAlchemy's built-in
``DateTime`` type provides ``timezone=True`` option, since some vendors like
SQLite and MySQL don't provide ``timestamptz`` data type, the option doesn't
make any effect on these vendors.
``UtcDateTime`` type is equivalent to the built-in ``DateTime`` with
``timezone=True`` option enabled on vendors that support ``timestamptz``
e.g. PostgreSQL, but on SQLite or MySQL, it shifts all ``datetime.datetime``
values to UTC offset before store them, and returns always aware
``datetime.datetime`` values through result sets.
Long story short, ``UtcDateTime`` does:
- take only aware ``datetime.datetime``,
- return only aware ``datetime.datetime``,
- never take or return naive ``datetime.datetime``,
- ensure timestamps in database always to be encoded in UTC, and
- work as you'd expect.
A SQLAlchemy helper function, ``utcnow()``, is provided as an alternative
to ``func.now()`` for generating ``UtcDateTime`` values on the server. For
example: ``Column('time', UtcDateTime(), default=utcnow())``.
Written by `Hong Minhee`_ at Spoqa_, and distributed under MIT license.

%prep
%autosetup -n SQLAlchemy-Utc-0.14.0

%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-SQLAlchemy-Utc -f filelist.lst
%dir %{python3_sitelib}/*

%files help -f doclist.lst
%{_docdir}/*

%changelog
* Sun Apr 23 2023 Python_Bot <Python_Bot@openeuler.org> - 0.14.0-1
- Package Spec generated