librespot-python/librespot/standard/FilterInputStream.py

42 lines
1.1 KiB
Python

from librespot.standard.InputStream import InputStream
class FilterInputStream(InputStream):
input_stream: InputStream
def __init__(self, input_stream: InputStream):
self.input_stream = input_stream
def internal_read(self):
return self.input_stream.read()
def read(self,
b: bytearray = None,
offset: int = None,
length: int = None) -> int:
if b is not None and offset is None and length is None:
offset = 0
length = len(b)
elif not (b is not None and offset is not None and length is not None):
raise TypeError()
return self.input_stream.read(b, offset, length)
def skip(self, n: int) -> int:
return self.input_stream.skip(n)
def available(self) -> int:
return self.input_stream.available()
def close(self) -> None:
self.input_stream.close()
def mark(self, read_limit: int) -> None:
self.input_stream.mark(read_limit)
def reset(self) -> None:
self.input_stream.reset()
def mark_supported(self) -> bool:
return self.input_stream.mark_supported()