summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-06-20 09:54:59 +0000
committerCoprDistGit <infra@openeuler.org>2023-06-20 09:54:59 +0000
commit1fd26b33b41139db67dee0a0db59edaa4fb8b7cb (patch)
treec556f41c4214c043b3dbb4ee15834b06928998dc
parent0489048ee31c85a02e644b96cc112ec4e2957e65 (diff)
automatic import of python-hisockopeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-hisock.spec349
-rw-r--r--sources1
3 files changed, 351 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..644855f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/hisock-2.0.2.tar.gz
diff --git a/python-hisock.spec b/python-hisock.spec
new file mode 100644
index 0000000..bfcf3ac
--- /dev/null
+++ b/python-hisock.spec
@@ -0,0 +1,349 @@
+%global _empty_manifest_terminate_build 0
+Name: python-hisock
+Version: 2.0.2
+Release: 1
+Summary: A higher-level extension of the socket module, with simpler and more efficient usages
+License: MIT
+URL: https://github.com/SSS-Says-Snek/hisock
+Source0: https://mirrors.aliyun.com/pypi/web/packages/0e/c9/4d06c6e5dcb96c3946b93e56071e7d8ee82caac5f7aeaa35d7d6d99d74b6/hisock-2.0.2.tar.gz
+BuildArch: noarch
+
+Requires: python3-pycryptodome
+
+%description
+To build the *bleeding-edge* version of hisock from GitHub, download the repository with your favorite way, `cd` into it, then type:
+```shell
+$ python -m pip install -e . (WINDOWS)
+ OR
+$ pip3 install -e . (MAC/LINUX)
+```
+Note that you **MUST** cd into the cloned directory for this to work.
+## Code of Conduct and Contributing Guidelines:
+[Code of Conduct](.github/CODE_OF_CONDUCT.md)
+[Contributing Guidelines](.github/CONTRIBUTING.md)
+## Examples
+hisock utilizes decorators as the core of receiving messages instead of having
+if statements handling all of the logic.
+More in-depth examples are located in the `examples` directory, including a tic-tac-toe game. Here is what a basic
+server script would look like using hisock:
+#### Server
+```python
+import sys
+import time
+import random
+from hisock import start_server, get_local_ip
+ADDR = get_local_ip()
+PORT = 6969
+if len(sys.argv) == 2:
+ ADDR = sys.argv[1]
+if len(sys.argv) == 3:
+ PORT = int(sys.argv[2])
+print(f"Serving at {ADDR}")
+server = start_server((ADDR, PORT))
+@server.on("join")
+def client_join(client_data):
+ print(f"Cool, {client_data.ip_as_str} joined!")
+ if client_data['name'] is not None:
+ print(f" - With a sick name \"{client_data.name}\", very cool!")
+ if client_data['group'] is not None:
+ print(f" - In a sick group \"{client_data.group}\", cool!")
+ print("I'm gonna send them a quick hello message")
+ server.send_client(client_data['ip'], "hello_message", str(time.time()).encode())
+@server.on("processing1")
+def process(client_data, process_request: str):
+ print(f"\nAlright, looks like {client_data.ip_as_str} received the hello message, "
+ "\nas now they're trying to compute something on the server, because they have "
+ "potato computers")
+ print("Their processing request is:", process_request)
+ for _ in range(process_request.count("randnum")):
+ randnum = str(random.randint(1, 100000000))
+ process_request = process_request.replace("randnum", randnum, 1)
+ result = eval(process_request) # Insecure, but I'm lazy, so...
+ print(f"Cool! The result is {result}! I'mma send it to the client")
+ server.send_client(client_data, "something", str(result))
+server.start()
+```
+#### Client
+```python
+import time
+from hisock import connect, get_local_ip
+server_to_connect = input("Enter server IP to connect to (Press enter for default of your local IP): ")
+port = input("Enter Server port number (Press enter for default of 6969): ")
+if server_to_connect == '':
+ server_to_connect = get_local_ip()
+if port == '':
+ port = 6969
+else:
+ port = int(port)
+name = input("Name? (Press enter for no name) ")
+group = input("Group? (Press enter for no group) ")
+print("======================================= ESTABLISHING CONNECTION =======================================")
+if name == '':
+ name = None
+if group == '':
+ group = None
+client = connect(
+ (server_to_connect, port),
+ name=name, group=group
+)
+join_time = time.time()
+@client.on("hello_message")
+def handle_hello(msg: str):
+ print("Thanks, server, for sending a hello, just for me!")
+ print(f"Looks like, the message was sent on timestamp {msg}, "
+ f"which is just {round(float(msg) - join_time, 6) * 1000} milliseconds since the connection!")
+ print("In response, I'm going to send the server a request to do some processing")
+ client.send("processing1", b"randnum**2")
+ result = client.recv("something", int)
+ print(f"WHOAAA! The result is {result}! Thanks server!")
+client.start()
+```
+## Contributors
+Special thanks to the following:
+- Sheepy0125, for refactoring the underhood code as well as the API
+- SSS-Says-Snek, for maintaining and developing the library
+- Ankith26, for helping me understand the usages of headers
+###### Copyright SSS-Says-Snek, 2021-present
+
+%package -n python3-hisock
+Summary: A higher-level extension of the socket module, with simpler and more efficient usages
+Provides: python-hisock
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-hisock
+To build the *bleeding-edge* version of hisock from GitHub, download the repository with your favorite way, `cd` into it, then type:
+```shell
+$ python -m pip install -e . (WINDOWS)
+ OR
+$ pip3 install -e . (MAC/LINUX)
+```
+Note that you **MUST** cd into the cloned directory for this to work.
+## Code of Conduct and Contributing Guidelines:
+[Code of Conduct](.github/CODE_OF_CONDUCT.md)
+[Contributing Guidelines](.github/CONTRIBUTING.md)
+## Examples
+hisock utilizes decorators as the core of receiving messages instead of having
+if statements handling all of the logic.
+More in-depth examples are located in the `examples` directory, including a tic-tac-toe game. Here is what a basic
+server script would look like using hisock:
+#### Server
+```python
+import sys
+import time
+import random
+from hisock import start_server, get_local_ip
+ADDR = get_local_ip()
+PORT = 6969
+if len(sys.argv) == 2:
+ ADDR = sys.argv[1]
+if len(sys.argv) == 3:
+ PORT = int(sys.argv[2])
+print(f"Serving at {ADDR}")
+server = start_server((ADDR, PORT))
+@server.on("join")
+def client_join(client_data):
+ print(f"Cool, {client_data.ip_as_str} joined!")
+ if client_data['name'] is not None:
+ print(f" - With a sick name \"{client_data.name}\", very cool!")
+ if client_data['group'] is not None:
+ print(f" - In a sick group \"{client_data.group}\", cool!")
+ print("I'm gonna send them a quick hello message")
+ server.send_client(client_data['ip'], "hello_message", str(time.time()).encode())
+@server.on("processing1")
+def process(client_data, process_request: str):
+ print(f"\nAlright, looks like {client_data.ip_as_str} received the hello message, "
+ "\nas now they're trying to compute something on the server, because they have "
+ "potato computers")
+ print("Their processing request is:", process_request)
+ for _ in range(process_request.count("randnum")):
+ randnum = str(random.randint(1, 100000000))
+ process_request = process_request.replace("randnum", randnum, 1)
+ result = eval(process_request) # Insecure, but I'm lazy, so...
+ print(f"Cool! The result is {result}! I'mma send it to the client")
+ server.send_client(client_data, "something", str(result))
+server.start()
+```
+#### Client
+```python
+import time
+from hisock import connect, get_local_ip
+server_to_connect = input("Enter server IP to connect to (Press enter for default of your local IP): ")
+port = input("Enter Server port number (Press enter for default of 6969): ")
+if server_to_connect == '':
+ server_to_connect = get_local_ip()
+if port == '':
+ port = 6969
+else:
+ port = int(port)
+name = input("Name? (Press enter for no name) ")
+group = input("Group? (Press enter for no group) ")
+print("======================================= ESTABLISHING CONNECTION =======================================")
+if name == '':
+ name = None
+if group == '':
+ group = None
+client = connect(
+ (server_to_connect, port),
+ name=name, group=group
+)
+join_time = time.time()
+@client.on("hello_message")
+def handle_hello(msg: str):
+ print("Thanks, server, for sending a hello, just for me!")
+ print(f"Looks like, the message was sent on timestamp {msg}, "
+ f"which is just {round(float(msg) - join_time, 6) * 1000} milliseconds since the connection!")
+ print("In response, I'm going to send the server a request to do some processing")
+ client.send("processing1", b"randnum**2")
+ result = client.recv("something", int)
+ print(f"WHOAAA! The result is {result}! Thanks server!")
+client.start()
+```
+## Contributors
+Special thanks to the following:
+- Sheepy0125, for refactoring the underhood code as well as the API
+- SSS-Says-Snek, for maintaining and developing the library
+- Ankith26, for helping me understand the usages of headers
+###### Copyright SSS-Says-Snek, 2021-present
+
+%package help
+Summary: Development documents and examples for hisock
+Provides: python3-hisock-doc
+%description help
+To build the *bleeding-edge* version of hisock from GitHub, download the repository with your favorite way, `cd` into it, then type:
+```shell
+$ python -m pip install -e . (WINDOWS)
+ OR
+$ pip3 install -e . (MAC/LINUX)
+```
+Note that you **MUST** cd into the cloned directory for this to work.
+## Code of Conduct and Contributing Guidelines:
+[Code of Conduct](.github/CODE_OF_CONDUCT.md)
+[Contributing Guidelines](.github/CONTRIBUTING.md)
+## Examples
+hisock utilizes decorators as the core of receiving messages instead of having
+if statements handling all of the logic.
+More in-depth examples are located in the `examples` directory, including a tic-tac-toe game. Here is what a basic
+server script would look like using hisock:
+#### Server
+```python
+import sys
+import time
+import random
+from hisock import start_server, get_local_ip
+ADDR = get_local_ip()
+PORT = 6969
+if len(sys.argv) == 2:
+ ADDR = sys.argv[1]
+if len(sys.argv) == 3:
+ PORT = int(sys.argv[2])
+print(f"Serving at {ADDR}")
+server = start_server((ADDR, PORT))
+@server.on("join")
+def client_join(client_data):
+ print(f"Cool, {client_data.ip_as_str} joined!")
+ if client_data['name'] is not None:
+ print(f" - With a sick name \"{client_data.name}\", very cool!")
+ if client_data['group'] is not None:
+ print(f" - In a sick group \"{client_data.group}\", cool!")
+ print("I'm gonna send them a quick hello message")
+ server.send_client(client_data['ip'], "hello_message", str(time.time()).encode())
+@server.on("processing1")
+def process(client_data, process_request: str):
+ print(f"\nAlright, looks like {client_data.ip_as_str} received the hello message, "
+ "\nas now they're trying to compute something on the server, because they have "
+ "potato computers")
+ print("Their processing request is:", process_request)
+ for _ in range(process_request.count("randnum")):
+ randnum = str(random.randint(1, 100000000))
+ process_request = process_request.replace("randnum", randnum, 1)
+ result = eval(process_request) # Insecure, but I'm lazy, so...
+ print(f"Cool! The result is {result}! I'mma send it to the client")
+ server.send_client(client_data, "something", str(result))
+server.start()
+```
+#### Client
+```python
+import time
+from hisock import connect, get_local_ip
+server_to_connect = input("Enter server IP to connect to (Press enter for default of your local IP): ")
+port = input("Enter Server port number (Press enter for default of 6969): ")
+if server_to_connect == '':
+ server_to_connect = get_local_ip()
+if port == '':
+ port = 6969
+else:
+ port = int(port)
+name = input("Name? (Press enter for no name) ")
+group = input("Group? (Press enter for no group) ")
+print("======================================= ESTABLISHING CONNECTION =======================================")
+if name == '':
+ name = None
+if group == '':
+ group = None
+client = connect(
+ (server_to_connect, port),
+ name=name, group=group
+)
+join_time = time.time()
+@client.on("hello_message")
+def handle_hello(msg: str):
+ print("Thanks, server, for sending a hello, just for me!")
+ print(f"Looks like, the message was sent on timestamp {msg}, "
+ f"which is just {round(float(msg) - join_time, 6) * 1000} milliseconds since the connection!")
+ print("In response, I'm going to send the server a request to do some processing")
+ client.send("processing1", b"randnum**2")
+ result = client.recv("something", int)
+ print(f"WHOAAA! The result is {result}! Thanks server!")
+client.start()
+```
+## Contributors
+Special thanks to the following:
+- Sheepy0125, for refactoring the underhood code as well as the API
+- SSS-Says-Snek, for maintaining and developing the library
+- Ankith26, for helping me understand the usages of headers
+###### Copyright SSS-Says-Snek, 2021-present
+
+%prep
+%autosetup -n hisock-2.0.2
+
+%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-hisock -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 2.0.2-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..a57aa3f
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+8f2b770b7f47f6e99cacbd5a004b1352 hisock-2.0.2.tar.gz