Coder Social home page Coder Social logo

petrovvlad / freelib Goto Github PK

View Code? Open in Web Editor NEW
99.0 13.0 27.0 80.05 MB

freeLib - каталогизатор для библиотек LibRusEc и Flibusta

License: GNU General Public License v3.0

HTML 0.18% CSS 1.03% C++ 95.91% XSLT 1.43% CMake 1.44% Shell 0.01%
qt5 qt c-plus-plus qt6

freelib's Introduction

freeLib

License: GPL v3 build on Ubuntu 20.04 build on Ubuntu 22.04 build on Ubuntu 24.04

freeLib - каталогизатор для библиотек LibRusEc и Flibusta

Это форк общедоступного freeLib 5.0 , разработка которого прекращена. screenshot screenshot

  • Создание собственных библиотек на основе файлов FB2(.ZIP), EPUB, FBD.
  • Конвертация в форматы AZW3 (KF8), MOBI, MOBI7 (KF7), EPUB.
  • Работа с несколькими библиотеками.
  • Импорт библиотек из inpx-файлов.
  • Поиск и фильтрация книг.
  • Серверы OPDS и HTTP (требуется QHttpServer).
  • Сохранение книг в выбранную папку.
  • Различные настройки экспорта для нескольких устройств.
  • Отправка выбранных файлов книг на email.
  • Установка тегов для книги, автора, серии и фильтрация по тегам.
  • Настройка форматирования книг (шрифты, буквица, заголовки, переносы, сноски)
  • Чтение книг с помощью внешних приложений. Можно назначить отдельную программу для каждого формата.

Сборка и установка из исходников в Ubuntu

Установить необходимые компоненты: в Ubuntu ≥ 23.04

sudo apt update && sudo apt install git cmake build-essential qt6-base-dev libqt6core5compat6-dev qt6-httpserver-dev libqt6websockets6-dev libqt6svg6 libquazip1-qt6-dev

в Ubuntu < 23.04

sudo apt update && sudo apt install git cmake build-essential qtbase5-dev libqt5sql5-sqlite libquazip5-dev

Для отображения обложек djvu файлов установить библиотеку DjVuLibre

sudo apt install libdjvulibre-dev

Скачать исходники программы:

git clone --recurse-submodules https://github.com/petrovvlad/freeLib.git

Собрать и установить:

mkdir freeLib/build && cd freeLib/build && \
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr .. && cmake --build . -j2 && \
sudo cmake --install . --config Release

Установка в Arch Linux

yay -S freelib

Для конвертации книг в AZW3, MOBI необходимо установить kindlegen.

Обсуждение

канал Matrix: #freeLib:matrix.p-vlad.ru

freelib's People

Contributors

dragonzx avatar petrovvlad avatar sergei-korneev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

freelib's Issues

При создании нового профиля утилит постобработки сохраняются не все параметры

В разделе "Насторойки" "Утилиты постобрабртки" добавляю свою утилиту ( добавляется нормально)
В раздел "Экспорт" добавляю новый профиль, и в его настройках в секции "Экспорт" "Постобработка" указываю свою утилиту. Все нормально работает до перезапуска freeLib. После перезапуска новый профиль на месте, но в его настройках в секции "Экспорт" параметр "Постобработка" не сохраняется ( стоит "ничего не делать" вместо утилиты )

Консольный режим

хотелось бы, чтобы программа умела работать в консольном режиме.
Зачем это мне: хочу поднять opds на одноплатнике. Сейчас вроде задача решается, но приходится тащить кучу всего - qt, vnc и запускать из под этого всего, а хочется же systemctl enable ... и забыл.

Хватило бы, на самом деле, небольшого "api", навскидку:

create library [name] [path]
server opds [port]

Ну, остальное по мелочи.

Можно ли рассчитывать? Если бы мог, сам бы сделал, но я в С плоховат.
Если интересно - мой проект читалки - knownreader, приходите в гости на 4pda.

Library dialog doens't close

Not sure if the problem is related to #135

After adding a new library the Add/Edit Library dialog can not be close nor with button, nor with window decoration x icon. Up to date EndeviourOS is in use (in fact it is based on Arch repo, that is all packages mostly are the last upstream stable ones).

Библиотека Flibusta(импорт из inpx) один из разделов "по авторам" генерится без href

 <entry>
  <updated>2023-10-13T12:13:50Z</updated>
  <id>tag:authors:İ</id>
  <title>İ</title>
  <content type="text">1 авторов начинающихся с 'İ'</content>
  <link type="application/atom+xml;profile=opds-catalog"/>
 </entry>

