История изменений
Исправление qaqa, (текущая версия) :
По файлу _base_op.py
Вместо
@classmethod
@abc.abstractmethod
def op_code(cls) -> OpCode:
pass
@classmethod
@abc.abstractmethod
def has_reply(cls) -> bool:
"""
True if operation is expected to return something
"""
pass
Достаточно
op_code: OpCode
has_reply: bool
Далее
@classmethod
def from_data(cls, op_code: OpCode, data: io.BytesIO) -> 'BaseOp':
"""
Deserialize operation from bytes
:raises KeyError: If operation has unknown OpCode
"""
KeyError очень не рекомендую использовать, особенно для таких случаев. Так как он часто используемый, то может быть отловлен в самых неожиданных местах, если забудут обернуть вызов from_data в try-except. Стоит объявить и использовать отдельный класс исключения.
Исходная версия qaqa, :
По файлу _base_op.py
Вместо
@classmethod
@abc.abstractmethod
def op_code(cls) -> OpCode:
pass
@classmethod
@abc.abstractmethod
def has_reply(cls) -> bool:
"""
True if operation is expected to return something
"""
pass
Достаточно
op_code: OpCode
has_reply: bool
@classmethod
def from_data(cls, op_code: OpCode, data: io.BytesIO) -> 'BaseOp':
"""
Deserialize operation from bytes
:raises KeyError: If operation has unknown OpCode
"""
KeyError очень не рекомендую использовать, особенно для таких случаев. Так как он часто используемый, то может быть отловлен в самых неожиданных местах, если забудут обернуть вызов from_data в try-except. Стоит объявить и использовать отдельный класс исключения.