169 похожих чатов

А расскажите мне про фильтры в тройке. Как с ними

pydantic взаимодействует? Написал такой фильтр:
async def __call__(self, message: types.Message) -> bool:
print(type(self.chat_type))
if isinstance(self.chat_type, str):
return message.chat.type == self.chat_type
elif isinstance(self.chat_type, List):
return message.chat.type in self.chat_type
else:
raise TypeError("chat_type can by either str or List, not {!s}".format(type(self.chat_type)))

Пытаюсь передать туда bool — говорит, что это str
Передаю число — тоже str
Dict просто ошибку кидает
Set считается как List

15 ответов

10 просмотров

кста, а я скоро свой aiogram-autodoc еще и под тройку сделаю

Groosha- Автор вопроса

Обновил ссылку выше

Groosha
Обновил ссылку выше

все логично у тебя тайпхинт Union[str, List[str]] а передаешь словарь

✨ Uni [🌊 В отпуске]
https://github.com/viuipan/aiogram-autodoc/project...

ты бы фабрику справки допилил в тройке с поддержкой скоупов

Groosha- Автор вопроса
Alex RootJunior 🇺🇦
все логично у тебя тайпхинт Union[str, List[str]] ...

Да, я как раз сижу, проверяю, что код корректно определяет несовместимые типы и должен кинуть ошибку

Groosha- Автор вопроса
Groosha
Да, я как раз сижу, проверяю, что код корректно оп...

Но ошибки нет, вместо этого — неявная (implicit) конвертация

Groosha
Да, я как раз сижу, проверяю, что код корректно оп...

про тип не кинет ошибку, так как неизвестно какой фильтр был ближе всего по спеке надо тогда кидать ошибку валидации на все, а это не поможет найти в чем проблема

✨ Uni [🌊 В отпуске]
если есть, то норм

Я сам не ебу про фабрику справок, что это вообще

✨ Uni [🌊 В отпуске]
понял все, кроме фабрики справки

лять, я тебе раза два или три уже одно и то же показывал: https://t.me/aiogram_ru/640962

Groosha- Автор вопроса
Alex RootJunior 🇺🇦
про тип не кинет ошибку, так как неизвестно какой ...

Вот сейчас не понял. Давай по-другому спрошу: pydantic как-то вмешивается в процесс парсинга? У меня ровно один фильтр, внутри проверяю, какой тип переменной туда пришёл. Если строка или лист — ок. Всё остальное — кидаю исключение. Но вместо этого переменная как будто сама конвертируется до ближайшего совместимого типа (число или bool — в строку, множество — в лист)

Похожие вопросы

Обсуждают сегодня

А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Так а кто может спарсить всех участников чата? Идишники
Magic
17
Есть вопрос: допустим есть железка с каким-то интерфейсом(допустим usb), но как по этому интерфейсу железкой управлять неизвестно, прог нету, а управлять очень хочется надо. К...
Mixail Frolov
15
а как ловят такое ghci> res <- getPos2 urlt 0 (alist !! 0) 200 ghci> res SearchAtom (Search "www.google.com" "/search?q=" "Haskell") "haskell.org" (SearchTS [(2024-05-06 07:...
Fedor
14
всем привет почти закончил курс После него можно писать свою операционку? Какие библиотеки надо использовать и куда дальше копать для изучения
Linus
13
Ребята, а из API геокодеров (по адресам в РФ) что сейчас актуального и есть ли среди актуального бесплатное/с нормаотным лимитом запросов? ситуация простая - на сайте периоди...
Dreamer_0x01 VeseloV
8
Карта сайта