Перепаковка локальных коллекций библиотек для 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.

 

Теги: , , ,

Ваш отзыв