Cериалокачалка на python3 с поддержкой расширений

В качестве вступления стоит сказать что я пользуюсь macOS и потому некоторые части:

  • Автозапуск (launchd)
  • Формат конфигурационных файлов (plist)
  • Программа, используемая для уведомлений (terminal-notifier)

будут специфичны для этой ОС. Однако, если Вас заинтересует проект, думаю, поменять пару путей и слегка поправить несколько функций, чтобы заставить этот код работать с Вашей системой уведомлений, yaml’ом и, допустим, кроном, не составит труда.

Итак, к делу.

Проверять трекеры на обновления любимых телевизионных шоу, вспоминать в момент когда вышел новый эпизод, смотрел ли ты предыдущий, — надоедает. К тому же, как известно, все что нужно делать больше двух раз, стоит автоматизировать. Проект был начат на скорую руку и, вероятно, будет совершенствоваться.

Что же он из себя представляет…

Python: ListDlls и Handles

Приятно, когда твои труды кого-то способны заинтересовать, но печально, когда твой пост может оказаться для тебя последним, — если ваш покорный слуга в ближайшее время перестанет делиться своими мыслями и исследованиями, можете быть уверены: угрожавшие физической расправой привели свои слова в исполнение. Ну а пока я еще жив, то и не будем о грустном.

Если посмотреть на большинство third party утилит критически, окажется что стоящих из них единицы, однако это вовсе не мешает им обретать своих пользователей в том числе и среди системных администраторов. Сисадмины очень любят делать упор на то, дескать они ленивы, но это скорее более самоирония, нежели правда, хотя если учесть, что системное администрирование уже немыслимо без навыков программирования, все же доля правды в этом есть. Имея в своем распоряжении, скажем, всего лишь интерпретатор Python, можно вполне всего за пять-десять минут написать аналог какой-нибудь утилиты, что оказывается несомненным плюсом в случае, когда ошибки в последней не правятся годами, а помимо этого хотелось бы что-то исключитьдополнить изв ее функционал[а|е]. Хотелось бы, например, подстроить вывод ListDlls и Handle (утилиты из набора Sysinternals Suite) под себя, и здесь видется два варианта решения: либо писать сценарий-обертку, перехватывающий и затем переопределяющий вывод, либо написать все самому с нуля. Последнее многие исключают по, в общем-то, банальной причине, мол, решение требуется здесь и сейчас (хотя такое тоже бывает), но, как уже было сказано выше, сисадмин без навыков программирования таковым уже не считается — нынешнии реалии.
Читать дальше →