LINUX.ORG.RU

flibrary - многоуровневые коллекции fb2-книг на основе архивов флибусты

 , , ,


3

3

Всем привет.

Однажды я решил навести порядок в своей электронной библиотеке и увлёкся этим делом больше, чем ожидал, а в процессе наведения порядка ещё и подумал, что неплохо бы научиться полученную струкуру сохранять на случай технических сбоев и чтобы ей можно было поделиться.

В результате (кроме самой библиотеки) получился набор скриптов на python для работы с многоуровневыми коллекциями fb2-книг из базы данных флибусты. Скрипты позволяют записать файловую структуру в небольшой (3.8 мб для 35000 книг) дамп-файл и восстановить её из архива флибусты.

Конечно, необходимо сперва скачать 300Гб торрент, что не совсем удобно, но он хорошо сидируется и вообще довольно полезен в быту как оффлайн-флибуста, особенно с учётом блокировок, а дисковое пространство нынче недорого.

Скрипты лежат в репозитории

https://github.com/flibrarian/flibrary

а та самая моя библиотека отдельно в

https://github.com/flibrarian/flibrary-main-collection

Альтрнативно и то и другое есть на меге:

https://mega.nz/folder/QJpGXRjb#1HftyMZtcSzBUh0omTHUsQ

К скриптам прилагается детальное README, а также тестовая коллекция из нескольких книг, для проверки настроек перед использованием основной.

Немного о моей библиотеке: на сегодняшний день она содержит 35618 книг, разложенных по 6825 подкатегориям. Охват довольно широк, включая классическую литературу, фольклор, науку, религию и практические знания, но на полноту она ни в коем случае не претендует. Как пример, здесь почти нет современной развлекательной беллетристики (хотя «классика» жанровой литературы присутствует), специфических хобби и много другого, в чём я не смог или не захотел разобраться. Строгость классификации также соблюдается не всегда, однако это лучшее, что я смог сделать на своём дилетантском уровне.

Чтобы посмотреть на структуру и оценить, насколько это вам подходит, есть скрипт flibhtml, позволяющий сгенерировать html-каталог библиотеки из дамп-файла.

Надеюсь, кому-нибудь это будет полезно как для пользования моей библиотекой, так и для создания своих - с нуля или из моей.

Почитать про библиотекарское дельце не пожелали, порешив, что та же Хавкина вам не указ, да? Начали бы грамотно систему каталогизации делать, были бы не нужны длиннющие имена-пути. Не нравятся простые и обоснованные таблицы Хавкиной, ну так и иностранный гейропо-пиндосский опыт велик. Но вы пошли своим путём дилетанства. А звёзды не сошлись и проявились проблемы, уже давным-давно разрешённые в достаточно простом алгоритме поиска в библиотеке и способа структурно-тематического хранения изданий.

anonymous
()
Ответ на: комментарий от anonymous

Любые алфавитные таблицы при наличии нормального поиска бессмысленны, единственное им применение - разгрузка очень больших одноуровневых каталогов, но у меня таких нет. Систем тематической классификации много, каждая со своими достоинствами и недостатками, и назвать какую-то лучшей, или достаточно хорошей и полной сложно. Для примера, ни в одной из крупных систем я не нашёл отдельного раздела для византийской истории, в то время как у меня он не только присутствует, но и содержит 6 осмысленных подразделов. Кроме того, полноценную научную библиотеку из этого не сделать, хотя бы потому что многие книги переводить в fb2 не только не нужно, но даже вредно.

Ну и наконец, если моя структура плоха, всегда можно сделать свою на основе любимой классификации и точно так же распространять всем заинтересованным. Программа это позволяет, так что если кто возьмётся - удачи!

flibrarian
() автор топика
Ответ на: комментарий от anonymous

ДА он лох тупой, с Византией в шкафу.

anonymous
()
Ответ на: комментарий от anonymous

Например, математические труды с формулами и спецсимволами в тексте, или любые книги со сложным форматированием, схемами, таблицами и т.д. Можно вставлять как изображения, но это так себе решение.

flibrarian
() автор топика
Ответ на: комментарий от Sinep

У меня - да. Флибуста не так богата англоязычными книгами, и чем книга новее, тем больше шансов, что она не fb2 а epub. Так что для англоязычной литературы это менее применимо (хотя при желании всё можно). Поэтому и readme на русском.

flibrarian
() автор топика
Ответ на: комментарий от flibrarian

И что из русского можно читать из того, что не входило в школьную программу, кроме Венедикта Ерофеева и Ивана Баркова?

Sinep
()

Вы трудитесь для всех - МОЛОДЕЦ и СПАСИБО!

Не слушайте тех кто вас ругает.
В этом мире злобненьких буратино, что в Сахаре песка.

Что касаемо классификации и хранения, то познакомьтесь с уже существующими решениями.

Экспромтом.

ИМХО здесь нужен велосипед /база/:

  • каждая книга должна иметь ID;
  • бинарное дерево должно содержать ID и ссылку на место расположения свойств и данных книги

Имеется ли просто архив всех fb2.
ИМХО формат не ахти, но это лучше чем ничего.

Как качнуть ваш архив целиком?

Владимир

anonymous
()
Ответ на: комментарий от anonymous

Спасибо, я достаточно хорошо знаком со спецификой общения на полуанонимных форумах, чтобы не поддаваться на провокации.

Нет, целиком скачать нельзя, но в этом и смысл. Поддерживать библиотеку, как самостоятельную сущность очень утомительно как для создателя, так и для пользователей. На любом приличном файлообменнике за хранение книг быстро забанят. На торрентах - была такая библиотека Траума, например. Всё здорово, но куча обновлений отдельными раздачами, кумулятивные релизы от третьих лиц, необходимость выбирать между ей и флибустой/либрусеком, а в конце концов, когда автор это дело забросил, всё благополучно заглохло.

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

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

flibrarian
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.