URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 129315
[ Назад ]

Исходное сообщение
"Каталогизатор домашней библиотеки MyLibrary 1.0"

Отправлено opennews , 20-Дек-22 13:42 
Состоялся релиз каталогизатора домашней библиотеки MyLibrary 1.0. Код программы написан на языке программирования С++ и доступен (GitHub, GitFlic) под лицензией GPLv3. Графический интерфейс пользователя реализован с помощью библиотеки GTK4. Программа адаптирована для работы в операционных системах семейства Linux и Windows. Для пользователей Arch Linux в AUR доступен готовый пакет...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=58362


Содержание

Сообщения в этом обсуждении
"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 13:42 
Почему бы не хранить книги просто аккуратно рассортированными по папочкам? И искать с помощью find.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено topin89 , 20-Дек-22 13:48 
Скорее с помощью (rip)grep. Но всяк бывает, кому-то такой подход может быть удобнее

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено анон , 21-Дек-22 13:16 
Есть locate, куда быстрее.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 13:48 
А ты был хоть раз в нормальной библиотеке? Там как минимум по 2 каталога: один по авторам, другой по рубрикам.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 13:54 
про команду ln(1) слыхал?

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено OpenEcho , 20-Дек-22 14:15 
+ attr(1)

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 14:30 
reboot не пробовал?

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 19:00 
Имя Столлман вам о чем-нибудь говорит?

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено pda , 20-Дек-22 20:06 
Собор/базар. Я прошёл не один холивар. Я желаю всем айтишникам пройти их.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 14:29 
rm -rf ~/ тебе ни о чём не говорит?

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним_t , 20-Дек-22 16:52 
Представь себе библиотеку либрусека, которая сосотит из сотни тысяч книг. И прикинь, сколько нужно создать директорий, и сколько раз нужно набрать твой ln(1), чтобы получился аналог библиотеки? Каким-то образом заглядывая во все fb2, извлекая оттуда информацию о авторе и жанре. Сможешь?

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 17:14 
Думаешь на либрусеке используют "каталогизатор __домашней__ библиотеки"? Для __дома__ большинству сойдет и обычный советский coreutils (сомневаюсь, что ты читаешь "сотни тысяч книг", хорошо, если хотя бы десять за год осилишь). А для работы с многочисленными источниками уже придумали Mendeley.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним_t , 20-Дек-22 17:37 
Ты, похоже, просто не понял, для чего нужна эта программа. Вот смотри: я скачал _себе домой_ архив либрусека. Там все книжки, которые есть на либрусеке. В формате fb2.zip. Скажем, сто тысяч. И мне нужен удобный локальный инструмент для поиска книжек в этой куче. Это не значит, что я все сто тысяч прочитаю, нет. Пусть десять за год (хотя и это вряд ли). Но я найду то, что мне по душе, и буду это читать. Выберу либо по автору, по жанру, по серии, по названию, либо по ещё каким-нибудь критериям. Твои ln(1) и сортировка по директориям этому никак помочь не могут.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 17:49 
Ты забыл уточнить, зачем скачивать архив либрусека и заводить на локалхосте поиск, когда уже есть... (барабанная дробь! зрители затаили дыхание)... либрусек.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 20-Дек-22 18:21 
Очень просто. Вы когда-нибудь бывали там, где нет интернета? Я вот до недавних пор очень даже часто в таких местах оказывался. В центре Атлантического океана например. Нет, через спутник в принципе можно и там до сети достучаться, но вы хотя бы приблизительно представляете - сколько это стоит? Да и не у всех есть такая возможность - иногда оставляют только доступ к корпоративному e-mail серверу и всё. А вот судовой сервер или жёсткие диски товарищей по несчастью со всяким разным имеются. С локальной копией того же либрусека или флибусты. И как, 300 гб архивов будете в ручную перебирать?

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 18:51 
Перед тем, как уходить в оффлайн, скачиваешь всего десять книг. Вот прямо садишься и весь вечер тупо подбираешь книги, но ограничиваешь себя лишь десятью. Этого тебе должно хватить на многомесячное борозжение всяческих океанов. А такой проблемы, как "перебирать 300 гб архивов", нет. У тебя проблема в том, что ты не знаешь, чего хочешь, и надеешься, что поисковик тебе в чем-то поможет. Либо часто бросаешь чтение на пятой странице. Приучай себя к дисциплине: взял почитать - прочитай до конца.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 20-Дек-22 19:12 
> Перед тем, как уходить в оффлайн, скачиваешь всего десять книг.

Ага-ага, вот только время на это есть далеко не всегда. Ну и типичная ситуация - по плану уехал на два месяца, а в реальности - почти на пять получилось. Два из которых - на якорной стоянке в западной Африке, где с интернетом даже на берегу... небольшие проблемы. А работы особой нет. Книги закончились - дальше что? Нет, можно за мухами например понаблюдать - о-очень увлекательное занятие. Только крыша съедет через неделю.



"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено 1 , 21-Дек-22 10:16 
Ну давай посчитаем - 10 книг, ~ по 500 страниц в каждой ... За день читается ~50 страниц (и то если книга увлекательная то и все 100) ... (Это я беру где-то 2 часа на чтение. Я читаю ~30 страниц в час). Итого 100 дней. Даже полугода нет.

А архивы нужны ... Прочитал ты какого-нибудь нового автора, и захотелось тебе именно его ещё, что-нибудь прочитать ... Вот тут и нужен "архив в 300гб архивов". А дисциплина "Читать только 50 том собрания В.И.Ленина" мне не надь, проходили уже ...


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено товарищ майор , 21-Дек-22 10:31 
Ну вот, например, захотел я почитать что-нибудь по философии. Залез в инет, везде советуют Ильина и Дугина, скачал, уехал в тайгу... И там оказалось, что это не философы, а фашисты махровые! Продолжать читать эту помойку?
Или, опять же, скачал Анти-Дюринг, а в процессе захотелось прочитать критикуемый оригинал?

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено scriptkiddis , 26-Дек-22 17:40 
Ты это рассказываешь поколению "все есть и будет доступно в интернетиках" эдаким интернет детям. Это бесполезно. У них если нет интернета часть знаний если не все отрезает.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 19:03 
Затем, что сегодня либрусек есть, а завтра его может и не быть.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 20:34 
И чо, все книги на русском прям пропадут? У всех?

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 20:52 
У меня — нет, не пропадут, потому что копия есть. А вы будете по крошкам собирать.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 20:56 
Плюшкины никогда не вымрут) Видимо торренты, фтп архивы и создавать сайты тоже запретят, ага.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 21:05 
Торренты, между прочим, не в астрале хранятся. А у плюшкиных.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено darkshvein , 21-Дек-22 00:20 
как и любители халявы

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено asdasd , 20-Дек-22 19:14 
Вот как только на нем появится кнопочка "скачать", тогда и поговорим.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено 1 , 21-Дек-22 09:31 
Сейчас он есть ... А придёт министерство любви и опана (барабанная дробь! зрители затаили дыхание) ... его уже нет !

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено YetAnotherOnanym , 21-Дек-22 14:24 
> когда ещё пока есть... (барабанная дробь! зрители затаили дыхание)... либрусек

