1313
1414from zarr .abc .store import AccessMode , Store
1515
16- T_Wrapped = TypeVar ("T_Wrapped " , bound = Store )
16+ T_Store = TypeVar ("T_Store " , bound = Store )
1717
1818
19- class WrapperStore (Store , Generic [T_Wrapped ]):
19+ class WrapperStore (Store , Generic [T_Store ]):
2020 """
2121 A store class that wraps an existing ``Store`` instance.
2222 By default all of the store methods are delegated to the wrapped store instance, which is
@@ -25,120 +25,118 @@ class WrapperStore(Store, Generic[T_Wrapped]):
2525 Use this class to modify or extend the behavior of the other store classes.
2626 """
2727
28- _wrapped : T_Wrapped
28+ _store : T_Store
2929
30- def __init__ (self , wrapped : T_Wrapped ) -> None :
31- self ._wrapped = wrapped
30+ def __init__ (self , store : T_Store ) -> None :
31+ self ._store = store
3232
3333 @classmethod
34- async def open (
35- cls : type [Self ], wrapped_class : type [T_Wrapped ], * args : Any , ** kwargs : Any
36- ) -> Self :
37- wrapped = wrapped_class (* args , ** kwargs )
38- await wrapped ._open ()
39- return cls (wrapped = wrapped )
34+ async def open (cls : type [Self ], store_cls : type [T_Store ], * args : Any , ** kwargs : Any ) -> Self :
35+ store = store_cls (* args , ** kwargs )
36+ await store ._open ()
37+ return cls (store = store )
4038
4139 def __enter__ (self ) -> Self :
42- return type (self )(self ._wrapped .__enter__ ())
40+ return type (self )(self ._store .__enter__ ())
4341
4442 def __exit__ (
4543 self ,
4644 exc_type : type [BaseException ] | None ,
4745 exc_value : BaseException | None ,
4846 traceback : TracebackType | None ,
4947 ) -> None :
50- return self ._wrapped .__exit__ (exc_type , exc_value , traceback )
48+ return self ._store .__exit__ (exc_type , exc_value , traceback )
5149
5250 async def _open (self ) -> None :
53- await self ._wrapped ._open ()
51+ await self ._store ._open ()
5452
5553 async def _ensure_open (self ) -> None :
56- await self ._wrapped ._ensure_open ()
54+ await self ._store ._ensure_open ()
5755
5856 async def empty (self ) -> bool :
59- return await self ._wrapped .empty ()
57+ return await self ._store .empty ()
6058
6159 async def clear (self ) -> None :
62- return await self ._wrapped .clear ()
60+ return await self ._store .clear ()
6361
6462 def with_mode (self , mode : AccessModeLiteral ) -> Self :
65- return type (self )(wrapped = self ._wrapped .with_mode (mode = mode ))
63+ return type (self )(store = self ._store .with_mode (mode = mode ))
6664
6765 @property
6866 def mode (self ) -> AccessMode :
69- return self ._wrapped ._mode
67+ return self ._store ._mode
7068
7169 def _check_writable (self ) -> None :
72- return self ._wrapped ._check_writable ()
70+ return self ._store ._check_writable ()
7371
7472 def __eq__ (self , value : object ) -> bool :
75- return type (self ) is type (value ) and self ._wrapped .__eq__ (value )
73+ return type (self ) is type (value ) and self ._store .__eq__ (value )
7674
7775 async def get (
7876 self , key : str , prototype : BufferPrototype , byte_range : ByteRangeRequest | None = None
7977 ) -> Buffer | None :
80- return await self ._wrapped .get (key , prototype , byte_range )
78+ return await self ._store .get (key , prototype , byte_range )
8179
8280 async def get_partial_values (
8381 self ,
8482 prototype : BufferPrototype ,
8583 key_ranges : Iterable [tuple [str , ByteRangeRequest ]],
8684 ) -> list [Buffer | None ]:
87- return await self ._wrapped .get_partial_values (prototype , key_ranges )
85+ return await self ._store .get_partial_values (prototype , key_ranges )
8886
8987 async def exists (self , key : str ) -> bool :
90- return await self ._wrapped .exists (key )
88+ return await self ._store .exists (key )
9189
9290 async def set (self , key : str , value : Buffer ) -> None :
93- await self ._wrapped .set (key , value )
91+ await self ._store .set (key , value )
9492
9593 async def set_if_not_exists (self , key : str , value : Buffer ) -> None :
96- return await self ._wrapped .set_if_not_exists (key , value )
94+ return await self ._store .set_if_not_exists (key , value )
9795
9896 async def _set_many (self , values : Iterable [tuple [str , Buffer ]]) -> None :
99- await self ._wrapped ._set_many (values )
97+ await self ._store ._set_many (values )
10098
10199 @property
102100 def supports_writes (self ) -> bool :
103- return self ._wrapped .supports_writes
101+ return self ._store .supports_writes
104102
105103 @property
106104 def supports_deletes (self ) -> bool :
107- return self ._wrapped .supports_deletes
105+ return self ._store .supports_deletes
108106
109107 async def delete (self , key : str ) -> None :
110- await self ._wrapped .delete (key )
108+ await self ._store .delete (key )
111109
112110 @property
113111 def supports_partial_writes (self ) -> bool :
114- return self ._wrapped .supports_partial_writes
112+ return self ._store .supports_partial_writes
115113
116114 async def set_partial_values (
117115 self , key_start_values : Iterable [tuple [str , int , BytesLike ]]
118116 ) -> None :
119- return await self ._wrapped .set_partial_values (key_start_values )
117+ return await self ._store .set_partial_values (key_start_values )
120118
121119 @property
122120 def supports_listing (self ) -> bool :
123- return self ._wrapped .supports_listing
121+ return self ._store .supports_listing
124122
125123 def list (self ) -> AsyncGenerator [str ]:
126- return self ._wrapped .list ()
124+ return self ._store .list ()
127125
128126 def list_prefix (self , prefix : str ) -> AsyncGenerator [str ]:
129- return self ._wrapped .list_prefix (prefix )
127+ return self ._store .list_prefix (prefix )
130128
131129 def list_dir (self , prefix : str ) -> AsyncGenerator [str ]:
132- return self ._wrapped .list_dir (prefix )
130+ return self ._store .list_dir (prefix )
133131
134132 async def delete_dir (self , prefix : str ) -> None :
135- return await self ._wrapped .delete_dir (prefix )
133+ return await self ._store .delete_dir (prefix )
136134
137135 def close (self ) -> None :
138- self ._wrapped .close ()
136+ self ._store .close ()
139137
140138 async def _get_many (
141139 self , requests : Iterable [tuple [str , BufferPrototype , ByteRangeRequest | None ]]
142140 ) -> AsyncGenerator [tuple [str , Buffer | None ], None ]:
143- async for req in self ._wrapped ._get_many (requests ):
141+ async for req in self ._store ._get_many (requests ):
144142 yield req
0 commit comments