14446
Вопросы про Python для чайников. Cпам и троллинг неприемлем. Частозадаваемые вопросы: https://github.com/ru-python-beginners/faq/blob/master/README.md Правила группы: https://t.me/ru_python_beginners/1649981
И ему норм такое? Адаптикс не будет там за линию от кол-ва дамперов работать?
Читать полностью…
Если это имелось в виду, то реторта действительно только одна нужна, но вот таких дамперов надо будет накидать дофига.
Читать полностью…
retort = Retort(recipe=[Читать полностью…
name_mapping(name_style=NameStyle.CAMEL, omit_default=True),
# Like this?
dumper(TestRequest, lambda x: x.update({"tag": "request.test"}) or x, Chain.LAST)
])
Я может быть неправильно понял задачу, но причём здесь вообще adaptix и сериализация?
Есть некоторая сущность (или набор сущностей), у которых должна быть определена некоторая константа. Я тут вижу несколько вариантов решений:
1. @property + переопределить __setattr__
2. Использовать dataclass с frozen=True и указать для атрибута field(init=False, default="foo")
3. Использовать typing.Final
Я уже подумываю в словарь докидывать тег после дампа, зная истинное имя класса (подготовить маппинг из типов в строки).
Читать полностью…
Я бы сделал через Chain.last добавление тэга в словарь
Читать полностью…
Можно написать функцию setattr и там прописать условие на изменение тега, но не уверен что такое будет работать с датаклассом
Читать полностью…
Тогда это не твое и нахрена нам проверять высер ллм?
Читать полностью…
Всем привет, написал сайт с задачами по python, хотелось бы услышать честную критику
Читать полностью…
Всем привет!
интересное наблюдение, как часто вы говорите людям слова приветсвия и как часто говорят их вам в последнее время?
Он заранее отфильтрует что кому соответствует. Стартап будет чуточку дольше, но если у тебя нет большого количества рекурсивных моделей, должно быть ок
Читать полностью…
dumper(TestRequest, lambda x: x | {"tag": "request.test"}, Chain.LAST)
Читать полностью…
Но как-то не так выглядит... Лямбда должна вернуть результат, а не сделать модификацию...
UPD
Какой-то люа-код получился ☠️
Ну тогда да, в адаптиксе. Почитай про рецепты, предикаты и chain
Читать полностью…
tags: dict[type[BaseRequest], str] = {...}
def dump(BaseRequest: request) -> str
raw = dump(request)
tag = tags[type(request)]
raw["tag"] = tag
return json.dumps(raw)
Читать полностью…
Угу... Это в настройках реторты делается? Значит, если у меня таких пять классов, у каждого свой тег... То мне пять реторт нужно?
Читать полностью…
Тут должны были быть подчеркивания (_) но телега съела
Читать полностью…
Ковыряюсь с адаптиксом и датаклассами... Вопрос - можно ли как-то описать поле таким образом, чтобы объект всегда создавался с нужным мне тегом, а пользователь бы не смог его подменить?
@dataclass(kw_only=True)Читать полностью…
class TestRequest
tag: str = "request.test"
field: int
smth: str
request = TestRequest(field=1, smth="String")
assert dump(request) == {"tag": "request.test", "field": 1, "smth": "String"}
# request = TestRequest(tag="Screw you", field=1, smth="String") # TypeError: TestRequest.__init__() got an unexpected keyword argument 'tag'
Но как понимаю реклама в чате запрещена, пишите в личку
Читать полностью…
Интересная реакция, тогда поищи почему у тебя external commads не работают. Просто nvim удобно у меня показывает (чистый), а vim скрывает окошко и показывает вывод
Читать полностью…