Поправил. Можешь не благодарить.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 20:33 
Действительно. Зачем все эти СУБД придумали. Раскидать по ФС и размазать симлинками!

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено анон , 21-Дек-22 14:17 
ФС своего рода тоже СУБД.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено tty0 , 21-Дек-22 00:51 
Вы умеете ln на файл в архиве?

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено _kp , 21-Дек-22 13:43 
Нужды нет в линках на файлы в архиве, книги то сжаты и так.
Сжатие fb2 в 2 fb2.zip, это неотъемлимая часть, как у tar.gz.

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


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 13:51 
Отличный вопрос. Половина проблем у людей - то что книги прилетают в какой-то плохо читаемой и соответственно плохо ищущейся абракадабре, которую сначала нужно переименовать. Полное именование книги не всегда влезает в 128 знаков (которые в мультибайте дадут 256 байт, которые уже иногда и в ограничения ФС упираются). Причём с epub ещё норм, можно наскриптовать чтобы вся коллекция книг была переименована в соответствии с title в метаданных. С PDF/DJVU зато реальная бооооль.
Ну и отдельно категоризация... ну и если библиотечка не умеет в OPDS, то тоже некоторым будет неудобно...
А ещё некоторым хочется синкать прогресс чтения между устройствами и тут вдруг резко все эти библиотеки остаются ненужны

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 14:32 
Следующий вопрос. А если люди не пираты и используют нормальные сервисы для чтения, а то и несколько за бабос. Как им может помочь эта балалайкой?

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Об вас пекчусь , 20-Дек-22 14:54 
>нормальные сервисы

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


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 16:17 
Одному нравилось жить в перекосившемся бараке с туалетом не улице лишь бы ни за что не платить. Да и денег у него из-за этого и не было. А другой живет в приличном загородном доме и платит за всё. Ты свой путь с бараком уже выбрал.  

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено qwe , 20-Дек-22 16:43 
> А другой живет в приличном загородном доме и платит за всё.

То есть при прочих равных денег у него много меньше, чем у первого.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 19:53 
Т.е. ты даже не думаешь что для зарабатывания денег надо прикладывать усилия, даже иногда, ты не поверишь умственные! В твоём манямирке деньги с неба падают как мана небесная.

Открою тебе тайну в бараке живет и ворует только тот кто хочет так жить.  


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено qwe , 20-Дек-22 21:30 
"При прочих равных" предполагает, в том числе, аналогичный уровень дохода. Тебе даже это нужно объяснять? Особенно показательна фраза "Да и денег у него из-за этого и не было". Не надо путать доходы с расходами.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено thhh , 21-Дек-22 09:01 
1. Воровать - это когда у кого-то что-то забрал без спросу. В данном случае, у источника ничего не изчезнет.

2. Чтобы за что-то заплатить, нужно понимать, за что ты платишь. Понять можно только прочитав книгу.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 20:37 
А ты уже полностью отказался от сферы услуг и перешёл на полное самообеспечение? Нет? Ну тогда твоя смешная притча - про тебя.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 16:09 
> А если люди не пираты и используют нормальные сервисы для чтения

То у них всего две книги на выбор, им каталогизатор не нужен.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 16:13 
Какую сам прочитаешь, какую матери закачаешь?

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 16:17 
Если ты за жизнь накопил на две книги это не значит что все такие же бездельники как ты.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено qwe , 20-Дек-22 16:51 
Учитывая, что сейчас из официальных магазинов и библиотек убирают неудобные книги и книги неудобных авторов, локальные хранилища становятся еще более оправданными в отличии от "нормальных" сервисов.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 19:57 
Никогда не устану давать текст этой песни, потому что она прикольная

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

Никогда для себя не сделают так чтобы свет был всегда и никто им ничего не запрещал, будут только терпеть. Строго говоря так им и надо.  


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 21-Дек-22 12:17 
К сожалению, автор этих строк тоже скурвился. Не стоит прогибаться под пластмассовый мир подебил, как говорится.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 25-Дек-22 17:35 
> А соседи шумят - они не могут понять, когда хочется петь.

А какие-то "одарённые" не могут понять, когда хочется отдохнуть в тишине или поспать или выучить что-то новое (в тишине, ибо концентрация) или... Да тишина значительно чаще требуется, чем желание петь возникает.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 20:39 
И тут ты такой - бац и 5 примеров таких книг, которые ты искал и не нашёл.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено qwe , 20-Дек-22 21:36 
А ты такой бац, и выкладываешь цитату где я писал, будто я что-то не нашел. Этот навык у меня неплохо прокачан, ибо востребован.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним42 , 21-Дек-22 20:03 
Ага
При чем все эти байки про убирание неугодных книг из электронных библиотек не имеют подтверждений
И все они восходят к байке какого-то безумного левака о том, как Амазон удалил у него «1984»
При этом ни у кого больше не удалили, да и он не смог подтвердить того, что у него удалили

В реальности в библиотеки(бумажные) Москвы сегодня был спущен список авторов чьи книги необходимо не просто убрать с полок, но уничтожить

И вот как так?
Переживаешь ты за вымышленные электронные, а книги сжигают в реальных бумажных библиотеках


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено qwe , 22-Дек-22 02:18 
> Ага
> При чем все эти байки про убирание неугодных книг из электронных библиотек
> не имеют подтверждений
> И все они восходят к байке какого-то безумного левака о том, как
> Амазон удалил у него «1984»
> При этом ни у кого больше не удалили, да и он не
> смог подтвердить того, что у него удалили

