Skip to content

Commit

Permalink
remove monkey_patch, add srem
Browse files Browse the repository at this point in the history
  • Loading branch information
PythonFZ committed May 28, 2024
1 parent ba85698 commit c35e381
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 5 deletions.
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "znsocket"
version = "0.1.0"
version = "0.1.1"
description = "Create objects with shared attributes through a socket connection."
authors = ["Fabian Zills <[email protected]>"]
license = "Apache-2.0"
Expand Down
9 changes: 9 additions & 0 deletions tests/test_connection.py
Original file line number Diff line number Diff line change
Expand Up @@ -186,3 +186,12 @@ def test_rdlete(client, request):
c.set("name", "Alice")
c.delete("name")
assert c.get("name") is None


@pytest.mark.parametrize("client", ["znsclient", "redisclient"])
def test_srem(client, request):
c = request.getfixturevalue(client)
c.sadd("set", "member1")
c.sadd("set", "member2")
c.srem("set", "member1")
assert c.smembers("set") == {"member2"}
4 changes: 0 additions & 4 deletions znsocket/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
import eventlet

eventlet.monkey_patch()

from .client import Client
from .server import get_sio

Expand Down
3 changes: 3 additions & 0 deletions znsocket/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,5 +78,8 @@ def lrem(self, name: str, count: int, value: str):
def sadd(self, name, value):
return self.sio.call("sadd", {"name": name, "value": value})

def srem(self, name, value):
return self.sio.call("srem", {"name": name, "value": value})

def flushall(self):
return self.sio.call("flushall", {})
9 changes: 9 additions & 0 deletions znsocket/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -180,4 +180,13 @@ def sadd(sid, data):
def flushall(sid, data):
storage.clear()

@sio.event
def srem(sid, data):
name = data.pop("name")
value = data.pop("value")
try:
storage[name].remove(value)
except KeyError:
pass

return sio

0 comments on commit c35e381

Please sign in to comment.