Perchun Pak
Perchun Pak
This will be a breaking change ```py >>> motd = "여보세요".encode("utf-8").decode("iso-8859-1") 'ì\x97¬ë³´ì\x84¸ì\x9a\x94' >>> motd = motd.encode("iso-8859-1").decode("utf-8") '여보세요' >>> motd.encode("iso-8859-1").decode("utf-8") Traceback (most recent call last): File "", line 1, in UnicodeEncodeError:...
Nevermind, this breaking change already made #192.
Can't actually find new working workaround after changes which was introduced in #192.
There is no `MCServer.status` actually, so the only place where I'm breaking LSP here is `MCServer.lookup`, which is exist only for `BedrockServer`, because `JavaServer` redef it. After some time, I...
I tried to visualize your idea...  Yes it's not breaking LSP, but so hard and confusing... Or if remove useless last abstract classes:  Better, but still too confusing.
> *You made these in the first diagram images of both the first comment and this recent comment above.* In first this was for rewriting sync abcs, and in second...
`pyright` don't support overloads for abstract methods, it's just ignoring that it's abstract method and reporting `Overloaded implementation is not consistent with signature of overload 1`. Also I know that...
> What if things were split into sync and async submodules? Would that be any better or is added maintenance make it not a good option? In public API (`server.py`)...
How about do abstract classes with abstract _sync_ methods, but do not add them to `__all__` (this will not be a breaking change, because `MCStatus` also is not in `__all__`...
> Type checkers still won't like this No errors by `pyright` with: ```py from abc import ABC, abstractmethod class Base(ABC): @abstractmethod def redef_me(self): ... class Children(Base): async def redef_me(self): ......