В веб версии данный раздел не отображается вовсе. в opds каталоге отображается и вызывает краши клиентов (напр. ломается AlreaderX)

Поиск

Добрый день. Когда ищешь автора, в закладке поиск, обязательно первой должна идти фамилия, иначе не находит. Это баг или фича?

Issue with extracting books

First of all many thanks for updating the program.
Kubuntu 21
FreeLib works great but fails to extract files from the archive
It creates folders and subfolders, but fails to put the book there

Building and linking quazip

There is a problem with the quazip when building freelib: it missing a couple files from zlib. And even adding them brings a lot more problems. Can you update instructions/config file regarding it?

Зависание в табличном режиме

Добрый день. В табличном режиме, когда отправляешь книги на 1 аккаунт, то всё хорошо. Когда пытаешься отправить на второй программа зависает и ни на что не реагирует. В обычном режиме (древовидном) всё в порядке. Заметил подобное на версиях 3.0.33 и 3.0.66. на иных не пробовал.

Портативный режим.

Привет. Спасибо за софт. Но не понятно, как пользоваться в портативном режиме. Все настройки все равно остаются в home. Также хотелось бы указать относительный путь для папки с книгами. Например freelib --books ./books --database ./sql.db

error: ISO C++17 does not allow dynamic exception specifications

I'm trying to build freelib with qmake in Archlinux and I'm getting this error:

In file included from mainwindow.cpp:18:
SmtpClient/smtpclient.h:145:28: error: ISO C++17 does not allow dynamic exception specifications
  145 |     void waitForResponse() throw (ResponseTimeoutException);
      |                            ^~~~~
mainwindow.cpp: In function 'QFileInfo GetBookFile(QBuffer&, QBuffer&, uint, bool, QDateTime*)':
mainwindow.cpp:66:34: warning: 'QDateTime QFileInfo::created() const' is deprecated: Use either birthTime() or metadataChangeTime() [-Wdeprecated-declarations]
   66 |             *file_data=fi.created();
      |                        ~~~~~~~~~~^~
In file included from /usr/include/qt/QtCore/qdir.h:44,
                 from /usr/include/qt/QtCore/QtCore:70,
                 from /usr/include/qt/QtSql/QtSqlDepends:3,
                 from /usr/include/qt/QtSql/QtSql:3,
                 from mainwindow.cpp:1:
/usr/include/qt/QtCore/qfileinfo.h:139:15: note: declared here
  139 |     QDateTime created() const;
      |               ^~~~~~~
mainwindow.cpp: In member function 'void MainWindow::BookDblClick()':
mainwindow.cpp:961:13: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
  961 |             if(
      |             ^~
mainwindow.cpp:970:17: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
  970 |                 return;
      |                 ^~~~~~
make[1]: *** [Makefile:1271: mainwindow.o] Error 1
make[1]: Leaving directory '/build/freeLib/freeLib/src'
make: *** [Makefile:47: sub-src-make_first-ordered] Error 2

Send to Kindle

Discussed in #67

Originally posted by NovomirK April 17, 2022
Здравствуйте. Спасибо за программу. Всё работает. Не смог разобраться только с одним. При попытке отправить книгу непосредственно на аккаунт киндла программа вылетает. Система Kubuntu 20.04x64. Что-то я явно делаю не так. Ещё бы понять что. он конвертирует в mobi, всё хорошо, а потом:
Error send e-mail.
munmap_chunk(): invalid pointer
Аварийный останов (стек памяти сброшен на диск)

Может быть подскажете решение?

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

Попробовал подключить библиотеку на домашнем NAS. Synology NAS через SMB

  1. В диалоге выбора inpx файла нет возможности выбора сетевой папки, однако в диалоге выбора папки такая возможность есть (скрины 1 и 2)
  2. Обновления библиотеки не происходит.
    net1
    net2
    Screenshot_20211222_165829
    Screenshot_20211222_165848

Внешний OPDS

Есть ли возможность подключить внешний сервер OPDS?

Can not build with cmake 3.25.1

help wanted)
can't build with the commands provided ( docker with debian 12 )

root@6df71e0fdb5b:/generic_cpp/freeLib/build# cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr .. && cmake --build . -j2
CMake Warning:
  Ignoring extra path from command line:

   ".."


CMake Error: The source directory "/generic_cpp/freeLib" does not appear to contain CMakeLists.txt.

tried to run from the src dir, got enother error

root@6df71e0fdb5b:/generic_cpp/freeLib/src/build# cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -S .. && cmake --build . -j2

