The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск каталогизатора домашней библиотеки MyLibrary 2.3

21.12.2023 08:36

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

MyLibrary каталогизирует файлы книг в формате fb2, epub, pdf, djvu, как доступные напрямую, так и упакованные в архивы (zip, 7z, jar, cpio, iso, a, ar, tar, tgz, tar.gz, tar.bz2, tar.xz, rar), и создаёт собственную базу данных, не изменяя исходные файлы и не меняя их положения. Контроль целостности коллекции и её изменений осуществляется за счёт создания базы данных хэш-сумм файлов и архивов.

Реализован поиск книг по различным критериям (фамилия, имя, отчество автора, название книги, серия, жанр) и их чтение через программу, по умолчанию установленную в системе для открытия соответствующих форматов файлов. При выборе книги отображаются аннотация и обложка книги, если таковые доступны.

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

Значимые изменения по сравнению с версией 2.1:

  • Реализована возможность добавлять книги в любую папку внутри коллекции.
  • Полностью переработано управление размерами главного окна и его элементов.
  • Значительно улучшено отображение результатов поиска.
  • Оптимизировано использование памяти.
  • Добавлена возможность просмотра обложки книги в натуральную величину.
  • Уменьшено количество зависимостей (из зависимостей убрана библиотека gmp).
  • Для пользователей ОС Windows создан экспериментальный инсталлятор.
  • Другие небольшие исправления и улучшения.


  1. Главная ссылка к новости (https://github.com/ProfessorNa...)
  2. OpenNews: Выпуск каталогизатора домашней библиотеки MyLibrary 2.1
  3. OpenNews: Выпуск p2p-мессенджера Communist 2.0 и библиотеки libcommunist 1.0
Автор новости: ProfessorNavigator
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/60321-mylibrary
Ключевые слова: mylibrary
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (94) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, beduin747 (ok), 09:17, 21/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чем лучше, хуже myrulib (http://myrulib.lintest.ru/)?
     
     
  • 2.2, Аноним (2), 09:25, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Последний коммит — 4aff570 on Nov 16, 2013
    Гммм
    Она хоть соберётся?
     
     
  • 3.11, Аноним (11), 11:34, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, там исходники надо править чтобы собралось. Прям чуть-чуть, но без правок не соберется.
     
  • 3.64, Личинка_Шигорина (?), 13:47, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Есть какие-то сборки под свежие убунты. Но немножко глючат.
     
  • 2.15, ProfessorNavigator (ok), 12:17, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Не сравнивал, да и цели такой не было. Если есть желание, сравните и напишите. Ну и поскольку тот проект, видимо, заброшен, то опять же если в нём что-то есть, чего не хватает в MyLibrary - пишите (только лучше не здесь, а на гитхабе/гитфлике или на почту). По возможности реализую.
     

  • 1.3, Аноним (3), 09:33, 21/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    а как на русский переключить?
     
     
  • 2.16, ProfessorNavigator (ok), 12:21, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если собирали из исходников сами, то, видимо, отсутствует gettext (в разных дистрибутивах может называться по-разному или быть разбит на пакеты, т.е. может также понадобиться что-то вроде gettext-tools). Установите и пересоберите заново - тогда перевод должен заработать.
     

  • 1.4, Аноним (4), 09:35, 21/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Сначала возрадовался, прочитав новость. Давно ищу подобный каталогизатор (FBReader - скурвился, calibre - полное гуано)

    Потом прочитал про GTK4 и расстроился. Ну почему?! Огромное число LTS продолжают использовать 3.24. Не апгрейдить же ради одной программы.

    Автор, может получится сделать совместимость с GTK3? Со своей стороны donate обещаю.

     
     
  • 2.7, Аноним (7), 10:00, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Согласен с предыдущим оратором. GTK4 нужно только гномосекам.
     
     
  • 3.23, ProfessorNavigator (ok), 13:06, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    https://www.opennet.dev/openforum/vsluhforumID3/132377.html#18
     
  • 2.13, Аноним (13), 11:59, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Расстроился, что не Qt.
     
     
  • 3.18, ProfessorNavigator (ok), 12:41, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А вам, как пользователю, есть ли разница? Главное, чтобы оно работало, как заявлено, а на чём оно там написано - дело десятое.
     
     
  • 4.33, glebiao (ok), 15:17, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Как сказать.
    У меня на домашней машине что-то произошло (похоже, аппаратно). Приложения Qt / KDE работают идеально, приложения GTK не работают -- артефакты на изображении, самопроизвольные (и динамические!) съезжания элементов изображения, исчезновение текстов и т.п.
     
     
  • 5.37, ProfessorNavigator (ok), 16:46, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вряд ли аппаратно Иначе и Qt тоже криво отбражался - по итогу всё работает чере... большой текст свёрнут, показать
     
  • 4.51, Аноним (51), 03:12, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Разница есть - оно всрато выглядит и часто ломается апстримом.
     
     
  • 5.73, ProfessorNavigator (ok), 15:47, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Разница есть - оно всрато выглядит и часто ломается апстримом.

    Дело вкуса. Ну и никто не мешает вам сделать свой интерфейс - код открыт. Более того, MyLibrary изначально спроектирован так, что GUI полностью отделён от остальной части программы. Создание коллекций, поиск, вывод аннотаций и обложек и т.д. - всё это в принципе может быть вынесено в отдельную библиотеку. Т.е. вы можете взять соответствующие классы и прикрутить к ним Qt интерфейс при желании.

     
  • 3.84, glad_valakas (?), 09:04, 23/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    расстроился что не ncurses (TUI).
    там вообще графика нужна для чего-то кроме "показать обложку книги и свой логотип" ?
     
  • 2.17, ProfessorNavigator (ok), 12:39, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В принципе ничего невозможного нет. Но. Первое препятствие - время. Не уверен, что у меня получится выкроить для этого недели три (мне нужно изучить соответствующий API и как с ним работать, поскольку с GTK3 я никогда дела не имел, а потом фактически полностью переписать графическую часть проекта). Во-вторых, и в "главных", я не уверен, что оно вообще нужно. Собственно, разработка GTK5 уже стартовала, т.е., я так полагаю, к концу следующего года можно ожидать уже каких-то новостей оттуда. Ну и, насколько я опять же понимаю, как только GTK5 выйдет в релиз, поддержка GTK3 будет постепенно свёрнута. Сейчас я оставляю за рамками тех. особенности разных версий. Речь о том, что нет смысла переводить проект на то, что больше поддерживаться не будет.
     
     
  • 3.76, Имя Моё (?), 16:18, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    gt оверквотинг удален Лучше уделите пару часов чтобы пропатчить myrulib и собр... большой текст свёрнут, показать
     
     
  • 4.80, ProfessorNavigator (ok), 18:52, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Лучше уделите пару часов чтобы пропатчить myrulib и собрать его под flatpak.

    Свою позицию по использованию flatpak/appimage/snap и других подобных вещей я уже не раз высказывал, в том числе и здесь. Она очень проста - не пользуйтесь ими ни при каких условиях. Если нужно объяснить, почему я так считаю - объясню.

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

    Прям миллионы?))

    > Как результат программа сможет работать под _всеми_ современными дистрибутивами.

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

     
  • 2.19, Аноним (19), 12:47, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    На обещания доната - обещают посмотреть
     
  • 2.47, Аноним (47), 22:48, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это какие такие огромное число LTS На вскидку во всех актуальных LTS для серв... большой текст свёрнут, показать
     
  • 2.49, Аноним (49), 03:01, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Обещать — не жениться.
     
  • 2.66, Личинка_Шигорина (?), 13:55, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Автор, как известно из предыдущих обсуждений его шедевров, считает пользователей (и вообще всех людей) хуже грязи и настаивает "жри что дают". Ну то есть типичный такой опенсорсный писатель, коммунист-мизантроп. Нет смысла тратить время на общение с ним и на его поделки, тем более снабжать его деньгами. Лучше задонатить, чтоб MyRuLib кто-нибудь оживил, а то неофициальная сборка уже наполовину нерабочая.
     
     
  • 3.77, Имя Моё (?), 16:24, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Поддерживаю Очень жаль, что MyRuLib вышел в тираж Было очень достойное ПО Н... большой текст свёрнут, показать
     
  • 3.81, ProfessorNavigator (ok), 18:57, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Лучше задонатить, чтоб MyRuLib кто-нибудь оживил, а то неофициальная сборка уже наполовину нерабочая.

    "Кто-нибудь" - это кто? А может самому сесть и разобраться? Нет? Сто тысяч отговорок? Ну ладно...

     
  • 3.82, Аноним (82), 20:17, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > типичный такой опенсорсный писатель, коммунист-мизантроп

    Типичный такой капиталист-жлоб:

    > Лучше задонатить, чтоб кто-нибудь

     

  • 1.5, Аноним (2), 09:53, 21/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нельзя ввести руками путь к папке с книгами. Исправляйте, пока никто не видел!

    Натравил на папку с ≈2 Гб книжек, программа пару минут трудилась, вроде бы создала коллекцию. В итоге — пусто… Венда, есличо.

     
     
  • 2.6, аноним_1990 (?), 09:54, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    там надо потыкать в интерфейс вверху и все появится
     
     
  • 3.8, Аноним (2), 10:01, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Очень информативный совет, спасибо.
     
  • 2.20, ProfessorNavigator (ok), 12:56, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Исправляйте, пока никто не видел!

    Смешно)) Оно так работает практически с самого начала, т.е. почти год уже. Более того, так и задумывалось. Чтобы не плодить лишние диалоги "Неправильный путь!" и не ловить ошибки несуществующих папок.

    > Венда, есличо.

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

     
     
  • 3.26, Аноним (2), 13:35, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Так что рекомендую переходить на Линукс.

    Ок, перешёл:
    > meson setup -Dbuildtype=release build
    > Run-time dependency gtkmm-4.0 found: NO (tried pkgconfig)

    Это мне теперь GTK4 из сорцов собирать? Не, пойду обратно.

     
     
  • 4.27, ProfessorNavigator (ok), 14:04, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Это мне теперь GTK4 из сорцов собирать?

    Не GTK4, а только gtkmm. И не обязательно собирать - можно например выбрать дистрибутив, где оно есть в репозитории уже собранное.

    > Не, пойду обратно.

    Up to you. Рекомендация на то и рекомендация: следовать ей или нет - полностью ваше дело.

     
     
  • 5.31, Аноним (2), 15:12, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Дело в том, что дистрибутив у меня уже выбран.
     
     
  • 6.86, Личинка_Шигорина (?), 09:52, 23/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Дело в том, что дистрибутив у меня уже выбран.

    Я ж говорил, что на людей автору проги плевать, "жрите что дают" вот его девиз. А кто-то ещё сомневается...

     
  • 4.29, eugener (ok), 14:48, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >> Run-time dependency gtkmm-4.0 found: NO (tried pkgconfig)
    >Это мне теперь GTK4 из сорцов собирать? Не, пойду обратно.

    Зачем из сырцов?  

    sudo apt install libgtkmm-4.0-dev


     
     
  • 5.32, Аноним (2), 15:13, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Спасибо, а я-то не догадался! Нет его у меня в репах (Kubuntu 22.04).
     
     
  • 6.65, Аноним (65), 13:51, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    https://github.com/ProfessorNavigator/mylibrary/issues/4
     

  • 1.9, Аноним (9), 10:13, 21/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Судя по интерфейсу, поколение джаваскрипт добралось до с++.
     
     
  • 2.50, Аноним (49), 03:06, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да нет, вроде обычный интерфейс опенсорсной программы — спроектирован программистом, выглядит соответственно. Что не так-то?
     
  • 2.57, Конь (?), 11:09, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Больше похож на делфи из двухтысячных
     

  • 1.10, А (??), 10:24, 21/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > Для пользователей Arch Linux в AUR доступен готовый пакет.

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

     
     
  • 2.21, ProfessorNavigator (ok), 13:01, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Не надо обманывать, это всего лишь PKGBUILD. К тому же оформлен не по гайдлайнам. В нём даже лицензия не указана.

    Кто знает, что такое AUR, и так поймёт, а остальным до лампочки. "Готовый пакет" употребляется исключительно потому, что в противном случае придётся расписывать, что такое AUR и как оно в арче вообще работает. А оно надо? Претензия по поводу лицензии принимается, поправлю.

     
     
  • 3.25, A (?), 13:34, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > "Готовый пакет" употребляется исключительно потому, что в противном случае придётся расписывать, что такое AUR и как оно в арче вообще работает. А оно надо?

    Кто знает, что такое AUR, и так поймёт, а остальным до лампочки.

     

  • 1.12, Аноним (12), 11:54, 21/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > создаёт собственную базу данных, не изменяя исходные файлы и не меняя их положения

    После Calibre это и правда убер-фича, надо будет посмотреть
    Вот всем Calibre нравится, но то что она тащит файлы к себе подбешивает, чо ей не работается с теми что на месте лежат?

     
     
  • 2.22, ProfessorNavigator (ok), 13:04, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Вот всем Calibre нравится, но то что она тащит файлы к себе подбешивает

    Скажу по секрету - это одна из причин возникновения данного проекта. И поэтому в описании сделан на этом акцент. Только - тс-с!))

     
     
  • 3.45, Анон из села Кукуево (?), 21:22, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Достойно! Вот прям реально вызывает уважение
    Обнаружил, что имеющийся софт ужасен и пошел написал свой
    Снимаю шляпу
     
     
  • 4.46, ProfessorNavigator (ok), 22:18, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Достойно! Вот прям реально вызывает уважение
    > Обнаружил, что имеющийся софт ужасен и пошел написал свой
    > Снимаю шляпу

    Спасибо на добром слове.

     
  • 2.78, mumu (ok), 16:31, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А ещё Calibre может изменять сами файлы книг (если не поставить галочку где-то глубоко в адвансед опциях, снятую по умолчанию). И если этого не знать, можно рассинхровать себе всю библиотеку к чертям. И автор калибры считает это совершенно нормальным поведением и не хочет исправлять.
    Про переименование файлов (и обрезание после этого длинных имен) - это вообще отдельная песня.
    В общем там эталонный пример сказочного индийского разработчика.
     

  • 1.24, Аноним (24), 13:34, 21/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А в итоге, разработка на каком сервере выполняется: github или gitflic? Какой является зеркалом?
     
     
  • 2.28, ProfessorNavigator (ok), 14:22, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > А в итоге, разработка на каком сервере выполняется: github или gitflic? Какой
    > является зеркалом?

    gitflic скорее используется, как зеркало и для экспериментов, github - как "парадный" репозиторий. Тем не менее, оба репозитория полностью равноценны, отличия лишь в частностях README (и там, и там, если что, есть как русская версия, так и английская). Разработка ведётся на локальной машине, в репозиторий код попадает, когда есть уже определённая степень готовности к релизу - когда начинается активное тестирование. Тогда в обоих репозиториях создаются ветки testing, и в них идёт устранение выявленных недочётов. Как только код готов к релизу, ветка testing сливается с master и создаётся тег. Пока схема работы такая. Когда (если) над проектом будет работать кто-то ещё, кроме меня, тогда естественно будут внесены изменения. По согласованию со всеми участниками.

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

     

  • 1.30, Аноним (30), 14:53, 21/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    @ProfessorNavigator

    А авторы как-то хитро обрабатываются, или всех Пушкиных А.С. в одну кучу. Я не наезжаю, я знаю что в FB2 только ФИО, и нет возможности различить однофамильцев, но может вы что-то хитрое замутили.

     
     
  • 2.35, ProfessorNavigator (ok), 15:43, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > А авторы как-то хитро обрабатываются, или всех Пушкиных А.С. в одну кучу.
    > Я не наезжаю, я знаю что в FB2 только ФИО, и
    > нет возможности различить однофамильцев, но может вы что-то хитрое замутили.

    Пытался "замутить хитрое", но не вышло. Поэтому при создании коллекции там, где нет чёткого разделения, оно обрабатывается в порядке "ФИО", т.е. программа считает, что первой идёт фамилия, дальше - имя, потом отчество (ну или их английские аналоги, surname, first name, second name). Алгоритм же поиска работает и вовсе просто. При переключении коллекции или запуске программы база данных в параллельном потоке загружается в вектор. При команде на начало поиска, когда база полностью загружена (иначе идёт ожидание полной загрузки), она копируется в новый вектор. После чего из него удаляется всё, что не соответствует критериям поиска, и он идёт на вывод, как резульат. При этом ФИО в базе записаны одной строкой. Т.е. программа берёт введённую на поиск фамилию и проверяет, есть ли она в данной строке, в любом её месте. Если нет, запись удаляется. Затем аналогично с именем и т.д. Иными словами, в принципе вы можете набрать всё в поле "Фамилия" (или любом другом) и получить аналогичный раздельному вводу результат. Но лишь в том случае, если порядок ввода совпадает с порядком в записи в базе данных (строчные буквы или заглавные - не важно, в процессе поиска всё переводится в строчные).

     
     
  • 3.39, еще анон (?), 17:42, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Проще и эффективней в новый вектор добавлять найденные записи, а не удалять те, что не совпадают по критерию поиска.
     
     
  • 4.41, ProfessorNavigator (ok), 18:39, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Проще и эффективней в новый вектор добавлять найденные записи, а не удалять
    > те, что не совпадают по критерию поиска.

    Как уже писал выше - программа считает, что первой в записи в базе идёт фамилия автора. Но в реальности это далеко не всегда так. В случае с fb2 книгой, там может быть всё, что угодно, например - имя. Всё зависит от того, кто и как оформлял fb2 файл. А пользователь ввёл для поиска фамилию. Которая находится в конце записи, а значит книга в выдачу поиска уже не попадает. Или нужно проводить поиск отдельно по фамилии по всей строке с ФИО. Затем отдельно по имени, и т.д. Т.е. делать несколько переборов базы в любом случае (или строки ФИО, что в общем-то одно и то же). А если в базе 500000 книг или больше? Можно, конечно, оставить только одно поле ввода "Автор", и свалить на пользователя выбор последовательности: "ФИО", "ИОФ" и т.д. Но это уже, по-моему, неправильно. Пользователь совершенно не обязан знать, что и как Вася Пупкин ввёл в поле ФИО при конвертации своего бессмертного творения в fb2. И проходов по базе всё равно будет больше одного. Если же в любом случае нужно делать несколько переборов базы, то разумно с каждым следующим проходом уменьшать количество перебираемых элементов - удалять то, что не соответствует критерию предыдущего перебора.

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

     

  • 1.34, Аноним (34), 15:26, 21/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    https://github.com/petrovvlad/freeLib
     
  • 1.36, Аноним (-), 16:20, 21/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    GPLv3, GTK4, C++ - автору уважение и зачёт.
     
     
  • 2.67, ProfessorNavigator (ok), 13:55, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо.
     

  • 1.38, adolfus (ok), 17:37, 21/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Собрал и установил.
    Ни в одно из полей ввода невозможно ничего ввести с клавиатуры, только копипасту можно сбросить. Соответственно, удалил.

    $ uname -a
    Linux 6.5.10-100.fc37.x86_64

     
     
  • 2.42, ProfessorNavigator (ok), 18:52, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Собрал и установил.
    > Ни в одно из полей ввода невозможно ничего ввести с клавиатуры, только
    > копипасту можно сбросить. Соответственно, удалил.
    > $ uname -a
    > Linux 6.5.10-100.fc37.x86_64

    Скорее всего проблема в сборках gtk и gtkmm в дистрибутиве. Я проверю. Если правильно понимаю дистрибутив - Федора 37?

     
     
  • 3.55, adolfus (ok), 09:36, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да, федора 37.
     
     
  • 4.59, ProfessorNavigator (ok), 12:43, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Да, федора 37.

    Федору 37 добыть не удалось - я так понимаю, что она уже всё. В 39 на виртуалке работает нормально. В общем проблема, как и говорил, не в MyLibrary. И скорее всего даже не в gtk, а во взаимодействии с видеодрайвером. Запустите в консоли и посмотрите, что выдаёт. Кроме того, попробуйте запустить с GSK_RENDERER=cairo ($ GSK_RENDERER=cairo mylibrary). Если запустится и будет работать нормально - значит проблема в opengl скорее всего. Тогда вам уже нужно смотреть - какая видеокарта, какой видеодрайвер стоит, как устанавливался, есть ли все обновления и т.д.

     
  • 4.60, ProfessorNavigator (ok), 12:57, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Да, федора 37.

    И да, если версия gtkmm-4.8.0 - могут быть проблемы. Если для вас версия Федоры не принципиальна - попробуйте перейти на более новую. Там должна быть версия gtkmm поновее, в ней по идее проблем быть не должно.

     

  • 1.40, ИмяХ (ok), 18:11, 21/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Чем оно лучше обычной папки с файлами?
     
     
  • 2.43, ProfessorNavigator (ok), 19:34, 21/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если вам удобнее пользоваться папкой с файлами - пользуйтесь, никто худого слова не скажет.
     
  • 2.68, Аноним (65), 14:10, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Чисто технически есть плагины для TC/DC, позволяют организовать вывод в колонки, поиск. Но без базы.
    Думал попробовать SQLite заюзать или какой-то способ кэширования, но ниасилил.
     

  • 1.48, Аноним (48), 02:52, 22/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Очень не хватает деб-файла или даже ppa (
     
     
  • 2.62, ProfessorNavigator (ok), 13:01, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Очень не хватает деб-файла или даже ppa (

    Их есть у меня)) Правда, только для debian sid и только deb пакет. Ну или могу сбросить папку debian для самостоятельной сборки пакета. Если нужно - пишите на почту. Свой репозиторий поднять у меня возможности, увы, нет.

     
     
  • 3.71, Аноним (71), 14:48, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > или могу сбросить папку debian для самостоятельной сборки

    Чисто технически это дело не особо хитрое по крайней мере в этом случае небольшого приложения. (Но сам запускаю скриптом, mainWindow.css немного подправлен.)

    А если создать подкаталог, например, "package", и положить туда вашу папку debian и PKGBUILD? (Подкаталог, чтобы майнтейнерам в будущем не мешало делать по-своему, как принято в конкретном дистрибутиве.)

     
     
  • 4.79, ProfessorNavigator (ok), 16:51, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Чисто технически это дело не особо хитрое по крайней мере в этом
    > случае небольшого приложения. (Но сам запускаю скриптом, mainWindow.css немного подправлен.)

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

    > А если создать подкаталог, например, "package", и положить туда вашу папку debian
    > и PKGBUILD? (Подкаталог, чтобы майнтейнерам в будущем не мешало делать по-своему,
    > как принято в конкретном дистрибутиве.)

    Да, я уже думал об этом. Скорее всего так и сделаю. Хотя для Арча - не обязательно. Я всё равно сам в AUR PKGBUILD поддерживаю. Но у меня где-то ещё спек для альтовского Сизифа лежал. Только его уже править надо.

     
  • 3.94, Аноним (12), 09:35, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В принципе если есть debian/, то можно в несколько движений запилить ppa для тех версий Ubuntu где зависимости на месте(я так понимаю из-за версии GTK текущий LTS не прокатит, а вот для дев-версии и будущего LTSа можно и сделать)

    Я бы положил debian/ в дерево исходников на гитхабе, что бы желающие могли либо себе собрать, либо сделать ppa

     
     
  • 4.95, ProfessorNavigator (ok), 22:14, 25/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Я бы положил debian/ в дерево исходников на гитхабе, что бы желающие
    > могли либо себе собрать, либо сделать ppa

    Да, сделаю в следующем релизе. Заодно ещё наверно спек выложу для Альтовского Сизифа.

     
  • 2.93, bicyclist56 (ok), 07:32, 24/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Весь процесс создания DEB пакета описан здесь - https://debian-net-install.blogspot.com/2023/12/mylibrary.html
     

  • 1.53, Второй из Кукуева (?), 08:41, 22/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кстати, вопрос
    Есть ли объединение одной книги на разных языках?
    Ну то есть вот есть у меня в коллекции некая книга на чешском, российском и польском(Швейк конкретно с таким набором языков у меня) и она имеет свое название  на каждом языке, у нее имя автора на каждом языке свое
    Можно ли сказать "Вот эти три книги это одна книга на разных языках"?
    Просто у меня библиотека имеет много подобных книг, бывает от 2 до 7-8 языков разных для одной книги и я пока просто выкручиваюсь приводя автора во всех файлах к его имени на его основном языке, что бы было проще искать
    Было бы удобно иметь возможность задавать что вот тут переводы и просто получать выбор типа "На каком языке сегодня надо?"
     
     
  • 2.56, adolfus (ok), 09:59, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да, вопрос хороший.
    Так же бывает, что как-бы одна книга, но разных изданий. Тот же Кнут или Корн.
    Обычно такое в отдельном каталоге обитает.
     
  • 2.63, ProfessorNavigator (ok), 13:14, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Было бы удобно иметь возможность задавать что вот тут переводы и просто
    > получать выбор типа "На каком языке сегодня надо?"

    Такой возможности нет. Но в принципе - идея здравая. Посмотрю, что можно сделать.

     
     
  • 3.70, Аноним (71), 14:37, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В смысле - расширить сохраняемую в базе информацию за счёт года издания и переводчиков?
    Второе по идее можно просто в одну строку сохранять и показывать, через ту же запятую.
     
     
  • 4.72, ProfessorNavigator (ok), 15:40, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > В смысле - расширить сохраняемую в базе информацию за счёт года издания
    > и переводчиков?
    > Второе по идее можно просто в одну строку сохранять и показывать, через
    > ту же запятую.

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

     
     
  • 5.88, Аноним (71), 17:37, 23/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если получится, можно сделать это опциональным?
    Хотелось бы иметь возможность и видеть как есть, в смысле три файла физически - три записи видно.

    Поле с переводчиком(ами) тоже было бы удобно: помимо собственно различий в переводе, бывает, что в некоторых переводах текст сокращён.

    Дата/издаьтельство тоже могут быть полезны.
    Помню в давние времена пубертата перечитывая один из романов Чингиза Абдуллаева обнаружил отсутствие двух важных для контекста параграфов, причём выкинутых с грубой попыткой согласовать текст, - в издательстве, похоже, кто-то упоролся. Книги, правда, были ещё бумажные, но не суть.

     
     
  • 6.89, ProfessorNavigator (ok), 18:45, 23/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Если получится, можно сделать это опциональным?

    А по другому и не выйдет. Если бы все строго следовали стандартам при оформлении книг, ещё можно было бы попробовать делать в автомате. Но с тем бардаком, что творится с fb2 книгами - оно просто нереально. Плюсом - pdf и djvu вообще не предполагают хранения подобной информации. В pdf ещё есть варианты, но djvu - это по сути файл, в который упаковали несколько картинок-изображений страниц, и всё. Поэтому, если и реализую, то это будет только ручное объединение нескольких записей базы в одну. Кроме того, тут скорее всего придётся капитально переделывать формат базы, поэтому будет это скорее всего нескоро - возможно придётся ещё какую-нибудь программу сделать для конвертации базы в новый формат. Да и сам формат нужно продумать, чтобы потом не менять по десять раз для каждого нововведения.

    > Поле с переводчиком(ами) тоже было бы удобно: помимо собственно различий в переводе,
    > бывает, что в некоторых переводах текст сокращён.
    > Дата/издаьтельство тоже могут быть полезны.

    Как доп. информацию - возможно сделаю. Но не в основной вывод поиска, иначе слишком перегруженным получится. Скорее всего, как пункт в выпадающем меню. Что то типа "Просмотреть полную информацию о книге".

     
  • 6.90, Анон из села Кукуево (?), 20:50, 23/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да, про поле для переводчиков поддержу
    Например русские пересказы Толкина это просто ужас и нужно видеть кто там под рукой
     
  • 2.69, Аноним (65), 14:14, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Год издания или язык в fb2 иногда не указывают совсем (там в тегах вообще бардак нередок, к сожадению).
     
     
  • 3.74, ProfessorNavigator (ok), 15:58, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > там в тегах вообще бардак нередок, к сожадению

    Это да, я чего только там не видел. Хотя например для LibreOffice существует неплохое расширение, позволяющие сконвертировать файл в fb2 формат.

     

  • 1.54, Аноним (54), 08:54, 22/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Похоже на мою курсовую 15 летней давности )
     
     
  • 2.58, пох. (?), 11:16, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не сдал?

     

  • 1.61, Аноним (61), 13:00, 22/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Программа - просто ужас как внешне так и по функционалу Автору не хватает очень... большой текст свёрнут, показать
     
     
  • 2.75, ProfessorNavigator (ok), 16:18, 22/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Программа - просто ужас как внешне так и по функционалу. Автору не
    > хватает очень многих знаний и узок кругозор в наш век Искусственного
    > интеллекта и связанных с ним технологий.

    Спасибо, посмеялся))

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

    Спасибо.

    > И совет автору - С++ - не лучший язык для создания GUI
    > и работы с базfми данных с точки зрения быстроты разработки и
    > последующих модификаций.
    > Для быстрого создания и модификации GUI и работы с Базами Данных есть
    > Lazarus.

    Любая база данных - это просто файл, оформленный по определённым правилам. Работа с файлами по большому счёту везде одинакова, независимо от ЯП - всё упирается в аппаратную часть. Более того, в целом совершенно не важно, какой ЯП вы используете - конечный результат всё равно будет в виде машинных инструкций. Которые в свою очередь не зависят от ЯП - всё снова упирается в аппаратную часть. С++ выбран потому, что он достаточно гибок и универсален: вы из него можете напрямую использовать большинство библиотек на С, делать ассемблерные вставки. А больше ничего и не нужно. При этом в самом языке есть всё, что нужно для нормальной работы с чем угодно.

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

    Уверены?)) Попробуйте пропарсить библиотеку гигабайте на 400, включив 8+ потоков обработки.


     
     
  • 3.83, Аноним (61), 00:50, 23/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Нормальный каталогизатор минимум должен уметь выполнить такой запрос по поиску... большой текст свёрнут, показать
     
     
  • 4.87, ProfessorNavigator (ok), 12:43, 23/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну удачи такой найти Если найдёте - расскажете В домашней библиотеке Серьёзно... большой текст свёрнут, показать
     

  • 1.91, bicyclist56 (ok), 03:38, 24/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Спасибо автору. Функционала для чтения книг из LibRusEc (архивы объемом 326,2 ГиБ) для меня достаточно. Wine мне больше не требуется, держал из-за MyHomeLib, в основном.
    В Debian 12 Net Expert Install LXDE, с использованием --no-install-recommends, без проблем установил из исходников. Затем собрал DEB пакет, из него установил программу в такой же, но "чистой" ОС, работает. Обращайтесь, кому нужен.
     
     
  • 2.92, bicyclist56 (ok), 06:52, 24/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Весь процесс описан здесь - https://debian-net-install.blogspot.com/2023/12/mylibrary.html
     

  • 1.96, Аноним (-), 21:16, 26/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    freeLib гораздо более зрелым и симпатичным на линуксах является
    https://github.com/petrovvlad/freeLib

    в AUR — http://aur.archlinux.org/packages/freelib-git

     
  • 1.97, Аноним (97), 19:45, 27/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот, вот это то что я прям искал, только для своих чертежей.

    Автор, спасибо, обязательно скачаю и буду изучать

     
  • 1.98, Аноним (98), 05:37, 05/01/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    че то у меня под linux не захотело запускаться

    хоть readme написанный на руском очень мило ,но инструкция явно не полная, команды не работают в распакованном архиве программа не запускается

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру