Найти в Дзене
Заметки по Python

Flask. Часть 2

В endpoint /registration добавьте все валидаторы, о которых говорилось в последнем видео: Довольно неудобно использовать встроенный валидатор NumberRange для ограничения числа по его длине. Создадим свой для поля phone.
По своей сути валидатор — это функция, которая на вход принимает форму и поле, а в случае ошибки валидации выкидывает ValidationError.
Для каждого поля и валидатора в endpoint /registration напишите юнит-тест, который проверит корректность работы валидатора. Таким образом, нужно проверить, что существуют наборы данных, которые проходят валидацию, и такие, которые валидацию не проходят. Напишите GET-endpoint /uptime, который в ответ на запрос будет выводить строку вида f"Current uptime is {UPTIME}", где UPTIME — uptime системы (показатель того, как долго текущая система не перезагружалась). Сделать это можно с помощью команды uptime. Напишите GET-endpoint /ps, который принимает на вход аргументы командной строки, а возвращает результат работы команды ps с этими ар
Оглавление

Задача 1. Валидаторы. Добавление

В endpoint /registration добавьте все валидаторы, о которых говорилось в последнем видео:

  1. email (текст, обязательно для заполнения, валидация формата);
  2. phone (число, обязательно для заполнения, длина — десять символов, только положительные числа);
  3. name (текст, обязательно для заполнения);
  4. address (текст, обязательно для заполнения);
  5. index (только числа, обязательно для заполнения);
  6. comment (текст, необязательно для заполнения).

Задача 2. Валидаторы. Создание

Довольно неудобно использовать встроенный валидатор NumberRange для ограничения числа по его длине. Создадим свой для поля phone.
По своей сути валидатор — это функция, которая на вход принимает форму и поле, а в случае ошибки валидации выкидывает ValidationError.

-2

Задача 3. Валидаторы. Тестирование

Для каждого поля и валидатора в endpoint /registration напишите юнит-тест, который проверит корректность работы валидатора. Таким образом, нужно проверить, что существуют наборы данных, которые проходят валидацию, и такие, которые валидацию не проходят.

-3
-4
-5
-6

Задача 4. Время работы системы

Напишите GET-endpoint /uptime, который в ответ на запрос будет выводить строку вида f"Current uptime is {UPTIME}", где UPTIME — uptime системы (показатель того, как долго текущая система не перезагружалась).

Сделать это можно с помощью команды uptime.

-7

Задача 5. Текущие процессы

Напишите GET-endpoint /ps, который принимает на вход аргументы командной строки, а возвращает результат работы команды ps с этими аргументами. Входные значения endpoint должен принимать в виде списка через аргумент arg.

-8