CMake Error at CMakeLists.txt:135 (set_target_properties):
  set_target_properties called with incorrect number of arguments.


CMake Error in CMakeLists.txt:
  No cmake_minimum_required command is present.  A line of code such as

    cmake_minimum_required(VERSION 3.25)

  should be added at the top of the file.  The version specified may be lower
  if you wish to support older CMake versions for this project.  For more
  information run "cmake --help-policy CMP0000".


-- Configuring incomplete, errors occurred!

Не устанавливается в ubuntu 22.04

Добрый день.
Выполнении команды:
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr .. && cmake --build . -j2
завершается ошибкой.

screenshot

Система Ubuntu 22.04
Делал все по инструкции.
Подскажите в какую сторону копать.

segmentation fault

Привет. Установил на Manjaro из AUR https://aur.archlinux.org/packages/freelib-git
Создал новую библиотеку, она отсканировалась. Послсле закрытия диалога сканирования и после перезапуска - segmentation fault.

Может, build-файл неверный? Там про qt5, а в комментах к коммитам - про qt6.

❯ freelib   
loadGenre  0 msec
loadSeria  13 msec
loadAuthor  87 msec
loadBooks  1392 msec
FillGenres  117 msec
FillAuthors  34 msec
zsh: segmentation fault (core dumped)  freelib

~ took 3s 
❯ aH freelib-git  
:: Querying AUR...
Repository                    : aur
Name                          : freelib-git
Keywords                      : None
Version                       : 6.0.18-1
Description                   : Freelib is book library manager.
URL                           : https://github.com/petrovvlad/freeLib
AUR URL                       : https://aur.archlinux.org/packages/freelib-git
Groups                        : None
Licenses                      : GPL
Provides                      : freelib-git
Depends On                    : qt5-base  qt5-webengine  qt5-xmlpatterns  quazip-qt5
Make Deps                     : git  cmake
Check Deps                    : None
Optional Deps                 : None
Conflicts With                : freelib
Maintainer                    : feo.me
Votes                         : 1
Popularity                    : 0.002388
First Submitted               : Sun 27 Feb 2022 01:50:00 AM MSK
Last Modified                 : Tue 22 Mar 2022 08:43:09 PM MSK
Out-of-date                   : No

Support zip in zip

Some libs contain a set of zip files, adn each of them contains another zip files, and the last ones are just zipped fb2. It would be great to support this case.

Некорректная работа с файлами *.fb2

freeLib 6.0.17, Ubuntu 20.04.
Создаю библиотеку. Книги в каталоге отдельными файлами. inpx нет. Часть книг заархивированы ( *.fb2.zip). С ними все нормально. Часть нет ( *.fb2 ). Эти не экспортируются и не открываются ридером.

Windows build

Как сделать сборку под Windows x64?

Некорректная работа с zip-архивами

Скомпилировал Вашу freeLib 5.0 на Ubunty 18.04 ( Исходники отсюда: http://sourceforge.net/projects/freelibdesign/files/5.0/freeLib5.0_source.zip
собралось хорошо, без ошибок.)
Создаю библиотеку ( сканирую каталог с книгами, файла INPX нет )
Если файлы с книгами *.fb2 - все работает как с латиницей так и с кирилицей в имени файлов.
Если *.zip или *.fb2.zip и при этом в архиве одиночный файл - тоже все в порядке.
Но если в архиве несколько файлов с кирилическими именами - происходит следующее:
В базу данных книги прописываются правильно, но открыть можно только одну из всего архива.
Ту, которая идет последней в выводе команды zipinfo.
На всех прочих - ошибка открытия. При этом в /tmp/freeLib образуется файл с соответствующим книге именем, но он нулевой длины.
Если сама freeLib была запущена из консоли - то там видно такое:

QuaZipFile::open(): zip does not have current file
Error open file: "Sum/Уайзмен - Фабиола.fb2"
QIODevice::read (QuaZipFile): device not open
QuaZipFile::close(): file isn't open
2020/08/07 12:07:24.6751 WARN Changing log level from 3 to 1

Сам zip либо fb2-файлы вне подозрений. Архив зазворачивается и тестируется нормально. Если файлы переименовать в транслит - все работает.

Надеюсь эта информация будет Вам полезна.

сломалось переименовывание при экспорте

