Skip to content

Commit 52d1baf

Browse files
author
user
committed
bump version v1.1.0
1 parent 95a2db0 commit 52d1baf

6 files changed

Lines changed: 47 additions & 11 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ venv/
110110
ENV/
111111
env.bak/
112112
venv.bak/
113+
venv_aioredis_1/
113114

114115
# Spyder project settings
115116
.spyderproject

CHANGELOG.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,21 @@
11
# Changelog
22

3+
4+
## 1.1.0
5+
6+
- Can use `aioredis` `2.x` or `>=1.3.x`
7+
8+
39
## 1.0.1
410

511
- Minor bug patch
612

13+
714
## 1.0.0
815

916
- Change [Pydantic](https://pydantic-docs.helpmanual.io/) to [Dataclasess](https://docs.python.org/3/library/dataclasses.html)
1017

18+
1119
## 0.x.x
1220

1321
- Initial release
14-

RSO/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "1.0.1"
1+
__version__ = "1.1.0"

RSO/aioredis/index.py

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
1-
from aioredis.client import Pipeline, Redis
1+
from aioredis import __version__ as ar_version
2+
try:
3+
from aioredis.client import Redis, Pipeline
4+
except ModuleNotFoundError:
5+
from aioredis.commands import Redis, Pipeline
26

37
from RSO.base import BaseIndex, BaseModel
48

59

10+
old_aioredis = ar_version < '2.0.0'
11+
12+
613
class HashIndex(BaseIndex):
714

815
@property
@@ -13,9 +20,14 @@ def redis_key(self):
1320

1421
async def save_index(self, redis: Pipeline):
1522
index_value = getattr(self.__model__, self.__key__)
16-
redis.hmset(self.redis_key, {
17-
index_value: self._model_key_value
18-
})
23+
if old_aioredis:
24+
redis.hmset_dict(self.redis_key, {
25+
index_value: self._model_key_value
26+
})
27+
else:
28+
redis.hmset(self.redis_key, {
29+
index_value: self._model_key_value
30+
})
1931

2032
@classmethod
2133
async def search_model(

RSO/aioredis/model.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,18 @@
11
from dataclasses import asdict
22
from typing import Union
33

4-
from aioredis.client import Redis, Pipeline
4+
from aioredis import __version__ as ar_version
5+
try:
6+
from aioredis.client import Redis, Pipeline
7+
except ModuleNotFoundError:
8+
from aioredis.commands import Redis, Pipeline
59

610
from RSO.base import BaseModel
711

812

13+
old_aioredis = ar_version < '2.0.0'
14+
15+
916
class Model(BaseModel):
1017
class Config:
1118
orm_mode = True
@@ -25,7 +32,11 @@ async def save(self, redis: Union[Pipeline, Redis]):
2532
else:
2633
pipe = redis.pipeline()
2734

28-
pipe.hmset(self.redis_key, self.to_redis())
35+
if old_aioredis:
36+
pipe.hmset_dict(self.redis_key, self.to_redis())
37+
else:
38+
pipe.hmset(self.redis_key, self.to_redis())
39+
2940
for index_class in self.__indexes__:
3041
index = index_class.create_from_model(self)
3142
if getattr(self, index_class.__key__) is None:
@@ -38,6 +49,7 @@ async def search(cls, redis: Redis, value):
3849
redis_key = cls._to_redis_key(value)
3950
if bool(await redis.exists(redis_key)) is True:
4051
redis_data = await redis.hgetall(redis_key)
52+
print(redis_data)
4153
return cls(**redis_data)
4254
else:
4355
return None

tests/conftest.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import pytest
22

3+
import aioredis as aioredis_
34
from fakeredis import FakeRedis, aioredis
45

56

@@ -12,6 +13,9 @@ def sync_redis():
1213

1314
@pytest.fixture
1415
async def async_redis():
15-
return await aioredis.FakeRedis(
16-
decode_responses=True, encoding='utf-8'
17-
)
16+
if aioredis_.__version__ >= '2.0.0':
17+
return await aioredis.FakeRedis(
18+
decode_responses=True, encoding='utf-8'
19+
)
20+
else:
21+
return await aioredis.create_redis(encoding='utf-8')

0 commit comments

Comments
 (0)