summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-toredis-fork.spec156
-rw-r--r--sources1
3 files changed, 158 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..6aba503 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/toredis-fork-0.1.4.tar.gz
diff --git a/python-toredis-fork.spec b/python-toredis-fork.spec
new file mode 100644
index 0000000..0c5cba0
--- /dev/null
+++ b/python-toredis-fork.spec
@@ -0,0 +1,156 @@
+%global _empty_manifest_terminate_build 0
+Name: python-toredis-fork
+Version: 0.1.4
+Release: 1
+Summary: Really simple async Redis client for Tornado
+License: http://www.apache.org/licenses/LICENSE-2.0
+URL: http://github.com/mrjoes/toredis/
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/fb/3c/1224e002cf9f1d23dad5d5ac0ded131c994d00b50f66ca76198778350bcd/toredis-fork-0.1.4.tar.gz
+BuildArch: noarch
+
+
+%description
+This is minimalistic, but feature rich redis client for Tornado built on top of `hiredis <https://github.com/pietern/hiredis-py>`_ protocol parser.
+Supports all redis commands, which are auto-generated from the redis `JSON documentation file <https://github.com/antirez/redis-doc/blob/master/commands.json>`_.
+Key design points:
+1. While toredis attempts to add some syntactical sugar to the API, all responses are returned "as is". For example, if command returns
+ list of items and developer requested only one key, list with one entry will be returned. For example::
+ def handle(self, result):
+ print(len(result))
+ conn.hkeys('test1', handle)
+2. Most redis commands accept one or more keys. Toredis adds a bit of logic to handle single key or array of keys. Due to python
+ limitations, it is not possible to use ``*args`` with named ``callback`` argument, so you will have to pass array of key names::
+ # This will work
+ conn.blpop('test', callback=callback)
+ conn.blpop(['test', 'test2'], callback=callback)
+ # This won't work
+ conn.blpop('test', 'test2', callback=callback)
+3. If redis connection will be dropped while waiting for response, callback will be triggered with `None` as a value.
+4. Toredis does not provide reconnection feature, but you can override :meth:`~toredis.Client.on_disconnect` method and implement your reconnection logic.
+You can find command `documentation here <https://github.com/mrjoes/toredis/blob/master/toredis/commands.py>`_ (will be moved to rtd later).
+Pipelining is also supported::
+ # For more than one pipeline for connection create it with Pipeline(conn)
+ pipeline = conn.pipeline()
+ pipeline.set('foo', 'bar')
+ pipeline.get('foo')
+ pipeline.send(callback=callback)
+For more examples please refer to tests.
+More on `redis pipelining <http://redis.io/topics/pipelining>`_.
+Things missing:
+* Backport pure-python redis protocol parser (for PyPy support)
+* Connection pools
+
+%package -n python3-toredis-fork
+Summary: Really simple async Redis client for Tornado
+Provides: python-toredis-fork
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-toredis-fork
+This is minimalistic, but feature rich redis client for Tornado built on top of `hiredis <https://github.com/pietern/hiredis-py>`_ protocol parser.
+Supports all redis commands, which are auto-generated from the redis `JSON documentation file <https://github.com/antirez/redis-doc/blob/master/commands.json>`_.
+Key design points:
+1. While toredis attempts to add some syntactical sugar to the API, all responses are returned "as is". For example, if command returns
+ list of items and developer requested only one key, list with one entry will be returned. For example::
+ def handle(self, result):
+ print(len(result))
+ conn.hkeys('test1', handle)
+2. Most redis commands accept one or more keys. Toredis adds a bit of logic to handle single key or array of keys. Due to python
+ limitations, it is not possible to use ``*args`` with named ``callback`` argument, so you will have to pass array of key names::
+ # This will work
+ conn.blpop('test', callback=callback)
+ conn.blpop(['test', 'test2'], callback=callback)
+ # This won't work
+ conn.blpop('test', 'test2', callback=callback)
+3. If redis connection will be dropped while waiting for response, callback will be triggered with `None` as a value.
+4. Toredis does not provide reconnection feature, but you can override :meth:`~toredis.Client.on_disconnect` method and implement your reconnection logic.
+You can find command `documentation here <https://github.com/mrjoes/toredis/blob/master/toredis/commands.py>`_ (will be moved to rtd later).
+Pipelining is also supported::
+ # For more than one pipeline for connection create it with Pipeline(conn)
+ pipeline = conn.pipeline()
+ pipeline.set('foo', 'bar')
+ pipeline.get('foo')
+ pipeline.send(callback=callback)
+For more examples please refer to tests.
+More on `redis pipelining <http://redis.io/topics/pipelining>`_.
+Things missing:
+* Backport pure-python redis protocol parser (for PyPy support)
+* Connection pools
+
+%package help
+Summary: Development documents and examples for toredis-fork
+Provides: python3-toredis-fork-doc
+%description help
+This is minimalistic, but feature rich redis client for Tornado built on top of `hiredis <https://github.com/pietern/hiredis-py>`_ protocol parser.
+Supports all redis commands, which are auto-generated from the redis `JSON documentation file <https://github.com/antirez/redis-doc/blob/master/commands.json>`_.
+Key design points:
+1. While toredis attempts to add some syntactical sugar to the API, all responses are returned "as is". For example, if command returns
+ list of items and developer requested only one key, list with one entry will be returned. For example::
+ def handle(self, result):
+ print(len(result))
+ conn.hkeys('test1', handle)
+2. Most redis commands accept one or more keys. Toredis adds a bit of logic to handle single key or array of keys. Due to python
+ limitations, it is not possible to use ``*args`` with named ``callback`` argument, so you will have to pass array of key names::
+ # This will work
+ conn.blpop('test', callback=callback)
+ conn.blpop(['test', 'test2'], callback=callback)
+ # This won't work
+ conn.blpop('test', 'test2', callback=callback)
+3. If redis connection will be dropped while waiting for response, callback will be triggered with `None` as a value.
+4. Toredis does not provide reconnection feature, but you can override :meth:`~toredis.Client.on_disconnect` method and implement your reconnection logic.
+You can find command `documentation here <https://github.com/mrjoes/toredis/blob/master/toredis/commands.py>`_ (will be moved to rtd later).
+Pipelining is also supported::
+ # For more than one pipeline for connection create it with Pipeline(conn)
+ pipeline = conn.pipeline()
+ pipeline.set('foo', 'bar')
+ pipeline.get('foo')
+ pipeline.send(callback=callback)
+For more examples please refer to tests.
+More on `redis pipelining <http://redis.io/topics/pipelining>`_.
+Things missing:
+* Backport pure-python redis protocol parser (for PyPy support)
+* Connection pools
+
+%prep
+%autosetup -n toredis-fork-0.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-toredis-fork -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 0.1.4-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..c5bf441
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+e8dbb0d1492050a3da7267e2456182d6 toredis-fork-0.1.4.tar.gz