TODO

Книги

Планы по чтению

PyNEng

Добавить тему: как организовать код в проекте. На основе того, что уже записала, но без привязки к PyPi и большим проектам. Придумать пример реорганизации как было в лекции, два скрипта, выделяем общее, делаем import package.

Там же поговорить про функции, примеры рефакторинга с большой функции на более мелкие. И переделать одну с привязкой условно к команде и парсингу (+ threads) на три отдельные функции: отправить show, threads, и потом уже объединяем в специфику.

pyneng-quiz

  • Переделать после выхода стабильной версии и документации textual
  • Добавить выбор языка
  • Добавить scroll для вывода вопросов
  • Перевести на uk
  • Перевести на en

pyneng-cli

  • remove course options
  • translate
  • add lang selection for task/test/chapter update (add lang_repo_dict in __init__)

pyneng-tasks

  • 24.2b check single cmd and cmd list

PyNEng UK

Waiting for:

  • tasks unification (en messages)
  • tests unification (en messages)
  • solutions
  • pyneng-cli

Book

  • update code output to Python 3.11!
  • Translation
  • Tasks https://github.com/natenka/pyneng-tasks-uk

PyNEng Book

Проверить все выводы кода, перевести на Python 3.10.

  1. Обновить задания pyneng-14 -> pyneng-open
  2. Сделать pyneng-cli по аналогии c pyneng-cli-course
  3. Chapter 2: добавить вариант выполнения заданий на replit (4-17 разделы)

Notes:

  • unify all tests/tasks with eng messages

pyneng tasks

  • 6.6b сделать тест в котором будет не только первый раз неправильный адрес, второй раз правильный, но и сделать вариант когда 2-3 раза вводится неправильный адрес

other

  • timecode vim
  • timecode tmux
  • timecode pdb
  • translate questions (quiz)
  • add advpyneng quiz
  • advpyneng task in English
  • причесать скрипты для курсов (создание репозитория/приглашения)

Бонусные лекции

Бонусные лекции PyNEng

Функции

  • *args, **kwargs
  • *, /
  • изменяемые типы данных в значении по умолчанию
  • что выносить в функцию, о каких вещах подумать чтобы было меньше зависимости между функциями

pyneng-tasks

12.1

Утилиты ping в Linux и Windows возвращают разные return codes: Linux: Success: code 0 No reply: code 1 Other errors: code 2

Windows Success: code 0 No reply or network unrechable: code 0 Other errors: code 1

Задание исправила, добавить в книгу returncode

AdvPyNEng

  • переделать тесты type annotations на запуск mypy с флагами?
  • 4.3 запись в yaml с идентификацией устройств. Явно написать что надо не только cli создать с click, но и написать код функций
  • 8.2 невнятно написано про вызов функции что будет ошибка до выполнения - она будет и после, только другая
  • улучшить описание ошибки в тесте 8.4/8.4a когда подключений меньше на 1
  • 10.1 не хватает тестов для str/repr
  • 18.2 написать что надо использовать async subprocess
  • тест 12.5 не проверяет что классы возвращаются
  • тест 12.3a не проверяет, что генерируется исключение KeyError для несуществующих ключей
  • Добавиь в раздел по pytest xfail

в 12.3a не учитывается один вариант работы со словарем:

In [3]: t1.topology
Out[3]:
{('R1', 'Eth0/0'): ('SW1', 'Eth0/1'),
 ('R2', 'Eth0/0'): ('SW1', 'Eth0/2'),
 ('R2', 'Eth0/1'): ('SW2', 'Eth0/11'),
 ('R3', 'Eth0/0'): ('SW1', 'Eth0/3'),
 ('R3', 'Eth0/1'): ('R4', 'Eth0/0'),
 ('R3', 'Eth0/2'): ('R5', 'Eth0/0')}

In [5]: t1[('SW1', 'Eth0/3')] = ("SW2", "Eth0/0")

In [6]: t1.topology
Out[6]:
{('R1', 'Eth0/0'): ('SW1', 'Eth0/1'),
 ('R2', 'Eth0/0'): ('SW1', 'Eth0/2'),
 ('R2', 'Eth0/1'): ('SW2', 'Eth0/11'),
 ('R3', 'Eth0/0'): ('SW1', 'Eth0/3'),
 ('R3', 'Eth0/1'): ('R4', 'Eth0/0'),
 ('R3', 'Eth0/2'): ('R5', 'Eth0/0'),
 ('SW1', 'Eth0/3'): ('SW2', 'Eth0/0')}

pyneng-cli-course

TODO:

  • add print to stdout with -c: “Все задания раздела можно сдать командой pyneng -c”
  • add update feature (check for available updates for task/tests). Update diff? Update all chapter(s)
  • update command pyneng update: pyneng update 1 (task only), pyneng update - all in chapter, –tests
  • add docs option
  • add save-all option

Maybe:

  • hint flag to receive hints for selected task (в hints можно делать отсылки на видео)

Future:

  • add authentication for -a (answers) - user github user (requires custom site). FastAPI API для получения ответов