Ну отчего же. Вот, например: "Подразделение «Литреса», занимающееся электронным самиздатом, попросило авторов самостоятельно убрать с площадки тексты, подпадающие под действие закона о «гей-пропаганде», — или переписать их таким способом, чтобы их можно было безбоязненно вернуть в продажу."

Или вот: "В издательстве Ridero запустили нейросеть для проверки своих книг на наличие ЛГБТ-тематики — их снимут с продажи, чтобы не нарушать свежий закон, подписанный Владимиром Путиным."

Фикбук перенесут такие книги на другой сайт: https://slashbook.net/

Наверняка и АвторТудей, прости господи, подсуетился. Лень искать.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ip1982 , 20-Дек-22 17:16 
https://vk.com/ipmcmlxxxi?w=wall-202876924_267

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено 1 , 21-Дек-22 09:33 
Им поможет прочтение повести Столмана "Книга"

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 13:55 
Абсолютно согласен. Можно еще тегировать и искать ввода/кликая теги.
Но если у вас не 15 папочек по 1 в глубину, удобство этих подходов близится к O(n).

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 14:43 
Можно написать нейросеть которая сама за тебя выберет что читать. И каталог тогда не нужен.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 15:11 
.. а также сама за тебя почитает, посрётся в форумах, набухается пива.. и вообще будет жить на всю катушку пока ты шабашишь в офисе

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 16:14 
Было бы не плохо.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено asdasd , 20-Дек-22 15:13 
И как вы будете использовать find если книги лежат в архивах?

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено . , 20-Дек-22 16:30 
Надо всю коллекцию сжать mksquashfs, при необходимости монтировать и потом find

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 20:42 
Ничего ты не понимаешь в ляпих-вей - на каждый архив по симлинку на файл с названием. Ну и отдельно директории с сортировкой по годам и авторам - тоже симлинками.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 15:29 
Потому что теги. Предположим, у Вас есть папка "Категория А" и папка "Категория Б". Вот только книга относится к ОБОИМ категориям. Что будете делать, выбирать категорию произвольной? Или хранить две копии, каждую копию в свою папку? А что если в книгу введете какие-то изменения (например, заметку добавите с помощью Okular)?

Проще просто присвоить книге два тега, "Категория А" и "Категория Б". И в случае надобности, искать книгу по одному из этих тегов.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено asaaddxasaadd , 20-Дек-22 15:44 
Чел, hardlink даже в винде есть.
Не плоди лишние сущности.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено vbcnthfkmnth123 , 20-Дек-22 16:53 
Такой подход хорошо работает когда у вас 1, 2, 3, 5, 10 книг. А вот когда у вас от 100 Гб книг и больше, то оно тормозит сильно. И приходится использовать такие программы с базами данных.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 20:43 
Ты зачем на детку такую страшную информацию скидываешь? У него же психика не выдержит.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Kuromi , 20-Дек-22 20:38 
Вот чтобы не заниматься созданием миллионом папок, а потом думать куда сунуть книгу если она удовлетворяет сразу разным критериям (сортировка по автору это самый очевидный но дажеко не самый информативный метод категоризации) и были созданы метаданные. Автор, дата, жанры, субжанры.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Sultan , 21-Дек-22 13:16 
Поиск по жанру, автору, циклу серии, названию книги, году? А если метаданные корректируются?

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 13:49 
> Реализован поиск книг по различным критериям (фамилия, имя, отчество автора, название книги, серия, жанр) и их чтение через программу

У меня 100 тысяч источников. Сколько же времени я базу заполнять буду?


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 13:52 
А сколько нужно тебе времени чтобы прочитать про форматы умеющие хранить метаданные?

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 24-Дек-22 11:23 
Метаданные вида Unknown Author -- Unknown Book (unknown year) ?

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Stanislavvv , 20-Дек-22 13:55 
Если fb2 заполнялся аккуратно изначально - не очень долго. ~500к fb2 в архивах на дохлой orange pi обрабатывается порядка дня (правда, у меня своё, ибо не десктоп, а домашний типа-сервер с opds и вебмордой)

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено PalachMB , 26-Дек-22 08:55 
На чем реализован OPDS?

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Stanislavvv , 26-Дек-22 13:07 
> На чем реализован OPDS?

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


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено PalachMB , 27-Дек-22 04:35 
А можно полапать? Сейчас у себя кручу срез флибусты на sopds (sopds.ru), но он банально устарел и как бы я не пинал автора, он все не может найти время на доработку проекта под свежие версии приложений. Пока сам костыли прикручиваю, но надолго ли?
Если можно, с краткой редмишкой. Мне как раз гуя и веб-морда не нужна, лишь только возможность отдавать через opds на устройства через сеть

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Stanislavvv , 27-Дек-22 08:13 
> А можно полапать? Сейчас у себя кручу срез флибусты на sopds (sopds.ru),
> но он банально устарел и как бы я не пинал автора,
> он все не может найти время на доработку проекта под свежие
> версии приложений. Пока сам костыли прикручиваю, но надолго ли?
> Если можно, с краткой редмишкой. Мне как раз гуя и веб-морда не
> нужна, лишь только возможность отдавать через opds на устройства через сеть

Пока ещё не выложил на гитхаб, дома забываю постоянно. В принципе, доступна предыдущая версия, где таки используется база, но её я вряд ли буду дорабатывать за неиспользованием: https://github.com/stanislavvv/fb2_srv
Заранее предупреждаю: не программист, а админ, соответственно, из всей красоты кода - прогон через flake8.
Вебморда, кстати, есть. Представляет собой трансляцию opds в html. Делалась для отладки, выглядит соответственно.
На Orange PI 3 LTS с данными на hdd, воткнутом в usb3, версия с базой значительно медленнее, чем версия с кучей файлов. Если вспомню - выложу в соседней репе на этой неделе.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено PalachMB , 27-Дек-22 12:59 
Благодарю, буду на праздниках пробовать

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено PalachMB , 28-Дек-22 11:19 
Старая версия с гитхаба, как оказалось:
Не видит файлы вне архивов
Вообще не любит кириллические имена файлов.
И как-то странно работает. Свой архив с именем файла 12345.fb2 пихаю - на просмотр книгу открывает, на попытку скачать устраивает истерику TypeError: send_file() got an unexpected keyword argument 'attachment_filename'.
С другой стороны из флибустовского архива вроде нормально открываются и скачиваются.
К сожалению, не программист, докумекать что и куда не в силах. Но и на том спасибо!
Если что-то повкуснее появится - буду признателен


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Stanislavvv , 28-Дек-22 12:07 
> Старая версия с гитхаба, как оказалось:
> Не видит файлы вне архивов

Так и задумывал. У меня диск с архивами хоть и большой, но всё ж далеко не бесконечный.

> Вообще не любит кириллические имена файлов.

В .zip их вообще никто не любит - там хрен поймёшь, какая кодировка.

> И как-то странно работает. Свой архив с именем файла 12345.fb2 пихаю -

А можно его зааттачить к багу на гитхабе?
Не скажу, что сделаю в версии с sqlite, но, как минимум, проверю в той версии, что у меня не тормозит.

> на просмотр книгу открывает, на попытку скачать устраивает истерику TypeError: send_file()
> got an unexpected keyword argument 'attachment_filename'.

Странно... Впрочем, надо будет подумать на предмет virtualenv с указанием версий библиотек.
У меня сиё запускается под Debian 10 и Debian 11, причём библиотеки ставятся из дебиановского репозитория, так что версии не те же, что будут через pip3 install

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


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено PalachMB , 29-Дек-22 05:28 
> А можно его зааттачить к багу на гитхабе?

Начал оформлять багу, но потом перепроверил на дебиане (10) - вроде бы нормально. Баг проявился на gentoo, но тут еще обновляться и наблюдать. Поэтому, будем считать, что это мой косяк.
> В .zip их вообще никто не любит - там хрен поймёшь, какая кодировка.

Понял
> Странно... Впрочем, надо будет подумать на предмет virtualenv с указанием версий библиотек.

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


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Stanislavvv , 30-Дек-22 23:08 
Дошли руки выложить ту версию, которая у меня сейчас работает:
https://github.com/stanislavvv/fb2_srv_pseudostatic

По форматам данных несовместима, добавляет несколько ГБ индексов в json/jsonl вместо базы, но на дохлом Orange Pi не тормозит до 502 в отличие от.
Рекомендую потыкать это, там достаточно сильно переделаны не только индексы.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено PalachMB , 04-Янв-23 16:45 
> Дошли руки выложить ту версию, которая у меня сейчас работает:
> https://github.com/stanislavvv/fb2_srv_pseudostatic
> По форматам данных несовместима, добавляет несколько ГБ индексов в json/jsonl вместо базы,
> но на дохлом Orange Pi не тормозит до 502 в отличие
> от.
> Рекомендую потыкать это, там достаточно сильно переделаны не только индексы.

Вот спасибо! Вот подарок!
А я наконец-то дождался от китайцев б/у хлам и мигрировал "сервачок" с Core2Duo e4500 2Gb DDR2 на Core i5-3570 16Gb DDR3. Как раз заканчиваю индексы добивать. Но, раз такая пьянка - все на переделку)
По прежней версии - да, косяк с разными версиями библиотек. На стационарнике у меня sid, на сервере 11.2 стоит. На 11.2 вылетела ошибка, при обработке одного архива, так скачал на стационарный - там идеально прошло, поэтому не стал оформлять как баг. Вобщем, мелочи.
Ну теперь попробуем что повкуснее, а то sopds окончательно меня огорчил, став запинаться на свежих архивах. В поле названия книги какой-то чудак иероглиф впихнул и обработчик на том стал вылетать. Решение вроде как есть (https://sebhastian.com/mysql-incorrect-string-value/), но чот я психанул и забил.
Ну а раз под одноплатники - так у меня апельсинки где-то лежали, как раз в дело пустить можно.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено PalachMB , 06-Янв-23 10:45 
> Дошли руки выложить ту версию, которая у меня сейчас работает:
> https://github.com/stanislavvv/fb2_srv_pseudostatic
> По форматам данных несовместима, добавляет несколько ГБ индексов в json/jsonl вместо базы,
> но на дохлом Orange Pi не тормозит до 502 в отличие
> от.
> Рекомендую потыкать это, там достаточно сильно переделаны не только индексы.

Великолепно!
Все как по часикам отсканировалось и заработало!


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено PalachMB , 26-Окт-23 13:06 
Приветствую!
Мануальчик бы по настройке и разворачиванию fb2_srv_pg
Чтоб не методом тыка :)

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Stanislavvv , 26-Окт-23 13:42 
> Приветствую!
> Мануальчик бы по настройке и разворачиванию fb2_srv_pg
> Чтоб не методом тыка :)

Лучше тикет создай... Так-то из разворачивания - создал базу, дал права, вписал в конфиг.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 20-Дек-22 14:20 
> У меня 100 тысяч источников. Сколько же времени я базу заполнять буду?

Каталог с больше, чем 300 ГБ zip архивов с fb2 файлами (больше 500 тысяч книг), у меня добавил в базу где-то часов за 5. Процессор intel i5 и жёсткий диск HDD (для понимания скорости чтения).


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено _kp , 21-Дек-22 14:10 
Пока кофе попьёте, и заполнится база. Ну не вручную же заполнять собираетесь?  

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


PS:
~500 тысяч книг, за 5 ==> 36 mS книгу.
или 28 добавлений в секунду. Для 1 потока слабо, а для 4х плохо.
HDD тут не сильно влияет, в отличии от объёма ОЗУ и алгоритма.
Впрочем.. если добавление архива в базу заведомо не частая операция, для дома то, то и мудрить с софтом не оправданно, если работает правильно, то более чем годно.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 14:31 
Хоть кто-то хоть что-то пишет на единственном нормальном языке. А то в последнее время одна хипстотам.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено iPony129412 , 21-Дек-22 08:47 
так было бы нормаль но написано то

if(p.extension().u8string() == ".fb2")
{ fb2.push_back(p);
}
if(p.extension().u8string() == ".epub")
{ epub.push_back(p);}
if(p.extension().u8string() == ".zip")


Проверяя имя файла несколько раз находим его расширение.
Даже когда выяснили, что расширение .fb2. Проверяем ещё, а вдруг расширение ".epub"?

А то что за такое вообще? Я заглянул в код на 30 секунд.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ip1982 , 21-Дек-22 19:36 
Чо, ваш компилятор не умеет такое оптимизировать? Раст умеет.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено qwe , 22-Дек-22 02:47 
> Чо, ваш компилятор не умеет такое оптимизировать? Раст умеет.

