может быть стоит...
def create(self, s: Optional[SessionCreateRequest] = {}) -> SessionCreateResponse:
return self\
.load(
requests\
.post(
url=f"{self.uri}/create",
json=self.dump(s)
)\
.json(),
SessionCreateResponse
)
Нормально ли? Вроде чистенько
кто-то практикует аля функциональный код-стайл?
На питоне невозможно писать в функциональном стиле
Ну оно же не похоже на остальной питонокод, тем более это в методе судя по всему. Т.е. прям приходится напрягать мозг чтобы прочитать простой код просто потому, что он написан в совершенно непривычном формате. Ну и в целом ок сейчас у тебя такой чейнинг, а если исключения? А как это расширять?
Во-первых, где тут проверка статус кода? Во-вторых, где реквестс сессия?
Ну не выходит так
есть на примере какие-нибудь "грамотные" апи врапперы для изучения подобного? Бегаю по https://github.com/realpython/list-of-python-api-wrappers, либо все плохо(два файла, все в одном методе), либо аж на фабрики залезают Фасадов кстати так и не встретил
Тут где-то пробегал неплохой код, не вспомню
https://github.com/reclada/devops.domino Могу своё кинуть для примера. Но оно конечно не идеал
сессия будет прокинута, сейчас просто накидываю а по поводу статус кода - это враппер. нужна ли проверка? почему-то думал, что враппер обычно без сильной логики, лишь дает удобный доступ
Так если у тебя хттп статус некорректный, то жсон надо ли парсить?
лучше без изменяемых объектов в дефолтных значениях аргументов функции def create(s = None): s = s or {}
Не лучше, а вообще без него
Обсуждают сегодня