Архив за Март 2011

Перепаковка локальных коллекций библиотек для MyHomelib.

Для любого любителя почитать всегда остается актуальным поиск электронных книг. Чтобы жизнь была проще можно скачать локальные коллекции библиотек (например, Flibusta.net и Либрусек). Число файлов в каждой библиотеке превышает 150000 книг, а объем более 30Гб. При этом для «экономии» создается ограниченное число архивов (несколько десятков). Размер каждого архива порядка 1 Гб, что весьма много даже для дисков. А если файлы на сервере + wifi :(

Для решения этой проблемы и обеспечения гибкости изменения условий формирования новой библиотеки, написан программа.

Использование (на примере флибусты):

./librepack.pl -i flibusta_fb2_local.inpx -f fb2.Flibusta.Net -t Flibusta -n 100

В данном случае используется оригинальный файл inpx и каталог с архивами, результат будет в каталоге Flibusta, число файлов в новых архивах не более 100. Время перепаковки, конечно большое :(

В качестве бонуса из архивов удаляются не fb2 файлы, все языки кроме ru, помеченные как удаленные и дубликатные файлы. Экономия ~20%.

Внутри нового каталога будет лежать inpx-файл, который подсовываем MyHomelib.

Вариант пока на уровне беты, но работает:) Планируется разностное обновление и объединение библиотек.

Скачать librepack.pl.

Добавлена возможность добавления нескольких библиотек с удалением дубликатов.

Пример:

./librepack2.pl -i flibusta_fb2_local.inpx,librusec.inpx -f fb2.Flibusta.Net,lib.rus.ec -t Flibrusec

В примере объединяем флибусту и либрусек в новую коллекция Flibrusec :) Было обработано 331482 файла, осталось 142971 (дубликатов получилось 98353).  Экономия, однако.

Скачать librepack2.pl.

 

Теги: , , ,

Распаковка SWUPDATE.BIN от Pocketbook-ов

Захотелось посмотреть, что внутри обновлений прошивок от pocketbook-а. Нашелся подходящий проектик , где стала понятна структура обновления.

Но было маленькое НО — ограниченное число декодируемых секций. Модифицировать си-шный код было неохота, поэтому портировал под perl.

Кому интересно — pbfwsplit.pl.

Теги: , ,