Для оценки покрытия тестами проекта использую coverage

pip install coverage

Запускаем, например тесты django

coverage run --omit *envs* manage.py test
  • omit - исключения, в данном случаю исключаю все зависимости окружения

В результаты получим файл .coverage

coverage html

А так мы получим читабельный html

Первая часть

Исходники текущего урока

Исходные данные

  • задачник отображает список действий пользователя
  • задачник выводит в консоль выбранное пользователем действием

Задание

  • добавить возможность добавления задач
  • хранить задачи в файле

Решение 1. Добавление задач

Добавим в нашу программу глобальную переменную tasks_list, список задач

list_tasks = []

Описание одной задачи мы будем хранить в словаре ...

Будем учить питон на практике.

Начинаем писать консольную утилиту, для ведения учета списка задач.

Исходники

Техническое Задание

Написать консольную утилиту, после запуска которой, оно должно спросить у пользователя:

Выберите действие:
0. Выход
1. Добавить задачу
2. Изменить задачу
3. Удалить задачу
4. Удалить выполненные задачи
5. Список всех задач
6 ...
find .  -iname "*.py" \
    | xargs xgettext \
        --language=Python  \
        --join-existing \
        -o locale/ru_RU/LC_MESSAGES/translate.po

Давайте учить python на реальных задачах

Задача

Написать консольную утилиту, передав которому путь к какой то папке, она выводит список файлов и папок, которые есть в этой папке

Решение

Скажем интерпретатору, что кодировка нашего файла utf-8. Не забудьте выставить именно эту кодировку в вашем редакторе

# coding: utf-8

Далее мы импортируем ...

Официальная страница доки

Данный модуль позволяет написать роутинги для веб приложения

from routes import Mapper
mapper = Mapper()

Основные методы

Зарегистрируем наш первый урл и получим информацию по урлу

mapper.connect(None, "/blog/{categoty}/{id}")
mapper.match('/blog/python/4')
# {'category': 'python', 'id': '4'}

или

from routes.route ...