После какого то из последних обновлений сломалось переименовывание по шаблону.
В настройках стоит шаблон "%nl%fi - %s%n2 - %b", при экспорте выдаёт что то типа "1lM. - Skidbladnir Online12 - Krov i zhizn.fb2", а должно быть "KuzminM. - Skidbladnir Online01 - Krov i zhizn.fb2", на книжках без серии выдаёт "KuzminM. - %n2 - Richashie Psi.fb2", на книжках без серии с номером тома "6lM. - 62 - Uterjannie krilja.fb2"
Система Gentoo, freelib собран самописным ебилдом Clang-16
До недавнего времени всё экспортировалось нормально.

sudo в cmakelists

Ставлю freelib в арчлинукс, через этот PKGBUILD: https://aur.archlinux.org/packages/freelib-git
После сборки запрашивается лишний раз пароль sudo, из-за этой строчки в исходниках:

execute_process(COMMAND sudo gtk-update-icon-cache ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATADIR}/icons/hicolor)

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

Дополнить ридми

Доброго дня!
Ставлю программу на orange pi 4 с armbian.
Без вот этого вот: sudo apt-get install libqt5sql5-sqlite
Не дает добавить библиотеку.
Прошу доработать ридми, а также может быть сообщение об ошибке - а то непонятно ведь...

Проблема с передачей параметров утилитам постобработки

Утилитам постобработки передаются не все параметры:
Не передаются вовсе (т.е передаются пустые значения) параметрам %nl, %nm, %nf
Вместо нужной буквы передается "." ( точка ) параметрам %li, %fi, %mi.

P.S. IMHO параметры "%li, %fi, %mi " не особо и нужны. Разработчики утилит постобработки легко получат их значения сами из %nl, %nm, %nf. Вот если-б вместо них передавались book-id, author-id ' - было-бы полезно. Как минимум мне ;-))

error: no matching function for call to ‘QString::arg(QStringRef)’

При компиляции возникает ошибка (Ubuntu 18.04.6 LTS)

