Skip to content

Latest commit

 

History

History
125 lines (95 loc) · 6.57 KB

README.rst

File metadata and controls

125 lines (95 loc) · 6.57 KB

getbb

Этот скрипт позволяет извлечь исходный код оформления со страницы, автоматически перенося все изображения на локальный хостинг (сейчас это http://file.kirovnet.ru/).

Поддерживаются трекеры и форумы на не слишком сильно изменённых движках TorrentPier и TBDev.

Если не знаете, с чего начать

Здесь предполагается, что у вас Win*. Пользователи *nix переходят к следующему разделу.

Подготовка:

  1. Для начала вам понадобится Python 2.7
  2. Скачайте архив со скриптами, нажав на большую кнопку "Файлы" ("Downloads") cверху справа от этого текста.
  3. Распакуйте архив в отдельную папочку. Для удобства можно сделать ярлыки к файлам getbb.py и rehost.py и положить их поудобнее, а сами файлы оставить в покое.

Использование:

  1. Сохраните страницу, откуда хотите взять оформление, себе на диск.
  2. Бросьте мышкой (drag&drop) файл страницы на файл getbb.py (или на ярлык).
  3. После завершения процесса откроется блокнот с текстом оформления.

Если что-то пошло не так, используйте консоль. Если всё совсем плохо, свяжитесь со мной.

Интерфейс командной строки

getbb.py [-h] [-o OUTPUT] [-c N] [-nr] [-nt] [-no] target

target            ссылка на целевую страницу или путь к соответствующему HTML-файлу
-h, --help        вывести справку
-o                имя текстового файла, в который выводится код
                  оформления (по-умолчанию out.txt).
-c N              указывает количество постов для разбора, по-умолчанию N = 1
-nr, --no-rehost  не использовать функционал rehost
-nt, --no-thumb   не исправлять миниатюры
-no, --no-open    не открывать блокнот по окончании

Дополнительные фичи

Параллельная загрузка

В getbb встроена поддержка многопоточной загрузки изображений, что значительно ускоряет процесс переноса изображений на локальный хостинг.

Для того, чтобы эта фича заработала, достаточно установить gevent.

Исправление миниатюр

В некоторых исходниках иногда в качестве миниатюр используются либо сами изображения (при этом "миниатюрами" они сделаны через CSS-свойства), либо слишком мелкие/обрезанные картинки. В таких случаях возможна автоматическая генерация новых, качественных миниатюр.

Для того, чтобы эта фича заработала, достаточно установить Python Imaging Library (PIL) (бинарники для винды - здесь).

rehost

Этот скрипт может работать отдельно от getbb в качестве быстрого способа закинуть файл-другой на file.kirovnet.ru.

Под виндой работает drag&drop.

Интерфейс командной строки:

python rehost.py [-h] [-o OUTPUT] [-i] [-nc] [-fc] target [target ...]

target              URL или локальные пути файлов
-h, --help          вывести справку
-o                  выводить список ссылок в файл (по-умолчанию - в консоль)
-i, --image         предположить, что по ссылке картинка или страница с картинкой,
                    и попытаться найти прямую ссылку на неё (этим пользуется getbb)
-nc, --no-cache     не использовать функционал кэша ссылок
-fc, --force-cache  кэшировать в том числе и ссылки на локальные файлы

Разработчикам и сочувствующим

Примерный список того, что можно сделать:

  • придумать формат для правил замены, вынести их в отдельный файл
  • переписать под BeautifulSoup или lxml (я не хотел зависеть от сторонних библиотек, поэтому парсинг HTML написан вручную на регэкспах).
  • переписать под python3k с сохранением совместимости (но gevent пока только для 2.x?)
  • GUI
  • ...

Если у кого-то есть желание сделать что-нибудь (неважно, из этого списка или нет), делайте форк или шлите патч. Желательно соблюдать, по возможности, PEP8 и писать комментарии по-английски.

Контакты

Если у вас есть, что сказать, можно написать мне в личку или постучаться в IRC (irc.kirovnet.ru #megapirat).