Возможно авторы компилятора раста сразу ориентировались на большинство, а авторы c++ были идеалистами.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено iPony129412 , 22-Дек-22 09:49 
Не скажу про компилятор.

Но если бы кто-то так при мне сто раз копипастил какую-то ерунду с конкретной привязкой типа u8string.

Охота взять и какой-то книгой по хорошему коду по башке дать.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 14:33 
https://atsumeru.xyz/ru/
вот нормальный каталогизатор. так еще и читать можно с любого устройства

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 14:40 
Сервер не умеет рендерить ePub и FB2. Для чтения контента в таких форматах, конечный клиент должен их поддерживать нативно

Спасибо поорал.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено enot , 20-Дек-22 18:52 
Покажи хоть один аналог с рендером.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Kuromi , 20-Дек-22 20:43 
Это сделано для того чтобы народ не начинал размещать это счастье публично в сети - сразу правообладатели набегут. А так все беспалевно, есть странная приложуха и адрес в сети. В браузер вбиваем и видим "нихрена". Правообладатели люди простые, не заморачиваются в большинстве случаев и все довольны.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Антоннн , 20-Дек-22 23:24 
Посмотрел код сервера на житхабе.
Ллля. Оче плохо.
Чел не используй автовайр. Делай инжект через конструктор.

Не используй статические конструкторы в бинах. Это отвратительно. Тем более если в них дергаешь синглтоны.

Что наркоманские GU* классы.

Дальше смотреть стало лень.

Мешанина какая-то


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено iiiypuk , 21-Дек-22 18:35 
Есть гораздо интнреснее рроект и без джавы
https://github.com/getmango/Mango

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Антоннн , 22-Дек-22 08:20 
Проорунькал.
Кристал.
Это потом руби чтоли?
Такой же тормозной?
Тут даже пхп пожалуй быстрее будет

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 22-Дек-22 21:30 
прошу, компилируемый руби! сделан из того же теста, что и, прости Господи, раст!

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено НяшМяш , 20-Дек-22 14:56 
А можно парочку скриншотов в репозиторий положить? А то вообще не понятно как оно выглядит и захочется ли им пользоваться вообще.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 20-Дек-22 15:22 
> А можно парочку скриншотов в репозиторий положить? А то вообще не понятно как оно выглядит и захочется ли им пользоваться вообще.

https://cloud.mail.ru/public/DBDr/6NYjwveCD


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 16:15 
Спасибо поблевал.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 20-Дек-22 16:52 
Обращайтесь ещё, мы всегда вам рады))

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Kuromi , 21-Дек-22 20:16 
Да ладно вам, примерно такое я и ожидал увидеть. Классический минималистично-утилитарный дизайн от погромиста.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 23:33 
Есть в планах изучить

- https://developer.gnome.org/hig/guidelines.html
- https://developer.gnome.org/hig/patterns/containers.html

?


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 20-Дек-22 23:35 
> Есть в планах изучить

Зачем?



"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 21-Дек-22 08:44 
Чтобы потом забыть и применить нормальный интерфейс для нормальных людей KDE Human Interface Guidelines

https://develop.kde.org/hig/


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено prokoudine , 22-Дек-22 03:14 
Разработано по госзаказу для Минобороны? :)

Ну можно же набрать рефы, как это делают другие разработчики.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено asaaddxasaadd , 20-Дек-22 15:47 
Лишнее.
Функционал хуже чем в calibre, при этом для винды предлагают ставить через msys.
"You can build MyLibrary from source by MSYS2 project https://www.msys2.org/. "

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 20-Дек-22 17:09 
> Лишнее.
> Функционал хуже чем в calibre, при этом для винды предлагают ставить через
> msys.
> "You can build MyLibrary from source by MSYS2 project https://www.msys2.org/. "

Для винды есть ещё например MyHomeLibrary. Через msys - потому что так удобней, чем таскать за собой всю пачку библиотек GTK с зависимостями в нативном инсталляторе. Да ещё изобретать отдельную программу-пусковик, чтобы работал Pixbufer. Проще говоря, эта программа больше для пользователей линукс, винда - чисто потому что потирование особых усилий не требует (с точки зрения кода).

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

И опять же - никого не призываю бросать немедленно свой любимый каталогизатор и переходить на MyLibrary. Если кому-то нужно - пользуйтесь на здоровье, а если нет - на нет и суда нет.

А по функционалу добавим понемногу. Замечания по поводу "кому чего не хватает" только приветствуются.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Anonim , 20-Дек-22 19:09 
Вы создатель этой проги?
А чем обусловлен выбор gtk, а не QT? Не срача ради, просто интересно

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 20-Дек-22 19:33 
> Вы создатель этой проги?
> А чем обусловлен выбор gtk, а не QT? Не срача ради, просто
> интересно

Рациональных аргументов против Qt у меня нет. И даже больше вам скажу - предыдущая версия этой программы (публично не выкладывал, делалось только для себя) была на Qt5. Тут скорее инстинктивное, на уровне ощущений - в Qt всё красиво и просто на первый взгляд, и тебя туда прям заманивают: "Давай, будет кроссплатформенное приложение, классная документация, даже программировать уметь не обязательно!" И тут сразу возникает вопрос - кому и зачем это надо? Когда всё просто - это значит что над этим очень тщательно и много работали. Что сегодня под силу только большим корпорациям. А от этих людей лучше держаться как можно дальше - там про пользу никто особо не думает, только про деньги. Ну и чисто профессиональный аспект - я раза в два больше узнал про С++, пока работал с GTK, чем с Qt. Qt позволяет слишком небрежно работать с кодом, что на пользу отнюдь не идёт. Ну и по мелочи - с Qt без особых танцев с бубном можно работать только в QtCreator, а приложения бывают не только на Qt и С++.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 16:22 
>https://gitflic.ru/static/image/error/404.svg

Они там прям петросяны.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 16:29 
Для epub и fb2 уже есть Calibre. Зачем ещё один?

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 20-Дек-22 17:16 
> Для epub и fb2 уже есть Calibre. Зачем ещё один?

https://www.opennet.dev/openforum/vsluhforumID3/129315.html#46


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено PalachMB , 26-Дек-22 09:12 
Calibre уже научился без gui opds-каталог из среза флибусты делать?

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Самый умный из вас , 20-Дек-22 16:30 
Коммунист изменил родине с капиталистами

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 20-Дек-22 17:33 
> Коммунист изменил родине с капиталистами

Без паники, никто никому не изменял)) Коммунист в работе, в следующей версии планируется поддержка групповых чатов. Правда, когда будет - не знаю. Пока - просвещайтесь, MyLibrary в этом поможет. Знание - сила.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 16:33 
Оверпрайс. GTK4 в зависимостях заставляет использовать мощный комп. Лучшее решение - WEB-сайт LAMP. Использую Pentium 3 c 128 МБ оперативки как каталог, более 3000 позиций, полет нормальный.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 20:47 
Оверкилл. LAMP требует наличия ОС. Использую ламповую машину с механическими переключателями как каталог.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено 1 , 22-Дек-22 09:11 
Оверкилл. Ламповая машина требует электричества. Использую классическую библиотеку с бумажными карточками.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено какая разница , 20-Дек-22 16:43 
Для музыки или фильмов похожего не изобрели?

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 17:04 
Лучше структуры каталогов (по темам или как удобно) ничего нет.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 20:51 
Ламерский подход. Юзеру вообще необязательно знать, что такое каталог или файл.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 22:24 
Иерархическая файловая система из папок и файлов — примитивнейший способ организации данных. Лучше неё много чего есть.
Ведь всякие симлинки, файловые потоки и прочее не от хорошей жизни появились, это натуральные костыли, напрочь ломающие логику древовидной структуры.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 22-Дек-22 00:01 
Ложь. Очень плохо так делать. Один фильм может подпадать под множество разных критериев. Например, по жанру одновременно "исторический", "комедия", "военный". Выбери только один из трех каталогов и утрись. Ну или с симлинками любись. А еще режиссеры. А еще актеры в главных ролях. Ты соберешь все фильмы с Караченцевым или Мироновым в каталог "Караченцев" или "Миронов"? А в фильме других значимых актеров, достойных своего каталога, не было? И что, засунув "Бриллиантовую руку"в каталог "Миронов", папки "Никулин", "Папанов" или там "Советские комедии" оставишь пустыми? Как потом все фильмы с Папановым будешь искать? А еще годы выпуска. Качество видео/аудио/переводов. Рейтинги всякие. Да много чего. Удобнее как раз выделить значимые аттрибуты предметной области и впихнуть какую-нибудь систему тегов, которая будет проиндексирована.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 17:12 
Попробуй KDE.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено MegaDiablo , 24-Дек-22 21:20 
Попробуй Plex или Jellyfin

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 17:03 
А чем оно лучше Calibre?

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 20-Дек-22 17:19 
> А чем оно лучше Calibre?

https://www.opennet.dev/openforum/vsluhforumID3/129315.html#46


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 17:18 
Если человек не пользуется сортировкой по папкам, то ему никакой софт не поможет.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 17:20 
Уровень английского в описании на гитхабе - 3-

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 20-Дек-22 18:04 
> Уровень английского в описании на гитхабе - 3-

Моя твоя не понимай. Если это единственный недостаток - то значит всё нормально.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено qwe , 20-Дек-22 18:34 
Кто-то может судить о вашем коде по вашей документации. Даже гуглопереводчик справился лучше, только что проверил на первом предложении.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 18:43 
Рекомендую попробовать запихнуть текст на русском в deepl, он совсем не идеален, но хотя бы такого ужаса не будет. Просто большинство адекватных людей уже на этом этапе закроют страницу проекта и не станут с ним связываться. Для начала правда придётся подучить русский, иначе переводчик будет гнать такую же чепуху, как и в оригинале.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 17:37 
Зачем проверять хэши? Ты понимаешь вообще сколько времени надо на проверку хешей даже на моей скромной 10 тб коллекции литературы. А что делать тем, у кого литературы за сотни и тысячи терабайт? Вот и получается, что сабж ничего не решает.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 20-Дек-22 18:01 
> Зачем проверять хэши?

Чтобы вы могли руками удалить или добавить что-то в папку коллекции, а потом нажать спокойно "Обновить коллекцию" и получить актуальную базу данных. Ну и если вы подскажете мне более надёжный способ контроля изменений содержимого файлов (не названий и расширений, а именно содержимого) - буду рад. Насчёт 10 терабайт - а вы уверены, что там есть хотя бы 1% литературы? Интуиция мне подсказывает, что вряд ли. В лучшем случае - потоки сознания и более менее связные наборы букв по большей части.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 18:35 
Но это лишено смысла. Файл не может внезапно оказаться другим файлом в том же месте или быть дописанным другими данными, или поменять авторство там (кто это будет делать, пользователь вручную залезет в теги файла? маловероятно), по этой же причине есть только повод проверять его наличие при обращении к нему. "Обновление" коллекции может подразумевать сканирование с нуля, в крайнем случае проверяют mtime хоть это и уже очень дорого. Даже проверка что все известные файлы на месте уже сопоставимо с индексацией с нуля.

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

Насчёт 10 тб, это всё же творчество определённых авторов (не все произведения всех авторов прямо шедевры, но всё же есть смысл держать в коллекции то, что захочется прочитать), и некоторая часть существует только в виде сканов, особенно обучающая и техническая литература. Это только кажется, что объём приличный, у меня даже чисто текстовых файлов около терабайта и в них можно найти что-нибудь интересное. Для поиска что почитать сегодня существуют такие вещи как recoll (хоть я и не совсем доволен их функциональностью, но лучше, чем ничего), в противном случае только выбирать из уже известных авторов. Бывает, открываешь для себя новое. О некоторых авторах узнаёшь по отзывам или отсылкам.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 20-Дек-22 19:01 
> Файл не может внезапно оказаться другим файлом в том же месте или быть дописанным другими данными, или поменять авторство там

Ещё как может. Я вот ни разу не IT-шник вообще, но такие чудеса видел... Особенно, когда файлами пользуется не один человек, и эти люди понятия не имеют о том, как работает компьютер. Результат обычно: "Оно само случилось". И переустановка системы в лучшем случае. А уж переименовать файл и засунуть его туда, где никто и искать не станет - это вообще без проблем.

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

В случае с MyLibrary - как раз не обязательно. Программа сделана специально, чтобы работать с "сырыми" файлами, ничего не меняя. Она лишь создаёт свою базу данных и всё. Причём в отдельной папке. Собственно база данных и есть тот же индекс.

> сканов, особенно обучающая и техническая литература