/home/martin/freeLib/freeLib/src/main.cpp:109:92: error: no matching function for call to ‘QString::arg(QStringRef)’
QString sQmFile = QStringLiteral("/translations/language_%1.qm").arg(sLocale.leftRef(2));
^
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44:0,
from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qapplication.h:44,
from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QApplication:1,
from /home/martin/freeLib/freeLib/src/main.cpp:3:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:264:31: note: candidate: QString QString::arg(qlonglong, int, int, QChar) const
Q_REQUIRED_RESULT QString arg(qlonglong a, int fieldwidth=0, int base=10,
^~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:264:31: note: no known conversion for argument 1 from ‘QStringRef’ to ‘qlonglong {aka long long int}’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:266:31: note: candidate: QString QString::arg(qulonglong, int, int, QChar) const
Q_REQUIRED_RESULT QString arg(qulonglong a, int fieldwidth=0, int base=10,
^~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:266:31: note: no known conversion for argument 1 from ‘QStringRef’ to ‘qulonglong {aka long long unsigned int}’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:928:16: note: candidate: QString QString::arg(long int, int, int, QChar) const
inline QString QString::arg(long a, int fieldWidth, int base, QChar fillChar) const
^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:928:16: note: no known conversion for argument 1 from ‘QStringRef’ to ‘long int’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:930:16: note: candidate: QString QString::arg(ulong, int, int, QChar) const
inline QString QString::arg(ulong a, int fieldWidth, int base, QChar fillChar) const
^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:930:16: note: no known conversion for argument 1 from ‘QStringRef’ to ‘ulong {aka long unsigned int}’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:924:16: note: candidate: QString QString::arg(int, int, int, QChar) const
inline QString QString::arg(int a, int fieldWidth, int base, QChar fillChar) const
^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:924:16: note: no known conversion for argument 1 from ‘QStringRef’ to ‘int’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:926:16: note: candidate: QString QString::arg(uint, int, int, QChar) const
inline QString QString::arg(uint a, int fieldWidth, int base, QChar fillChar) const
^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:926:16: note: no known conversion for argument 1 from ‘QStringRef’ to ‘uint {aka unsigned int}’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:932:16: note: candidate: QString QString::arg(short int, int, int, QChar) const
inline QString QString::arg(short a, int fieldWidth, int base, QChar fillChar) const
^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:932:16: note: no known conversion for argument 1 from ‘QStringRef’ to ‘short int’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:934:16: note: candidate: QString QString::arg(ushort, int, int, QChar) const
inline QString QString::arg(ushort a, int fieldWidth, int base, QChar fillChar) const
^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:934:16: note: no known conversion for argument 1 from ‘QStringRef’ to ‘ushort {aka short unsigned int}’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:280:31: note: candidate: QString QString::arg(double, int, char, int, QChar) const
Q_REQUIRED_RESULT QString arg(double a, int fieldWidth = 0, char fmt = 'g', int prec = -1,
^~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:280:31: note: no known conversion for argument 1 from ‘QStringRef’ to ‘double’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:282:31: note: candidate: QString QString::arg(char, int, QChar) const
Q_REQUIRED_RESULT QString arg(char a, int fieldWidth = 0,
^~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:282:31: note: no known conversion for argument 1 from ‘QStringRef’ to ‘char’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:284:31: note: candidate: QString QString::arg(QChar, int, QChar) const
Q_REQUIRED_RESULT QString arg(QChar a, int fieldWidth = 0,
^~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:284:31: note: no known conversion for argument 1 from ‘QStringRef’ to ‘QChar’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:286:31: note: candidate: QString QString::arg(const QString&, int, QChar) const
Q_REQUIRED_RESULT QString arg(const QString &a, int fieldWidth = 0,
^~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:286:31: note: no known conversion for argument 1 from ‘QStringRef’ to ‘const QString&’
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:936:16: note: candidate: QString QString::arg(const QString&, const QString&) const
inline QString QString::arg(const QString &a1, const QString &a2) const
^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:936:16: note: candidate expects 2 arguments, 1 provided
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:938:16: note: candidate: QString QString::arg(const QString&, const QString&, const QString&) const
inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3) const
^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:938:16: note: candidate expects 3 arguments, 1 provided
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:940:16: note: candidate: QString QString::arg(const QString&, const QString&, const QString&, const QString&) const
inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3,
^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:940:16: note: candidate expects 4 arguments, 1 provided
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:943:16: note: candidate: QString QString::arg(const QString&, const QString&, const QString&, const QString&, const QString&) const
inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3,
^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:943:16: note: candidate expects 5 arguments, 1 provided
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:946:16: note: candidate: QString QString::arg(const QString&, const QString&, const QString&, const QString&, const QString&, const QString&) const
inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3,
^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:946:16: note: candidate expects 6 arguments, 1 provided
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:949:16: note: candidate: QString QString::arg(const QString&, const QString&, const QString&, const QString&, const QString&, const QString&, const QString&) const
inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3,
^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:949:16: note: candidate expects 7 arguments, 1 provided
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:953:16: note: candidate: QString QString::arg(const QString&, const QString&, const QString&, const QString&, const QString&, const QString&, const QString&, const QString&) const
inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3,
^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:953:16: note: candidate expects 8 arguments, 1 provided
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:957:16: note: candidate: QString QString::arg(const QString&, const QString&, const QString&, const QString&, const QString&, const QString&, const QString&, const QString&, const QString&) const
inline QString QString::arg(const QString &a1, const QString &a2, const QString &a3,
^~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:957:16: note: candidate expects 9 arguments, 1 provided
freeLib/src/CMakeFiles/freelib.dir/build.make:196: recipe for target 'freeLib/src/CMakeFiles/freelib.dir/main.cpp.o' failed
make[2]: *** [freeLib/src/CMakeFiles/freelib.dir/main.cpp.o] Error 1
make[2]: *** Ожидание завершения заданий…
CMakeFiles/Makefile2:168: recipe for target 'freeLib/src/CMakeFiles/freelib.dir/all' failed
make[1]: *** [freeLib/src/CMakeFiles/freelib.dir/all] Error 2
Makefile:135: recipe for target 'all' failed
make: *** [all] Error 2

Конвертирование из fb2 в ...

Приветствую! При попытке скачать книгу через http или opds в нужном (любом, кроме fb2) формате, скачивается файл с названием книги с нулевым размером. Т.е. не происходит конвертация. В качестве базы использую базу Флибусты.
Ubuntu 22.04
При этом локально конвертация происходит без проблем.

В логе вижу это:
url: "/http/book/91287/epub"
QIODevice::write (QFile, "/tmp/freeLib/OEBPS/css/main.css"): device not open
QIODevice::write (QFile, "/tmp/freeLib/OEBPS/css/main.css"): device not open
QFSFileEngine::open: No file name specified
QIODevice::read (QFile, ""): device not open

Замена названия, автора, серии и № в серии при экспорте в fb2 на данные из БД библиотеки

Добрый вечер!
Было бы классно иметь возможность при экспорте книги формата fb2 менять метаданные файла на данные из БД библиотеки.
Похожая опция есть при конвертировании в mobi/azw3 (замена названия книги).
Хотелось бы получать при экспорте без конвертирования максимально соответствующий библиотеке fb2 файл.
Спасибо!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.