File tree Expand file tree Collapse file tree 1 file changed +16
-5
lines changed Expand file tree Collapse file tree 1 file changed +16
-5
lines changed Original file line number Diff line number Diff line change @@ -39,11 +39,22 @@ async def get(
3939 ) -> Buffer :
4040 if byte_range is None :
4141 resp = await obs .get_async (self .store , key )
42- return await resp .bytes_async ()
43-
44- pass
45-
46- raise NotImplementedError
42+ return prototype .buffer .from_buffer (memoryview (await resp .bytes_async ())) # type: ignore not assignable to buffer
43+
44+ start , end = byte_range
45+ if start is not None and end is not None :
46+ resp = await obs .get_range_async (self .store , key , start = start , end = end )
47+ return prototype .buffer .from_buffer (memoryview (await resp .bytes_async ())) # type: ignore not assignable to buffer
48+ elif start is not None :
49+ if start >= 0 :
50+ # Offset request
51+ resp = await obs .get_async (self .store , key , options = {"range" : {"offset" : start }})
52+ else :
53+ resp = await obs .get_async (self .store , key , options = {"range" : {"suffix" : start }})
54+
55+ return prototype .buffer .from_buffer (memoryview (await resp .bytes_async ())) # type: ignore not assignable to buffer
56+ else :
57+ raise ValueError (f"Unexpected input to `get`: { start = } , { end = } " )
4758
4859 async def get_partial_values (
4960 self ,
You can’t perform that action at this time.
0 commit comments