Skip to content
/ getbb Public

convert HTML back into BBcode to post the same thing elsewhere.

Notifications You must be signed in to change notification settings

atomizer/getbb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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).

About

convert HTML back into BBcode to post the same thing elsewhere.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages