Pull to refresh
17
0

Сетевой инженер

Send message

Как я понимаю, "паттерн матчер" это что-то типа switch/case (например, у PHP или Bash). Как по мне, то это немного для других целей, не для валидации.

Но! Если вы что-то можете сделать быстро средствами самого Python, то я рекомендую не прибегать к использованию библиотек, гораздо быстрее решить простые задачи локальными средствами. А уже если вам надо произвести сложную задачу, то чтобы "не изобретать велосипед", я рекомендую использовать дополнительные библиотеки. В моём комментарии выше, есть пример, где входящее значение должно пройти 5 правил и это только для username, а надо проверить еще пароль, email, имя, фамилию, т.п. В таком случае лучше использовать универсальное решение.

Что касается преобразования или сериализации, это важная тема, выходящая за рамки данной библиотеки статьи, возможно, тут пригодится attrs.

A так же соглашусь, что библиотек, которые способны валидировать данные много, но не все ориентированы на конечного пользователя (обычного пользователя). Например, не всем может быть понятна надпись:

# стандартное сообщение об ошибке в attrs, при проверке на тип int:
"'x' must be <class 'int'> (got '128' that is a <class 'str'>).", Attribute(name='x', default=NOTHING, validator=[<instance_of validator for type <class 'int'>>, <function fits_byte at 0x10fd7a0d0>], repr=True, cmp=True, hash=True, init=True, metadata=mappingproxy({}), type=int, converter=None, kw_only=False), <class 'int'>, '128'

Гораздо понятнее будет:

# стандартное сообщение в respect_validation
"128" must be of type integer

Все зависит от поставленных задач, а так же удобства использования при разработке.

# Я думаю, быстрее и практичнее сделать так:
if isinstance(var, str):

Конечно же, если вам надо проверить только тип данных, то вам не надо использовать сторонние библиотеки, а пользоваться встроенными функциями. Данная библиотека нужна для проверки многих параметров. Например, username должен быть:

  • Тип str (if not isinstance(var, str): # return error)

  • Длинна от 4 до 64 включительно(if not 4 <= len(var) <= 64: # return error)

  • Не содержать пробелы (if ' ' in var: # return error)

  • Содержать только латинские буквы или цифры (if not var.isalnum(): # return error)

  • Не быть равным admin или root (if var in ['admin', 'root']: # return error)

Как вы можете заметить задача усложнилась. Кроме того, что вам надо написать много if, вам так же надо продумать сообщения, которые надо отправить пользователю. Вот здесь может пригодиться библиотека валидации. :)

Добрый день! Administration -> Update. Требуется подключение к интернету.

Спасибо за напильник! Очень подробно. Статья рабочая, настраивал с версией 3.1.1.0.
Добрый день! Подскажете, где такая красота лежит?
Я вычитал, что некоторые Huawei коммутаторы поддерживаются и настройка tacacs сервера аналогична Cisco, а вот настройка самих девайсов отличается, нужно читать мануал. У меня под рукой такого нет, так что если будут примеры конфигурации, буду им рад.
Добрый день!

Ну что тут сказать, оптимизации проекта предела нет. Скорее всего запросы идут в течении нескольких секунд, в данный выполняется много задач — проходит аутентификация, пишется лог в файл, в базу, это нагружает процессор. Я вернусь к этому вопросу, если у меня найдутся средства для тестов :)
Добрый день!

Согласен с вами, почитал о NCM, выглядит не плохо. Я постараюсь интегрировать Oxidized (не в ближайшем будущем), это что-то подобное, только бесплатно.

С Уважением, Алексей
Добрый день. После Нового года появятся больше фитч. Очень рад, что вам понравилось.

Прочитал комментарий. Я понимаю его насторожённость. Я подумываю о платной поддержке, может это как-то исправит мнение о «левой» ova)) (в следующем году буду пробовать вкручивать oxidized)
Добрый день!

Чтобы установить новые библиотеки нужна переустановка. Сама база остается не тронутой. Но! Между этими версиями был переделаны MAVIS модули, если вы используете LDAP настройки надо заново проверить и применить. (бесшовно не получилось, извините)

С Уважением, Алексей
Сергей, Добрый день!

Спасибо, очень приятно слышать, что вам понравилось. Как я понял, вы пользуетесь новой версией моего проекта. Я напишу о нем отдельную статью.
Новый дизайн на подходе ;)
И вам спасибо, пользуйтесь. Версия в PDF не исключена, но в начале надо заполнить сайт материалом, он в приоритете.
Спасибо. Тестирование — это неоценимая помощь проекту.
Я не против и не претендую на кокое-либо звание. Я указал в своей статье
я знаю, что сейчас очень много сайтов, которые предлагают обучить работе с Cisco, и, несомненно, они заслуживают внимания и уважения
Если ваша цель сдать CCNA, то основные знания надо брать из «официального руководства по подготовке к сертификационным экзаменам»
Очень уважаю Одома и, при каждом удобном случае, советую почитать его книги.
Вы не первый кто мне это говорит.
:-)
если честно, то у меня уже есть в планах убрать рекламу и повесить эту кнопочку.
Сайт самописный, с использованием bootstrap 4.
Вы правы. Я как-то сгоряча это написал, спасибо.
Спасибо. Я только начал разбираться с «вебом», и этот сайт является практикой в CSS и JavaScript, а так же хотел потестировать bootstrap 4. Я обязательно посмотрю что такое Moodle.
1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity