Состоялся релиз каталогизатора домашней библиотеки MyLibrary 3.2. Код программы написан на языке программирования С++ и доступен (GitHub, GitFlic) под лицензией GPLv3. Графический интерфейс пользователя реализован с помощью библиотеки GTK4. Программа адаптирована для работы в операционных системах семейства Linux и Windows. Для пользователей Arch Linux в AUR доступен готовый сценарий сборки пакета. Для пользователей Windows доступен экспериментальный инсталлятор...Подробнее: https://www.opennet.me/opennews/art.shtml?num=62751
Оставайтесь, будете у нас главным инженером^Wдизайнером!
По-моему этот софт создан не для пользователей, и даже не для самого автора, а для того, чтобы троллить опеннет.
> По-моему этот софт создан не для пользователей, и даже не для самого
> автора, а для того, чтобы троллить опеннет.Не для этого есть клон вторых героев.
> Не для этого есть клон вторых героев.А для чего?
> По-моему этот софт создан не для пользователей, и даже не для самого автора, а для того, чтобы троллить опеннет.Ага, мне вот заняться больше нечем, только вас троллить ;) Мир не вращается вокруг opennet и его обитателей.
Не Опеннет, а вообще всё СПО Сообщество. Это единственное СПО (не путать с "опенсорсом"), созданное в России за последние 30 лет.
>СПО (не путать с "опенсорсом")Среднее профессиональное образование?
Нет, это Сельское Потребительское Общество.
>>СПО (не путать с "опенсорсом")
> Среднее профессиональное образование?Задайте вопрос организаторам конференции "СПО в высшей школе", с какой целью они вносят путаницу 30 лет.
Термин применил ты и вопрос был задан тебе, при чем тут какие-то немцы и конференция? Ты хорошо себя чувствуешь?
> Термин применил тыНапоминаю:
"СПО Сообщество. Это единственное СПО (не путать с "опенсорсом")".
> и вопрос был задан тебе
Не вопрос, а подлая левая софистика, выдёргивание из контекста.
>> СПО (не путать с "опенсорсом")
> Среднее профессиональное образование?
> при чем тут какие-то немцы и конференция?Я поступил с твоей писаниной подобным образом, то есть отзеркалил.
> Ты хорошо себя чувствуешь?
Ты посмотрел в зеркало, увидел там себя и описал себя. Так что иди к доктору. Не наук, как принято у программистов, а к своему обычному.
что есть для каталогизации media контента? есть идеи? я что-то так и не нашел... нужен веб клиент к полнотекстовым поиском по результатом и автоматическое создание каталога сканом директорий
Kodi с плагином для веб управления?
> Kodi с плагином для веб управления?Который ваш плей-лист себе на сервер сливает? Спасибо, не нужно. Хотя ... вы же для всех купленных медиа кассовые чеки сохранили?
Любой веб тебя будет так или иначе сливать. Пора уже привыкнуть.
Как будто не веб не может сливать.
Как это вообще связано? Веб - это всего лишь вариант юзерского интерфейса. Запускай веб у себя на локалхосте и он не сможет ничего слить. В то же время приложения в твоём айфончике веба не имеют, но сливают очень хорошо.
Так возьми и закомментируй код который сливает плейлист.
Так там нет функции "слить на сервер". Есть только "скачать обложку". ;)
я не нашёл, запилил своё. вряд ли ты появится что-то удобоваримое из готового
Avid софт глянь
тот самый Avid который монтажка? а можно подробнее какой именно подукт имеешь ввиду?
Зачем ты его собираешь этот медиа?
Накопительство, синдром Плюшкина.
Человек живёт больше 12 лет на белом свете. Привык, что своё лучшее арендованного...
Jellyfin?
> Jellyfin?протестирую, спасибо
https://archlinux.org/packages/?q=mediaelch
> https://archlinux.org/packages/?q=mediaelchспасибо, гляну
Я долго мучился- программу myrulib прекратили развивать,пользовался не официальным портом . И только недавно узнал что (не хотел переиндексировать и создавать новую бд ) freelib полностью совместима по БД .Это счастье,прошлый раз (лет 10 назад) индексация у меня была 2 суток....да да неполная копия известного сайта
Ну так попробуйте MyLibrary - вдруг понравится)) Индексация архивов одной библиотеки, не будем называть, занимает часов 5. На 8 потоках, если библиотека лежит на HDD. На SSD будет быстрее.
С этими индексация мне интересно - без атрибута nocow btrfs не помрёт? Есть у btrfs глюк - не всегда на созданный файл выставляется атрибут nocow.Бесит ,не смотря на атрибут в каталоге - бывает не срабатывает на созданный файл.А раньше btrfs от мелкоиндексируемых файлов бд помирал при больших объемах индексации.
Один вопрос — как такой ФС вообще можно пользоваться?
> Один вопрос — как такой ФС вообще можно пользоваться?Осторожно пользоваться.Хотя тут есть люди которые говорят что фс очень хороша- мы не умеем её готовить. Ну в рэйде то понятно - даже данные может восстановить фоном,а с однодисковой конфигурацией не все хорошо, утилиты обслуживание подводят.С методанными глюк нехватки места починили,конвертированая фс вроде тоже не разваливаться (починили 5 лет назад) при условии что конвертация удалась (не надо включать упаковку мелких файлов,80% что конвертация не получится) .А вот утилиты по проверке- у меня падали даже при исправной фс при условии что сжатие включено.А так основной глюк в однодисковой конфигурации (что я сталкивался )-режим RO из за Бад блока который не чиниться, может сейчас утилиты подправили и они могут убрать в lost+Found повреждённый файл .
> С этими индексация мне интересно - без атрибута nocow btrfs не
> помрёт? Есть у btrfs глюк - не всегда на созданный файл
> выставляется атрибут nocow.Бесит ,не смотря на атрибут в каталоге - бывает
> не срабатывает на созданный файл.А раньше btrfs от мелкоиндексируемых файлов бд
> помирал при больших объемах индексации.По идее помереть не должен. На каждый файл делается 2 прохода записи в БД. Один - запись размера, второй - запись метаданных, извлечённых из файла. При этом, если файл - архив, то записывается информация сразу обо всём архиве. Т.е., если в нём 3000 книг, то сразу о 3000 книг. Но, кстати, спасибо за подсказку. С этой точки зрения я ещё на программу не смотрел. Постараюсь оптимизировать количество проходов записи.
> Индексация архивов одной библиотеки, не будем называть, занимает часов 5А сколько книг в этой библиотеке? Хотя бы примерно.
> А сколько книг в этой библиотеке? Хотя бы примерно.Где-то 650 тысяч.
> Где-то 650 тысяч.А на что уходит основное время при сканировании?
> А на что уходит основное время при сканировании?Там zip архивы. Самая долгая часть - извлечение файла. Плюс, MyLibrary хранит хеш-суммы всех файлов в базе (не книг, а именно файлов, т.е. для одного архива будет одна хеш-сумма независимо от количества книг в нём) для контроля изменений в коллекции. Т.е. сначала архив хешируется, потом начинается его чтение. Два прохода по каждому файлу. Избежать этого пока не удаётся. Можно было бы заморочиться и написать свой архиватор например для zip, чтобы прям во время распаковки считать и хешсумму. Но тут пришлось идти на компромисс - тогда пришлось бы писать то же самое для всех поддерживаемых типов архивов. А это не то чтобы невозможно, просто очень много времени займёт. У меня чтобы отладить небольшой ускоритель чтения чисто для zip архивов ушла чуть ли не неделя - много нюансов. Немного это нивелируется тем, что в том же Linux при чтении файла с диска он попадает в кеш ОС, поэтому второй проход по файлу происходит обычно в разы быстрее.
> Там zip архивы. Самая долгая часть - извлечение файла...Это в один поток?
> Это в один поток?Принцип работы такой: "один файл - один поток". Плюс для архивов в последних версиях программы я добавил ещё один дополнительный поток обработки книг. Там принцип работы следующий: книга извлекается из архива, после чего извлечение из неё метаданных выводится в отдельный поток, чтение же архива продолжается. Если к моменту, когда закончится извлечение следующей книги из архива, поток обработки метаданных не завершит работу, то идёт ожидание его завершения.
Вопрос только зачем каталогизировать домашнюю библиотеку? Через несколько лет полностью выкинешь заненадобностью. А перечитывать уже однажды прочитанное в современном мире непозволительная роскошь по времени.
Дайте угадаю: музыку и фильмы исключительно со стриминговых сервисов слушаете/смотрите?
Ну почему же, есть у меня на винте и музыка и фильмы. Скинул фильмы в общую папку, отсортировал по алфавиту, всё. Вряд ли найдутся анонимы, которые каждый фильм на своём компе будут засовывать в случайную директорию. Или будут добавлять readme-файлы, с описанием про что фильм, списком актёров и номинации на премии.
Ты о многом не догадываешься про людей.
Вопрос, который мне частенько задают - "а как найти конкретный файл на рабочем столе\в моих документах, ведь их так много, что все иконки теперь не вмещаются".
И да, они кладут все вместе прям на рабочий стол - и документы, и видео, и картинки, и мемасики, и прочие файлы и 10-30 тысяч файлов для меня уже давно не редкость увидеть.
{Facepalm}
Удачи вам найти что-нибудь в архиве флибусты, например. И даже если разложить по папкам типа автор/книга, как искать по жанрам? по сериям?
Ну книги действительно есть смысл каталогизировать только библиотекам. Фильмы, музыка, документы - понятно. А книги - ну прочитал и пошел дальше. Чё теперь, открывать в каталоге и умиляться, что ты её прочитал? Если нужны закладки в книгах (например, проф. литература/справочники) - да господи, любая читалка это умеет. Пдф это умеет. И таких книг обычно не больше 10 штук за жизнь.
А если у меня МНОГО книг? Посмотрите на статистику скачивания архивов флибусты/либрусека.
Кстати, некоторые книги перечитываются и по два, и по три раза.
да уж, сравнить флибусту с домашней библиотекой сможет только аноним
Прикиньте, архив флибусты может лежать локально.
от этого он стал домашней библиотекой?
Да. Я подключаюсь к нему так же, как к флибусте, есть OPDS, чем не библиотека?
Ага, с youtube.
Если постоянно слушать одну и туже, пускай самую любимую композицию, то от неё быстро затошнит. Поэтому, в этом деле, как и вообще по жизни, очень важно разнообразие. Я вот слушаю радио: курс, 101, рокфм, чего и вам советую. Иногда слушаю через ютуб, потому что быстро находишь нужное.
> А перечитывать уже однажды прочитанное в современном мире непозволительная роскошь по времени.Я всегда много читал. И могу сказать, что сегодня в плане художественной литературы - полный швах. Особенно с русскоязычной. Да и с научной/научно-популярной - тоже не ахти. Это, конечно, только мой личный опыт, но, думаю, многие со мной согласятся. Так что - не зарекайтесь)) Ну и некоторые вещи стоит иногда перечитывать. По мере накопления жизненного опыта взгляды на многое меняются, иногда - на диаметрально противоположные. И бывает интересно на некоторые произведения взглянуть под другим углом. По итогу что-то, что раньше казалось интересным, отправляется в корзину, а другие вещи наоборот начинают играть новыми красками.
Почему вы не поменяли взгляд на дизайн и ux и почему не осилили современные книги по ним?
> дизайнВы сначала дайте определение - что это)) Я, например, знаю понятие "эргономика". Это, между прочим, вполне серьёзная научная дисциплина, вплотную заваязанная на антропологию. А вот "дизайн" - это просто про внешний вид. Т.е. нравится/не нравится. По этому критерию сколько людей, столько и мнений. Ну и в плане "дизайна" я вам дал все возможности для творчества. Открывайте окно настроек и вперёд, настраивайте до посинения))
В книжке про дизайн (хорошей) написано что такое дизайн. Вот вы её не прочитали и не знаете. А если вы хотите сказать что дизайн это буржуазный пережиток и что у рабочего класса никакого дизайна быть не может, то да это так.
> А если вы хотите сказать что
> дизайн это буржуазный пережиток и что у рабочего класса никакого дизайна
> быть не может, то да это так.Я хочу сказать, что у нас с вами разные представления о красоте, только и всего. Для меня всё, что функционально, то и красиво. Если мы рассматриваем разные технические вещи. И если бы вы прошли жизненный путь, аналогичный моему, то вы на это смотрели бы точно так же или близко к тому.
В целом же дизайн - действительно "буржуазный пережиток". Капитализм построен на внутривидовой конкурентной борьбе за ресурсы. И в ней нет никаких ограничений и правил. Как говорил один мой знакомый, если вы не готовы продавать воду собственной матери, умирающей от жажды, то вам не нужно идти в бизнес. Человек обладает самым сложным и функциональным мозгом из ныне известных. Это огромное преимущество, но и одновременно - уязвимость. Потому что на сознание людей можно воздействовать - создавать для них картину мира, выгодную лично вам. И весь "дизайн" как раз на это и направлен - его единственная цель создать у вас выгодное для продавца впечатление. Чтобы легче было впарить вам тот или иной товар. Будь то материальные или нематериальные сущности. Чтобы на вас заработать. Вы согласны быть чужим кормом?
Я отнюдь не против красоты. Но. Вещь должна быть в первую очередь функциональной, а потом уже всё остальное. Если например та или иная программа красиво выглядит, но при этом не выполняет возложенные на неё задачи - то зачем собственно она нужна? Ну и вот вам тест для наглядности. На картинке 2 инструмента. https://cloud.mail.ru/public/23jf/pwom1gkJN
Какой выберете - правый или левый?
дизайн должен эффективно исполнять заложенные в него функции. если он просто красивый но не эфективный - это уже творчество)) ну это так - к слову.
> дизайн должен эффективно исполнять заложенные в него функции.Ну так это уже не дизайн, а та самая эргономика и есть))
> если он просто красивый
> но не эфективный - это уже творчество))Ну как сказать... Вот видите картинку на скриншотах, ту, что фоном идёт? Казалось бы, неэффективная, всякие та эльфы/гномы/драконы. Однако на самом деле - это не совсем так. Любое творчество несёт в себе смысловой посыл. Причём, зачастую о нём даже сам автор не догадывается. Весь вопрос в содержании этого посыла. Сегодня большинство того, что понимается под понятием "дизайн" доносит лишь один смысл: "Купи меня! ДОРОГО!!!"
Восприятие прямо зависит от наглядности, т.е. дизайна. Словесный понос про красоту даже читать не стал.
> Восприятие прямо зависит от наглядности, т.е. дизайна.Мне нет никакого дела до "восприятия" вами моей программы)) Уж простите за прямоту. Я не пытаюсь её вам продать/впарить. Но это не значит, что мне плевать на ваше мнение. Нет, отнюдь. Меня вежливо попросили в прошлый раз сделать настройки внешнего вида - я сделал. Попросили добавить обработку метаданных в djvu - тоже сделал.
Я до вас пытаюсь одну простую мысль донести: критика должна быть конструктивной. Если что-то не нравится - скажите нормально что именно и почему. При этом другой человек тоже имеет свой взгляд на такие вещи, и его нужно убедить, что именно ваша точка зрения - верная. А ваше "мне не нравится"... Ну OK: "Ваше мнение было очень ценно для нас. Можете общаться с нашим автоответчиком, пока он не сломается".
Оба хлам. У меня и колун, и топор фискарс, и там дизайн это именно дизайн — и красиво, и удобно.
> Оба хлам. У меня и колун, и топор фискарс, и там дизайн
> это именно дизайн — и красиво, и удобно.Да-да. Только тот, что справа, прошёл полторы зимы. В режиме "колем дрова КАЖДЫЙ день". Часа по 4. И ни разу не подвёл. Причём, несмотря на брутальный вид, пользоваться им было удобно. Потому что подгонялось прям под руку на месте. А вид у него такой, потому что времени нормально его делать просто не было. Предыдущая рукоятка сломалась в феврале, в тридцатиградусные морозы. И вопрос стоял очень просто: либо хоть какая-то рукоятка, либо через три дня печку топить будет нечем, и останется только тихо замерзать насмерть. Ну а летом не стал доводить уже чисто из принципа, как говорится, "это не баг, это фича" ;)
А насчёт того, что слева, вы абсолютно правы. После первой же колки дров у него рукоятка пошла трещинами. Думаю, пережил он ещё пару колок, а потом "крякнул". Хотя того, кто его делал, я просил туда просто трубу приварить металлическую. Но нет. Отдали "столяру, суперпрофессионалу", ага. Только столяр тот был "профессионалом" как раз по дизайну - всякий там декор и прочие резные завитушки. Дрова же при этом ни разу в жизни, видимо, не колол. Особенно зимой, в ситуации, когда от печки напрямую зависит выживание.
Дизайн это обобщённое название направлений проектирования, в том числе "эргономики" и "технической эстетики" (которых в вашем софте, уважаемый профессор, несколько не хватает).
> Дизайн это обобщённое название направлений проектирования, в том числе "эргономики" и "технической
> эстетики" (которых в вашем софте, уважаемый профессор, несколько не хватает).А я и не утверждал, что всё идеально, и вообще - вон там HIG от "великого меня", все срочно побежали переделывать свой софт. Просто программе уже больше 2 лет. Периодически я публикую здесь о ней новости. И под каждой новостью начинается одно и то же: "Дизайн г-но!" Задаёшь вопрос: "Что конкретно не так и почему?" А в ответ в лучшем случае: "Мне не нравится!" В худшем - вообще тишина. Ну и? В общем всё, как у "фотографов" - когда по делу сказать нечего, то начинается "горизонт завален".
Да это понятно, ждать на опеннете дельных советов как поправить (или тем паче пулл-реквестов) абсолютно бессмысленно, к сожалению
> Да это понятно, ждать на опеннете дельных советов как поправить (или тем
> паче пулл-реквестов) абсолютно бессмысленно, к сожалениюДа я даже советов не жду. Тут людям бы для начала собственные мысли научиться чётко формулировать...
> Да и с научной/научно-популярной - тоже не ахти. Это, конечно, только мой личный опыт, но, думаю, многие со мной согласятся.Согласен. С научной - не "ахти", а полная катастрофа. Издательства завалены бессмысленными статьями на превосходном английском, сгенерированными ИИ. Впрочем, с содержимым интернета та же ситуация. Еще год назад 98% чепухи, сейчас - 100. Выдача поисковиков полностью отравлена бессмысленными публикациями с перекрестными ссылками.
> Выдача поисковиков полностью отравлена бессмысленными публикациями с перекрестными ссылками.Да, увы. Особенно большие проблемы начинаются тогда, когда ищешь что-то реально серьёзное. Что поделаешь - это кризис капитализма, как общественно экономической формации. Выражается он в том числе вот в таком виде: научные публикации пишутся для получения гонораров, а не потому что есть, что сказать. Сайты живут за счёт рекламы, поэтому в сети плодятся бесчисленные копии всякой лабуды, лишь бы зашли.
Книги не только художкой бывают. Если глянуть в научную и техническую литературу, то там будут терабайты книг, причем уникальные и охватывающие буквально всё: начиная с простеньких на тему завязывания узлов, заканчивая расчётом и проектированием микроэлектроники.
И ты конечно же их все скачал. Чтобы никогда не читать из собственных файлов, а только из поиска гугла/яндекса.
Сарказм непонятен. Да вот пример. Посмотрите переводные и русскоязычные книги по нейронным сетям. Есть всего 3 (!) вменяемых источника. Всего 3 из десятков наименований!
Recoll (для локального индекса и поиска на большой библиотеке) намного лучше Гугла. Гугл совершенствует алгоритмы, но на качество исходного материала повлиять не может. А Паутина сегодня больше похожа на корпоративный прилавок или свалку, чем на публичную библиотеку.
Внезапно в библиотеке может быть не только беллетристика.Мануалы, стандарты, справочники, я устану перечислять.
И да, их следует именно держать локально, птушо вендоры - ондоны и раз в два три года либо ради кально перепахивают свой сайт (ну надо ж новому поограмисту продемонстрировать свою удаль) либо вообще удаляют старое (по их мнению)
Да и либген, как показали последние события, не вечен. Если кто-то знает его новый адрес, а не псевдо "зеркала" - делитесь плз вам многие скажут спасибо.
Зачем тогда подкладывать свою библиотеку под непонятный "вендор" лок? Плюс тот же вопрос по каталогизаторству. Лежит файл и лежит, что там каталогизировать?
птушо документация вендора нужна - мне. и кормит - меня.каталог нужен, птушо иначе я запарюсь разгребать все эти sg12345678.pdf
а вообще я не совсем понимаю, у вас прям на глазах накрылись основные зеркала либгена, а вы спрашиваете - зачем локальная библиотека? вот за этим.
Речь не про локальное зеркало, а про домашнюю библиотеку. Домашняя библиотека не подразумевает тысячи книг. А если даже брать в расчёт локальное зеркало, ты всерьёз будешь упарываться для его каталогизирования, в одиночку?
Ну не знаю... Не понял смысл приделанной GUIовины. Этой штуке, по любому, на каком-нибудь HASе жить. То есть, ИМХО, нужна веб-морда (можно и без неё) и OPDS. То есть что-то на манер FLibGoLite, но с лучшим разбором по жанрам, сериям, закладками и всем таким.
Целевая аудитория это автор сабжа.
Читающий люд.
Юзаю с предыдущей новости. Забористо, но внезапно доставило. Сейчас обновлюсь, затестим.
У вас у пиратов свои загоны.
Вы говорите про пиратов, а мнение правовладельцев по вопросу общественных библиотек игнорируете! Вот где настоящее пиратство... А если по существу, обвинение в пиратстве в РФ является уголовнонаказуемым деянием, поэтому лучше не подвергать ресурс ненужным рискам
дело экслера живет и побеждает ))
> дело экслера живет и побеждает ))Эк, кого вы вспомнили)) Я наверняка что-то из его книг видел, но не читал точно.
Чуть-чуть оффтоп, подскажите, есть аналогичный софт, только с веб мордой? Чтобы можно было на сервере развернуть, читать и чобы запоминала, где остановился ну или хотя бы закладки поддерживала. Заранее спасибо.
Рекомендую Calibre Web — легко развёртывается на Raspberry Pi, поддерживает закладки и отметки о прочтении.
И встает раком после первого архива всем известной...
Производительность калибры рассчинана на пару сотен.
у меня под управлением калибра 16 тыщ с гаком файлов на данный момент. пока приемлемо. он и с маленькой-то библиотекой шустротой не отличается.
Используй внешний SSD, подключённый по USB 3.0.
"Не удается продолжить выполнение кода,
поскольку система не обнаружила vulkan1.dll".
Win10, GT610.
Вы там решили майнить крипту, что ли на видеокартах?
А ведь у некоторых вообще может быть интеловская встройка.
И да, впервые вижу каталогизатор книг, требующий видеокарту с вулканом.
У него там gtk4. Запускай с опцией GSK_RENDERER=gl или cairo. Можешь просто в переменные окружения венды добавить чтобы было глобально. Ее забудь сделать релогин в пользователя.
> "Не удается продолжить выполнение кода,
> поскольку система не обнаружила vulkan1.dll".
> Win10, GT610.
> Вы там решили майнить крипту, что ли на видеокартах?)) Нет, просто у GTK4 по умолчанию отрисовку делает через vulkan. Уже примерно год как.
> А ведь у некоторых вообще может быть интеловская встройка.
У меня как раз такая - всё нормально работает.
А так - вам выше уже написали: попробуйте создать переменную среды GSK_RENDERER и установить её в gl или в cairo. Если не поможет, попробуйте установить в opengl или в ngl. Если и это не поможет, тогда пишите - попробую что-нибудь придумать. Но ничего не обещаю. Windows у меня стоит только на виртуалке, и там таких проблем не наблюдалось.
> А ведь у некоторых вообще может быть интеловская встройка.Которая отлично его умеет, если не совсем древняя
Странно, но моя UHD поддерживает вулкан. Это явно проблема вашей GMA/HD3000
Дизайн шикарный. ЗЫ как вернуть глаза после того как они вытекли.
поможет только многомесячное использование, начнёшь видеть мир во всех цветах
А можно в следующие версии мигание которое доставляет радости эпилептикам завести?
> А можно в следующие версии мигание которое доставляет радости эпилептикам завести?Вы ведь допроситесь - сделаю, специально для вас))
А можно запоминать свои заметки по книге.
Вне зависимости где она сейчас находится, может я её читал и давно удалил
> А можно запоминать свои заметки по книге.Меня уже просили об этом, и я, кажется, наконец-то придумал, как это можно нормально реализовать. Так что к следующему релизу скорее всего сделаю. Пока же можете воспользоваться функцией ручной редактуры базы данных - там можно изменять любые поля о книге (непосредственно книги при этом никак не затрагиваются). Единственно, будьте аккуратны: максимальный допустимый размер любого поля 65535 байт. Все символы сохраняются в кодировке UTF-8, т.е. могут иметь размер, отличный от одного байта.
Касательно же удаления... Если вы удаляли книгу через функционал MyLibrary, то и запись из базы была удалена. Если же вы удаляли файл вручную, через файловый менеджер, то запустите функцию обновления коллекции - она как раз для таких ситуаций. MyLibrary автоматически проверит директорию с книгами на их наличие/отсутствие/присутсвие новых файлов и откорректирует базу. Обрабатываются в том числе символьные ссылки на файлы и папки.
Держать же информацию об удалённых книгах мне кажется не целесообразным, так что это скорее нет, чем да.
Думаю наоборот полезно.
Скажем когда-то читал, опять ворох книг грузанул и уже есть своя отметка, что читать такое не нужн
> Думаю наоборот полезно.
> Скажем когда-то читал, опять ворох книг грузанул и уже есть своя отметка,
> что читать такое не нужнЯ подумаю, возможно что-то такое и получится.
Помню в шараге пятнадцать лет назад делал такое на курсовой, правда на делфи и выглядело сильно лучше.
Шараги были 85 лет назад
Правда или нет, мы не проверим. Ты мог всё это выдумать.
> правда на делфиНачальник Паскаль в юности изучил? Печально, что и сюда они добрались.
>создаёт собственную базу данных, не изменяя исходные файлы и не меняя их положениясума сайти
На скринах что-то весьма такоэ
> На скринах что-то весьма такоэНу вы новость то читайте, а не только картинки смотрите. Это вам не комиксы. На картинках вид по умолчанию и демонстрация возможностей кастомизации. Дальше - всё в ваших руках. Специально для "дезигнеров" соответствующее окно настроек сделано. Настраивайте внешний вид хоть до посинения. Хоть своего, хоть программы ;)
> Это вам не комиксы.Но очень похоже.
Arch Linux, стильный модный молодежный:
"mylibrary: error while loading shared libraries: libicui18n.so.75: cannot open shared object file: No such file or directory"
> Arch Linux, стильный модный молодежныйБывает)) Уже приложил в AUR к сценарию сборки патч. Библиотека icu обновилась, изменились pkgconfig файлы. Вчера ещё всё нормально было. Позже поправлю на github/gitflic.
А так - в этот раз я на "древность" проверял в Simply Linux - собирается работает. Так что и в Дебиане 12 тоже всё должно быть в порядке - в альтовском p10 пакеты подревнее. В этот раз сборку и работу на других архитектурах (не x86_64) не тестировал, но по идее всё должно работать и в aarch64, и в 32-bit сборках.
О, смотрю, код парсера поменялся. Если раньше он был просто простым и неправильным, то сейчас он становится сложным и неправильным.
https://github.com/ProfessorNavigator/mylibrary/blob/a38e72d...
Я уже говорил о том, что такая запись валидна, автор до сих пор не поправил
<tag attr=">" />
Далее, в парсере завелись частично дублирующиеся блоки кода
https://github.com/ProfessorNavigator/mylibrary/blob/a38e72d...https://github.com/ProfessorNavigator/mylibrary/blob/a38e72d...
Я раньше спрашивал автора, как он будет писать парсер для следующего проекта, опять с нуля, но он превзошёл мои ожидания, начав писать с нуля парсер уже в текущем проекте.Разумеется, это не полный список
ЗЫ удивлительно, но те, кому не нравится раст(и не только) отсутствием стандарта, не спешат сами соблюдать спецификацию xml.
> Я уже говорил о том, что такая запись валидна, автор до сих пор не поправил
> <tag attr=">" />Приложение парсит конкретные форматы электронных книг, а не вообще любой XML.
Плюсовик: раст плохой, у него нет стандарта
Аноним: плюсовик, твой xml парсер не соотсветствует спецификации xml
Плюсовик: я и не собирался писать по стандарту, мне эта нинужна!
Очнитесь уже, для задач программы достаточно вычитать из начала FB2-файла сожержимое тега description (обычно до 3-5 кб) и если есть обложка (тег coverpage в description) - соответствующий binary.
Полностью анализировать для этого огромный, до нескольких метров (хотя больше 30 не видел), XML - немножечко расточительно.
> Приложение парсит конкретные форматы электронных книг, а не вообще любой XML.Тс-с! Не спугните! Где я вам ещё халявного тестировщика найду? ;)
Извиняюсь, не удержался. Просто рассуждения здравые, да, но в контексте особого смысла не имеют.
Тестировщики - это хорошо, ещё хорошо, когда есть конкретный пример реального проблемного файла.Другое дело, если Аноним хочет попросить добавить вызов валидатора FB2... Тут да, проще отдельно с подходящей либой.
Но и это так себе идея, ибо найдётся немало примеров файлов не то чтобы от сознательных бракоделов, но валидацию XML не проходящих (с автоматизацией напортачат, при ручной правке и т.п.), при этом некоторые читалки содержат костыли и пытаются показать всё содержимое таких файлов, умножая бардак. А т.к. конвертера из формата FB2 нет, то и заморачиваться вряд ли есть смысл.P.S. Кстати, заметили, что не смотря на педалируемый некоторыми несколько негативный образ среднестатистического "комментатора OpenNET" в вакууме, тут таки есть программисты, на зарплате или от души, понимающие о чём речь? MyLibrary объединяет :))
P.P.S. Я вообще не программист.
> Извиняюсь, не удержался. Просто рассуждения здравые, да, но в контексте особого смысла
> не имеют.Я ему это уже раза два говорил ;) Но человек очень расстроился, когда его слегка приложили при обсуждении Rust. Теперь ходит за мной из темы в тему и пытается доказать, что на С++ с текстом работать невозможно. Меня это сначала слегка раздражало, но потом подумал - какого лешего? Парсер то после его замечаний лучше стал - у меня времени всё никак не хватало им нормально заняться. А тут нашёлся тот, кто разные каверзы изобретать будет, мне даже и думать не надо над этим. Достаточно лишь парсер подправлять. Так что пускай себе))
> Тестировщики - это хорошо, ещё хорошо, когда есть конкретный пример реального проблемного
> файла.Найдутся)) У меня уже небольшая коллекция по итогам разработки собралась.
> Другое дело, если Аноним хочет попросить добавить вызов валидатора FB2... Тут да,
> проще отдельно с подходящей либой.
> Но и это так себе идея, ибо найдётся немало примеров файлов не
> то чтобы от сознательных бракоделов, но валидацию XML не проходящих (с
> автоматизацией напортачат, при ручной правке и т.п.), при этом некоторые читалки
> содержат костыли и пытаются показать всё содержимое таких файлов, умножая бардак.О-о-о, это я в курсе)) Я в процессе разработки чего только не насмотрелся))
> А т.к. конвертера из формата FB2 нет, то и заморачиваться вряд
> ли есть смысл.На самом деле хаскелисты что-то такое изобразили. Pandoc называется. Он вообще для конвертации разных форматов, в том числе и fb2 вроде бы умеет. Насколько хорошо - не знаю, не пробовал особо.
> P.S. Кстати, заметили, что не смотря на педалируемый некоторыми несколько негативный образ
> среднестатистического "комментатора OpenNET" в вакууме, тут таки есть программисты, на
> зарплате или от души, понимающие о чём речь? MyLibrary объединяет :))Заметил. Потому и продолжаю ;)
> P.P.S. Я вообще не программист.Да я в общем-то тоже))
Вложенность if ... else потрясает. Я думал так уже никто не пишет, повывелись. А еще куски с else { break; } впечатлили. Интересно, это принципиальная позиция, или автор не знает как можно написать проще?
> Вложенность if ... else потрясает. Я думал так уже никто не пишет,
> повывелись. А еще куски с else { break; } впечатлили. Интересно,
> это принципиальная позиция, или автор не знает как можно написать проще?Хе-хе)) Нет. Просто изначально писалось это следующим образом. Я сел на месяц за программу, отрывался только для поесть и на сон. Всё остальное время писал код. А там 60 файлов и под 40 тысяч строк кода. Не то чтобы прям много, но для одного человек - немало. И при таком режиме работы не всегда успеваешь за оптимизацией следить. Касательно же if... else - показывайте конкретные участки кода, которые не устраивают, будем посмотреть. Я даже не сомневаюсь, что там немало чего найдётся, что можно оптимизировать. А ещё лучше - попробуйте сделать сами. И присылайте pull request. Или делайте форк.
Значит пришло время заняться рефакторингом. А форки и PR-ы - по-хорошему без тестов этого делать не стоит. А тестировать, если сам не собираешься использовать программу - лишь тратить время. Что касается else - я имел ввиду замену if (expression) { .... } else { break; } на if (!expression) { break; } или даже на if (!expression) break; Обычно так и делается: в начале цикла помещаются проверки с выходом или пропуском цикла, а затем основной код тела цикла после пустой строки. Часть таких проверок можно прямо в конструкцию for затолкать. Это сделало бы код более читаемым хотя бы за счет уменьшения уровней вложенности. Что касается участков кода - так прям там, где реализация xml-парсера. Первая ссылка в комментарии, на который я отвечал.
господи есусе, кастомный парсер xml, зачем? boost или pugixml что-ли использовать запретили?почему у сишников и плюсовиков такое влечение к изобретению велосипедов, ещё и неправильных?
У меня вылетает ошибка на этапе линковки:[100%] Linking CXX executable mylibrary
/usr/bin/ld: CMakeFiles/mylibrary.dir/src/AuxFunc.cpp.o: неопределённая ссылка на символ <<_ZN6icu_768ByteSinkD2Ev>>
/usr/bin/ld: /usr/lib64/libicuuc.so.76: ошибка добавления символов: в командной строке не указан DSO
collect2: ошибка: выполнение ld завершилось с кодом возврата 1
make[2]: *** [CMakeFiles/mylibrary.dir/build.make:1149: mylibrary] Ошибка 1
make[1]: *** [CMakeFiles/Makefile2:136: CMakeFiles/mylibrary.dir/all] Ошибка 2
make: *** [Makefile:136: all] Ошибка 2Версии библиотек стоят самые свежие стабильные.
Уже исправил в AUR. icu обновилась, изменились pkgconfig файлы. Позже на github/gitflic cmake файл поправлю.
при сборке линковщик ругается, может подскажете что не так?:
/usr/bin/ld: CMakeFiles/mylibrary.dir/src/BaseKeeper.cpp.o:BaseKeeper.cpp:(.text.unlikely+0x1c03): more undefined references to `tbb::detail::r1::deallocate_memory(void*)' followИ еще несколько ошибок с тем же классом. Система Ubuntu 24.04.1 LTS
> при сборке линковщик ругается, может подскажете что не так?:
> /usr/bin/ld: CMakeFiles/mylibrary.dir/src/BaseKeeper.cpp.o:BaseKeeper.cpp:(.text.unlikely+0x1c03):
> more undefined references to `tbb::detail::r1::deallocate_memory(void*)' follow
> И еще несколько ошибок с тем же классом. Система Ubuntu 24.04.1 LTSПопробуйте к cmake добавить опцию -DUSE_TBB=ON - вроде ж написал в readme. И проверьте - установлена ли у вас библиотека onetbb или аналогичная.
да, действительно, с -DUSE_TBB=ON всё собралось, спасибо
А почему такое происходит? У меня на 24.04 без проблем собирается без USE_TBB.
> А почему такое происходит? У меня на 24.04 без проблем собирается без
> USE_TBB.Для ускорения поиска и некоторых других вещей используется опция std::execution::par. Для распараллеливания. Я не знаю, как там оно под капотом устроено, но подозреваю, что если в системе есть oneTBB, то стандартная библиотека пытается использовать её. Если нет, то скорее всего работает через тот же std::thread. Соответственно, если в системе есть oneTBB, то нужно с ней линковаться, иначе линковщик ошибки вывешивает. Для этого и добавил опцию USE_TBB, отключив её по умолчанию. Была мысль просто в зависимостях oneTBB прописать. Но тут уже вопрос - насколько я понимаю библиотека интеловаская и сделана под их процессоры, как оно будет на тех же АМD работать или у других производителей - не знаю.
Второй (?) раз за короткое время выходит новость про эту программу. И если, как по мне, всякого рода =каталогизаторы=, может быть, важны для картинок и музыки, потому что, хотя бы, в музыке могут быть всякие теги перекрестные по жанрам, например, то в книгах-то что надо отдельно от файловой
>в музыке могут быть всякие теги перекрестные по жанрам, например, то в книгах-то что надо отдельно от файловойВы удивитесь, но в книгах тоже есть жанры.
А ещё серии книг есть (причём в серии могут быть разные авторы). А если у книги два соавтора?
(прошу прощения) системы каталогизировать? Разложите авторов книг по каталогам файловой системы, блин. Точка. Что еще нужно-то?А если что и нужно, в электронных книгах, то это универсальная возможность хранения закладок, то есть точки, на которой я остановился, когда читал книгу.
Вся остальная чешуя - дополнительная. Мб, нужная, но - к чему?
>>Разложите авторов книг по каталогам файловой системы, блин. Точка. Что еще нужно-то?Есть книги, у которых несколько соавторов.
Есть межавторские серии.
Есть сборники.С ними как поступить?
Каталогизатор - штука полезная...
>>>Разложите авторов книг по каталогам файловой системы, блин. Точка. Что еще нужно-то?
> Есть книги, у которых несколько соавторов.
> Есть межавторские серии.
> Есть сборники.
> С ними как поступить?
> Каталогизатор - штука полезная...Согласен, полезность, исходя из ваших примеров, есть. За 46 лет чтения книг, правда, проблем с этим не имел (: но, видимо, это мой личный опыт. Тем не менее, вот на что вы мне открыли глаза - ведь книги могут быть не только художественные, а в научных книгах каталогизирование может оказаться важным, что ни говори.
> Тем не менее, вот на что вы мне открыли глаза - ведь книги могут быть не только художественные, а в научных книгах каталогизирование может оказаться важным, что ни говори.А ещё может быть например такой вариант:
https://www.opennet.me/openforum/vsluhforumID3/135943.html#256
>> Тем не менее, вот на что вы мне открыли глаза - ведь книги могут быть не только художественные, а в научных книгах каталогизирование может оказаться важным, что ни говори.
> А ещё может быть например такой вариант:
> https://www.opennet.me/openforum/vsluhforumID3/135943.html#256Тут вопрос такой - как я понимаю, метаданные ведь могут заполняться как попало либо вообще отсутствовать (как и в музыкальных файлах тэги)? Тогда это все - беда, конечно (:
>метаданные ведь могут заполняться как попало либо вообще отсутствоватьЕсли книга из вменяемого источника - оно там будет заполнено как надо.
А если нет, но книга представляет ценность - никто не мешает заполнить самому.
> Тут вопрос такой - как я понимаю, метаданные ведь могут заполняться как
> попало либо вообще отсутствовать (как и в музыкальных файлах тэги)? Тогда
> это все - беда, конечно (:На самом деле - это мрак и ужас)) Epub книгами я пользовался мало, в основном только при разработке данной программы для тестирования. Но там ещё ничего обычно. В основном потому, что делаются они "официальными" издателями по большей части. В fb2 же... С одной стороны существует вполне чёткая и достаточно строгая спецификация. С другой - это по факту обычный текстовый файл в формате xml. Поэтому каждый изгаляется кто во что горазд. Начиная от всяких экзотических кодировок, которые даже не распознаются порой, заканчивая банальными ошибками в формате. А есть ещё программисты от Windows, которые умудряются записать файл напрямую из wchar_t. Особенно это "приятно", потому что в тегах xml обычно используется кодировка ASCII, в которой символ - это один байт. А wchar_t - два байта. И один из них записывается, как нулевой. И чтобы хотя бы прочитать заголовок, где указана кодировка файла, нужно специально извращаться.
> На самом деле - это мрак и ужас))Это мне понятно, да. =Жизнь жива, мысль - мертва=. В том смысле, что жизнь не формализируешь никогда. Отсюда и вопросы. Последний уровень формализации всего этого, как по мне, наступает, когда понимаешь - достаточно большая часть уже уложенного по полкам не стоила трудов. Тут я исхожу из своего опыта в части попыток удобного категорирования музыки. Сразу после понимания этого факта, случается всякое (:
В итоге - простая, на первых порах, задача, превращается в непростую и не в задачу даже, а в наблюдение того, что же происходит с самим собой.
самому каталогизировать научную литературу, да ещё и только для личного использования... это какие вещества к такому подталкивают?
> самому каталогизировать научную литературу, да ещё и только для личного использования...
> это какие вещества к такому подталкивают?Что-то в голове и, наверное, что-то в крови (: Такое бывает, когда хочется разобраться хоть с чем-то, но, в итоге, начинаешь понимать, что - нет, не разберешься так, как хочется. Языки программирования в этом вопросе слабы, как ни странно, а соратников по проблеме - полтора землекопа.
Это все - способ борьбы палкой-копалкой против всемирной энтропии. Кто-то борется, кто-то - крестьянин, которому и так хорошо. Оба подхода - равны.
> А если что и нужно, в электронных книгах, то это универсальная возможность
> хранения закладок, то есть точки, на которой я остановился, когда читал
> книгу.То есть -- возможность у программы-читалки, подобная истории в браузерах?