Так речь про электронные книги, сканы - это немного другое. Сканами можно и больше набрать, только вот сомневаюсь, что вы всё это прочитаете.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 21-Дек-22 02:47 
Почему вы использутете GCRY_MD_SHA256, если можно взять GCRY_MD_BLAKE2S_256 или GCRY_MD_BLAKE2B_512? BLAKE2 заметно пошустрее.
Да, версию libgcrypt придётся ограничить как >= 1.8.0, но, например, в Ubuntu 18.04 уже была 1.8.1.

До кучи, возможно, покажется полезным: помимо .fb2 есть ещё .fbd, по сути это .fb2, в котором есть только тег <description> - т.е. все данные о книге и обложка. Можно использовать для каталогизации бинарных форматов (pdf, там, djvu), положив рядом одноимённый .fdb (вроде обычно эту пару кладут в zip-архив).


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 21-Дек-22 16:23 
> BLAKE2 заметно пошустрее.

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

> До кучи, возможно, покажется полезным: помимо .fb2 есть ещё .fbd, по сути
> это .fb2, в котором есть только тег <description> - т.е. все
> данные о книге и обложка. Можно использовать для каталогизации бинарных форматов
> (pdf, там, djvu), положив рядом одноимённый .fdb (вроде обычно эту пару
> кладут в zip-архив).

Спасибо за наводку, посмотрю.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено edo , 21-Дек-22 19:25 
Коллекции книг на десятки терабайт знаю, хотя бы libgen. А у кого тысячи терабайт книг?

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 18:08 
Каталагизатор - одно из возможных решений для облегчения поиска нужной информации - респект авторам.

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

Какие есть еще возможности? Хотя их не так много, но они есть: индексация, грануляция, ИИ, recent-списки, журналирование, "квантование", что-то полезное еще.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Skullnet , 20-Дек-22 18:34 
> Графический интерфейс пользователя реализован с помощью библиотеки GTK4.

Сразу на помойку.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено algri14 , 20-Дек-22 21:08 
Всем кто "против" — идите мимо, сделайте своё или сделайте лучше, к тому же вы даже не критикуете, вы обсираете.
Есть замечание, а почему нет пояснения на русском языке, ну ладно github иностранная площадка, хотя и там пишут по русски, но ведь gitflic.ru , почему только ни инглише, АВТОР где русский текст???

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 20-Дек-22 21:37 
Программа для международного использования, а язык международного общения у нас пока английский. Хотя на самом деле просто не люблю README писать)) Замечание принимается - сделаю README и на русском.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено . , 20-Дек-22 21:38 
Может он уже уехал?

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 20-Дек-22 21:50 
> Может он уже уехал?

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


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено . , 21-Дек-22 14:24 
>  И война скоро будет не только здесь

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


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено твой отдел кадров , 21-Дек-22 22:09 
Зайдите к нам завтра, тут в одной бумажке не хватает вашей подписи. Ничего важного, только, пожалуйста, не откладывайте!



"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 22-Дек-22 02:23 
Повестки раздаёт военно-учётный стол, а не отдел кадров.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 21:09 
Программе не хватает многопоточности.
Во время построения каталога задействовано только одно ядро процессора.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 21:33 
Квалификации программисту не хватает.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 21-Дек-22 08:25 
Для курсового проекта нормально.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 20-Дек-22 21:42 
> Во время построения каталога задействовано только одно ядро процессора

Это сделано специально. Изначально планировалось "раскручивать на все ядра", однако при работе с большими коллекциями процесс так или иначе будет занимать достаточно длительное время. Если задействовать все ядра, то это затруднит использование компьютера в процессе индексации. А так вы можете запустить процесс, что называется, в фоне и заниматься чем-либо ещё.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 21:58 
А приоритеты для чего придумали? Я вот кодирую видео в фоне и тормозов не замечаю.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 22:41 
Я компилирую хромиум в фоне и тормозов не замечаю. И чтобы посмотреть ютуб в браузере мне надо 2 полные ядра загрузить, так что было бы заметно. Другое дело, что из-за IO будут лаги, но тут достаточно и 1 треда, чтобы выжрать всё. Только когда это рандомный доступ производительность на жёстких дисках падает раз в десятки раз, поэтому толку от многопоточности?

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 20-Дек-22 22:51 
> А приоритеты для чего придумали? Я вот кодирую видео в фоне и
> тормозов не замечаю.

Ну и какой в этом смысл? Возится с ОС специфическим API, отстраивать приоритеты потоков, чтобы получить в итоге то же самое. Т.е. замедление работы процесса, чтобы вы могли в это время заниматься своими делами. И всё это на каталогизаторе домашней библиотеки, который по сути своей выполняет довольно тривиальные задачи. Вам не кажется это слегка излишним? Может проще отдать программе один процессор? При этом система будет сама решать, какой именно, перебрасывая задачи с одного на другой. Ну и про чтение жёсткого диска вы не забыли? Если у вас например HDD, что будет с ним если, скажем, 8 потоков примутся одновременно читать с него нехилые объёмы данных? И как это скажется на остальных процессах, запущенных в системе?


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 23:18 
На ссд можно получить кратное ускорение. "Специфические апи" на линуксе сводятся к запуску под nice/ionice и это проблема пользователя, у него есть для этого баш. На венде тоже что-то подобное. Аргументация в пользу отказа от многопоточности довольно странная.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 20-Дек-22 23:34 
> На ссд можно получить кратное ускорение.

Замечательно. А сколько пользователей имеют SSD? Я имею доступ к 4 разным машинам (они не мои, а именно имею доступ). SSD стоит только на двух из них и при этом отданы только под размещение ОС, больше на них ничего нет. Информация хранится только HDD. Более того те, кто много читают книги далеко не всегда имеют новейшее железо, ибо оно им особо без надобности. Ну и вопрос не снимается - для чего насиловать машину и усложнять программу? Чтобы вы перестали ныть про многопоточность?


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 23:46 
Если говорить серьёзно, то ssd уже лет 10 обязательное условие для использования виндоус и макос и очень облегчает жизнь с линуксом. Примерно 100% пользователей, можно брать такую оценку. Кроме того, можно параллелить доступ к нескольким hdd. И чем старее/слабее железо, тем более целесообразно приобретение ssd.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 20-Дек-22 23:52 
> Если говорить серьёзно, то ssd уже лет 10 обязательное условие для использования
> виндоус и макос и очень облегчает жизнь с линуксом. Примерно 100%
> пользователей, можно брать такую оценку. Кроме того, можно параллелить доступ к
> нескольким hdd. И чем старее/слабее железо, тем более целесообразно приобретение ssd.

