Size: a a a

2021 July 31

AS

Aleksey Shirokikh in SPb Python
вот так return cast(List[NetboxServiceResponse], get_data_from_netbox(url, params)) никто не ругается
источник

SV

Sergei V. in SPb Python
это чит
источник

SV

Sergei V. in SPb Python
проще просто не запускать mypy
источник

AS

Aleksey Shirokikh in SPb Python
я как раз убирал всяческое дублирование и делал так что бы функция была одна. ибо она один в один
источник

SV

Sergei V. in SPb Python
можно вынести общий код в какую-нибудь непубличную функцию
источник

AS

Aleksey Shirokikh in SPb Python
это и есть не публичная функция с общим кодом
источник

SV

Sergei V. in SPb Python
видимо нужно больше непубличных функций
источник

AS

Aleksey Shirokikh in SPb Python
я не понимаю куда их больше
источник

DA

Dmitry Alimov in SPb Python
А от чего зависит возвращаемый тип? От params?

Пробовал добавить assert на тип перед возвратом?
источник

AS

Aleksey Shirokikh in SPb Python
от url
источник

AS

Aleksey Shirokikh in SPb Python
там за выкидываением лишнего
def get_services() -> List[NetboxServiceResponse]:
   url = f"{settings.url}/api/ipam/services/"
   params = ...
   return cast(List[NetboxServiceResponse], get_data_from_netbox(url, params))
источник

AS

Aleksey Shirokikh in SPb Python
функция которая про девайсы ну почти та же. но другой урл и параметры
источник

DA

Dmitry Alimov in SPb Python
Наверное можно запариться с описанием типа и оверлодом, с проверкой по контенту url (хз правильно ли это) как здесь в примере с mouse_event сделано по типу
https://mypy.readthedocs.io/en/stable/more_types.html

А может оставить и каст, но имхо перед этим стоит ассерт добавить типа:
result = get_data_from_netbox(...)
assert all(isinstance(Netbox..., result))
источник

AS

Aleksey Shirokikh in SPb Python
я честно не уверен что это надо внутри  NetboxResult.parse_raw(r.content) построенный pydantic
источник

AS

Aleksey Shirokikh in SPb Python
если оно сломается то вероятно это отобъет пидантик
источник

p

pragus in SPb Python
Я бы просто забил на типы и компенсировал тестами
источник

AS

Aleksey Shirokikh in SPb Python
ну у меня код который вообще можно на всё забить. я скорее пытаюсь понять как по красоте
источник

p

pragus in SPb Python
Я смотрю на все эти страдания и не хочу себе такого
источник

DA

Dmitry Alimov in SPb Python
красота требует жертв)
источник

AS

Aleksey Shirokikh in SPb Python
ну я согласен на жертвы то, но не согласен на карго культ
источник