summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-06-20 03:39:43 +0000
committerCoprDistGit <infra@openeuler.org>2023-06-20 03:39:43 +0000
commit60752a94066bee475660fbd2b30e5626fbd4bdfa (patch)
tree3975eab84acd4db416d86cf582c15d759d6535d6
parent2a26d1a15287c5571c5bc43440a8326b72ca3d63 (diff)
automatic import of python-zmqflpopeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-zmqflp.spec224
-rw-r--r--sources1
3 files changed, 226 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..144dab4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/zmqflp-0.8.3.tar.gz
diff --git a/python-zmqflp.spec b/python-zmqflp.spec
new file mode 100644
index 0000000..57c5f10
--- /dev/null
+++ b/python-zmqflp.spec
@@ -0,0 +1,224 @@
+%global _empty_manifest_terminate_build 0
+Name: python-zmqflp
+Version: 0.8.3
+Release: 1
+Summary: PyZMQ server/client implementing asyncio freelance protocol based on Min RK's starter code
+License: Mozilla Public License 2.0 (MPL 2.0)
+URL: https://github.com/curtywang/zmqflp
+Source0: https://mirrors.aliyun.com/pypi/web/packages/8d/f4/d165176c39462b266946d143cdc922387d01cc316c9f69dd914690e3a5a9/zmqflp-0.8.3.tar.gz
+BuildArch: noarch
+
+Requires: python3-pyzmq
+Requires: python3-cbor2
+
+%description
+# zmqflp
+
+Improvements to the Freelance protocol-based zeromq server/client (Python)
+The client and server talk using cbor2, so the api accepts dictionaries as input.
+
+## To create a zmqflp server:
+
+```python
+# create the server object (it runs in an asyncio zmq context)
+self.server = zmqflp_server.ZMQFLPServer(self.config.identity, self.config.zmq_port)
+
+# use the following code to process messages received by the server and send them back
+async def process_messages(self):
+ (serialized_request, orig_headers) = await self.server.receive()
+ if serialized_request == 'EXIT':
+ await self.server.send(orig_headers, 'exiting')
+ return False
+ elif serialized_request != "PING":
+ try:
+ request = serialized_request
+ response = self.process_request(request)
+ await self.server.send(orig_headers, response)
+ return True
+ except Exception as e:
+ logging.exception(e)
+ return False
+ return True
+```
+
+## To create a client without using a context manager:
+
+```python
+# create the client object (this does NOT run in an asyncio context)
+self.client = zmqflp_client.ZMQFLPClient(self.config.list_of_servers)
+
+# to send and receive with the client
+msg_to_send = {'message': 'hello!', 'other-key': 'stuff goes here'}
+status = self.client.send_and_receive(msg_to_send)
+```
+
+## To create a client using a context manager (for example, to run on AWS Lambda):
+
+```python
+# create the client object (this does NOT run in an asyncio context)
+with zmqflp_client.ZMQFLPClient(self.config.list_of_servers) as client:
+ # to send and receive with the client
+ msg_to_send = {'message': 'hello!', 'other-key': 'stuff goes here'}
+ status = client.send_and_receive(msg_to_send)
+```
+
+
+
+%package -n python3-zmqflp
+Summary: PyZMQ server/client implementing asyncio freelance protocol based on Min RK's starter code
+Provides: python-zmqflp
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-zmqflp
+# zmqflp
+
+Improvements to the Freelance protocol-based zeromq server/client (Python)
+The client and server talk using cbor2, so the api accepts dictionaries as input.
+
+## To create a zmqflp server:
+
+```python
+# create the server object (it runs in an asyncio zmq context)
+self.server = zmqflp_server.ZMQFLPServer(self.config.identity, self.config.zmq_port)
+
+# use the following code to process messages received by the server and send them back
+async def process_messages(self):
+ (serialized_request, orig_headers) = await self.server.receive()
+ if serialized_request == 'EXIT':
+ await self.server.send(orig_headers, 'exiting')
+ return False
+ elif serialized_request != "PING":
+ try:
+ request = serialized_request
+ response = self.process_request(request)
+ await self.server.send(orig_headers, response)
+ return True
+ except Exception as e:
+ logging.exception(e)
+ return False
+ return True
+```
+
+## To create a client without using a context manager:
+
+```python
+# create the client object (this does NOT run in an asyncio context)
+self.client = zmqflp_client.ZMQFLPClient(self.config.list_of_servers)
+
+# to send and receive with the client
+msg_to_send = {'message': 'hello!', 'other-key': 'stuff goes here'}
+status = self.client.send_and_receive(msg_to_send)
+```
+
+## To create a client using a context manager (for example, to run on AWS Lambda):
+
+```python
+# create the client object (this does NOT run in an asyncio context)
+with zmqflp_client.ZMQFLPClient(self.config.list_of_servers) as client:
+ # to send and receive with the client
+ msg_to_send = {'message': 'hello!', 'other-key': 'stuff goes here'}
+ status = client.send_and_receive(msg_to_send)
+```
+
+
+
+%package help
+Summary: Development documents and examples for zmqflp
+Provides: python3-zmqflp-doc
+%description help
+# zmqflp
+
+Improvements to the Freelance protocol-based zeromq server/client (Python)
+The client and server talk using cbor2, so the api accepts dictionaries as input.
+
+## To create a zmqflp server:
+
+```python
+# create the server object (it runs in an asyncio zmq context)
+self.server = zmqflp_server.ZMQFLPServer(self.config.identity, self.config.zmq_port)
+
+# use the following code to process messages received by the server and send them back
+async def process_messages(self):
+ (serialized_request, orig_headers) = await self.server.receive()
+ if serialized_request == 'EXIT':
+ await self.server.send(orig_headers, 'exiting')
+ return False
+ elif serialized_request != "PING":
+ try:
+ request = serialized_request
+ response = self.process_request(request)
+ await self.server.send(orig_headers, response)
+ return True
+ except Exception as e:
+ logging.exception(e)
+ return False
+ return True
+```
+
+## To create a client without using a context manager:
+
+```python
+# create the client object (this does NOT run in an asyncio context)
+self.client = zmqflp_client.ZMQFLPClient(self.config.list_of_servers)
+
+# to send and receive with the client
+msg_to_send = {'message': 'hello!', 'other-key': 'stuff goes here'}
+status = self.client.send_and_receive(msg_to_send)
+```
+
+## To create a client using a context manager (for example, to run on AWS Lambda):
+
+```python
+# create the client object (this does NOT run in an asyncio context)
+with zmqflp_client.ZMQFLPClient(self.config.list_of_servers) as client:
+ # to send and receive with the client
+ msg_to_send = {'message': 'hello!', 'other-key': 'stuff goes here'}
+ status = client.send_and_receive(msg_to_send)
+```
+
+
+
+%prep
+%autosetup -n zmqflp-0.8.3
+
+%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-zmqflp -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 0.8.3-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..58f175b
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+79607bf4ba6c3759d849d33ab1aa791f zmqflp-0.8.3.tar.gz