Вы это не мне рассказывайте, а людям. Которым на еду далеко не всегда хватает, а компьютер у них хорошо если с двухядерным процессором. И таких, представьте себе, не мало.



"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 21-Дек-22 00:06 
Ссд стоит куда меньше самого дешёвого двухядерного процессора и будет самым полезным приобретением из всех возможных. Есть деньги на дорогой двухядерный процессор, но нет денег на ссд? Я бы ещё понял, если сравнение было с одноядерными, хотя и одноядерные при наличии SMT позволяют получить выигрыш (т.е. процессорам времён 32-битных пентиум 4 уже профит). Только как много таких пользователей сегодня?

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Stanislavvv , 26-Дек-22 15:28 
Двухядерный процессор - это CoreDuo может быть, в ноуте, выпущенном в 2008-году и когда-то бывшим топовым, купленным как бу за соответствующую бу цену.
На большинство юзерских задач его хватает и сейчас, включая "послушать ютуб".
Просто у людей другие приоритеты.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Ананимаз , 21-Дек-22 00:13 
Ну дык можно дать пользователю выбор. По-умолчанию 1 ядро, но нужна возможность использовать все.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 21-Дек-22 00:17 
> Ну дык можно дать пользователю выбор. По-умолчанию 1 ядро, но нужна возможность
> использовать все.

Вот это уже другой разговор. Посмотрим, скорее всего сделаю.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 23:22 
> Возится с ОС специфическим API, отстраивать приоритеты потоков, чтобы получить в итоге то же самое. Т.е. замедление работы процесса, чтобы вы могли в это время заниматься своими делами.

Допустим, у меня восьмиядерный процессор. При раскидывании задачи на восемь ядер получаем (в идеале, конечно), восьмикратное ускорение. Допустим, повседневное использование ПК (браузер там, вот это всё) есть условные 10% процессорного времени. Да, совершенно то же самое.
Но с подходом «не хочу возиться», конечно, не поспоришь.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 23:42 
>Возится с ОС специфическим API

std::thread - ОС-специфическое API, спешите видеть.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 20-Дек-22 23:43 
> std::thread - ОС-специфическое API, спешите видеть.

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


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Meta , 21-Дек-22 00:01 
Помню у нас в Atsumeru прикрутили многопоток и вместо 5 часов вся коллекция сканилась за 40 минут.
Данных в тот момент было на 700 гб и мы в принципе не мечтали что быстрее будет полностью забита db всей инфой, но всегда можно оптимизировать. Сейчас для Atsu является слабым местом именно db.
В общем я фраппирован со всех ваших умозаключений

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 21-Дек-22 00:10 
> В общем я фраппирован со всех ваших умозаключений

Рад за вас))


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено kit , 24-Дек-22 05:22 
>Изначально планировалось "раскручивать на все ядра"

тогда уж все ядра минус одно, и приоритет процессам пониже


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 24-Дек-22 12:34 
> тогда уж все ядра минус одно, и приоритет процессам пониже

Уже сделано. Думаю, на следующей неделе выйдет новая версия. Регулировка количества задействованных потоков ляжет на пользователя. С приоритетами заморачиваться не буду, поскольку главный принцип - максимальная универсальность, т.е. использование как можно меньшего количества ОС-специфических функций.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено kit , 26-Дек-22 15:23 
Можно же банальную обёртку сделать: если в системе можно понизить приоритет -- понижаем, если нет пускаем так как есть.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 26-Дек-22 15:59 
> Можно же банальную обёртку сделать: если в системе можно понизить приоритет --
> понижаем, если нет пускаем так как есть.

Незачем, реально незачем. Я уже оттестировал на одном и том же железе с процессором на 4 физических ядра и 8 потоков. И с 1 потоком оттестировал, и с 8. На коллекции в 350 Гб. Какой-то принципиальной разницы в скорости нет. Может быть 5-7%% (по оптимистичным оценкам) - с секундомером не замерял. Потому что всё упирается в скорость чтения с жёсткого диска. Который один. И поток данных с него тоже один, 8 их не станет, хоть вы тресните. Скорость обработки данных (а значит и количество потоков) тут особой роли не играет: загрузка каждого из ядер во время теста не превышала 7-10%% в пике. Если у вас например RAID массив, то тогда, подозреваю, результат будет другой. Но тут не спец - я не сисадмин и с массивами носителей никогда дела не имел.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено kit , 27-Дек-22 17:22 
Ну во первых есть ssd со скоростью чтения до 7 гигабайт в сек, и с мультипоточностью чтения там всё ок.
А во вторых тут же речь не только про то чтобы быстрее, а ещё и про то чтобы отзывчивость системы при процессе сканирования не проседала.

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


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 28-Дек-22 02:23 
> Ну во первых есть ssd со скоростью чтения до 7 гигабайт в
> сек, и с мультипоточностью чтения там всё ок.

Если бы у меня ещё был под рукой нормальный SSD, чтобы тесты погонять... Впрочем, как уже сказал - многопоточность сделал. В следующей версии будет. Дальше - буду улучшать по возможности.

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

Желание есть, времени на всё нет.


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 20-Дек-22 21:50 
MyHomeLib версия 2.2.0.822 отлично работает.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Kirikekeks , 20-Дек-22 23:04 
Помню все эти программы неожиданно пропали, и коллекция стала чемоданом без ручки. Грепать не получилось из за winCP-1251. Перекодировка utf-8 заняла 5 суток, это вообще рекорд непрерывного процесса у меня. Так что замечательно, что выбор есть.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 21-Дек-22 18:02 
что значит "пропали"?
Вот я поглядел на свой архив - лежат спокойненько, куча версий, в Грузию не собираются..

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 21-Дек-22 10:21 
Годная программа, спасибо.

"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено Аноним , 21-Дек-22 14:01 
> Графический интерфейс пользователя реализован с помощью библиотеки GTK4

Не поторопились ли с переходом на четвёртую версию? Завезли ли туда биндинги GTK# для написания прог на дотнете?


"Каталогизатор домашней библиотеки MyLibrary 1.0"
Отправлено ProfessorNavigator , 21-Дек-22 16:34 
> GTK# для написания прог на дотнете?

А оно нужно? Что-то меня по этому поводу терзают смутные сомнения.