]> Sergey Matveev's repositories - stargrave-blog.git/commit
:cdo команда и подчистка Python импортов неиспользуемых
authorSergey Matveev <stargrave@stargrave.org>
Wed, 31 Aug 2016 19:12:05 +0000 (22:12 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Wed, 31 Aug 2016 19:32:00 +0000 (22:32 +0300)
commitff389e5c27bede144790b94ba46654a79134383b
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904
parent2c139582b0b0e6034f6eaba605b28e3d8629a05c
:cdo команда и подчистка Python импортов неиспользуемых

Не редко в Python возникает необходимость перенести какие-то
функции/определения в другой файл/модуль. Кроме переноса самих функций
нужно ещё и их зависимости прописать. Сегодня обнаружил, как мне
кажется, очень простой способ:

* просто переносим *все* импорты из исходного как есть
* натравливаем pylint, вывод которого должен попасть в quickfix
* в quickfix при этом должны быть только сплошные сообщения unused-import
* делаем :cdo d

Само собой подразумевается что имеется работающий и настроенный на
quickfix pylint, подразумевается что используется "каноничный" формат
импортов (по импорту на строку, http://git.stargrave.org/cgit.cgi/pyimportcan.git/tree/pyimportcan.pl).
Вся "фишка" в :cdo d. Эта команда для каждой строчки quickfix-а
выполняет заданную команду. Для unused-import нужно просто удалить
строку. Благодаря quickfix -- все смещённые строки будут им учтены и
поэтому переход на следующие элементы quickfix проходит как ожидается.