[Calibre-web] Manage your ebooks

Hello,

  • LDAP ne marche pas : C’est à dire? Tu ne peux pas te connecter?
  • Ebook-converter : Cela n’a jamais été inclus dans le package, donc c’est toi qui a du rajouter ce chemin. Tu peux retrouver comment l’utiliser dans le wiki de calibreweb :Configuration · janeczku/calibre-web Wiki · GitHub
  • ebook-convert : bien vu, mon install commence à dater, on oublie ^^’
    C’est inclus dans le package calibre, je vais l’installer et tester.

  • LDAP : Pas de connexion automatique en passant par le portail (Calibre-web me demande le login/password).
    Si je n’avais pas déconnecté mon user depuis l’app Calibre (bouton logout) et que je quitte le portail Yunohost (déconnexion au niveau du portail), l’user suivant se connecte avec le compte du premier user sur l’app en cliquant sur la tuile Calibre.

En remontant dans le thread, je vois que j’avais signalé ce problème en février 2021 après le passage en 0.6.10 : [Calibre-web] Manage your ebooks - #88 by Kit

J’ai réussi à faire fonctionner l’outil de conversion \o/

Il faut installer manuellement les paquets calibre (voir ci-dessus) et unrar. Les exécutables sont sous /usr/bin/ Testé à l’instant pour faire de l’EPUB → MOBI pour une vieille Kindle 3 : ça marche !

Reste à voir le LDAP :stuck_out_tongue:

J’ai jeté un œil à /var/log/calibreweb/calibreweb-access.log, apparemment j’ai des réponses 200 partout.

Pour le LDAP, c’est un WorkInProgress:

2 Likes

anyone here who can tell me if it is possible to link this app to an existing directory in Nextcloud with all my eBooks?

Hello
Yes it is, yet still not recommended, as per the limitation on the documentation of the package:

Do not use a Nextcloud folder. It’s all right if the folder is an external storage in Nextcloud but not if it’s an internal one : Changing the data in the library will cause trouble with the sync

The issue is that nextcloud do not like when program changes files in internal folder directly on the filesystem, without using one of the Nextcloud tools (webpage or desktop sync) asit may not realize the library has been changed, hence issue with the sync between your local storage, nextcloud database and nextcloud filesystem.

If you still want to do it, this directory must already be a calibre directory, so that you have the file metaddata.db in it.
Then just change the library path in the settings of the app.

Anyway, the “right” way of doing it is using a folder set as external folder in nextcloud, which is what the /home/yunohost.multimedia/share/eBook folder is, so I would recommend using this one instead of a custom one.

2 Likes

Great stuff. I’ll go with your recommendation!
Thnx for packaging and maintaining this app by the way :+1:

1 Like

Plop !

@Krakinou : Update vers Bullseye faite, calibre-web est cassé :smiley: (Error 502 - Bad Gateway)

yunohost:
  repo: stable
  version: 11.0.9.15
yunohost-admin:
  repo: stable
  version: 11.0.10
moulinette:
  repo: stable
  version: 11.0.9
ssowat:
  repo: stable
  version: 11.0.9
name: Calibre-web
version: 0.96.19~ynh1

Voilà le debug :

  - Oct 09 13:19:27 systemd[1]: Started calibreweb.
  - Oct 09 13:19:27 sh[5293]: Traceback (most recent call last):
  - Oct 09 13:19:27 sh[5293]:   File "/var/www/calibreweb/cps.py", line 28, in <module>
  - Oct 09 13:19:27 sh[5293]:     from cps.main import main
  - Oct 09 13:19:27 sh[5293]:   File "/var/www/calibreweb/cps/__init__.py", line 28, in <module>
  - Oct 09 13:19:27 sh[5293]:     from flask import Flask
  - Oct 09 13:19:27 sh[5293]: ModuleNotFoundError: No module named 'flask'
  - Oct 09 13:19:27 systemd[1]: calibreweb.service: Main process exited, code=exited, status=1/FAILURE
  - Oct 09 13:19:27 systemd[1]: calibreweb.service: Failed with result 'exit-code'.

Ca pourrait être un soucis de python d’après les internet. Avant de toucher au system dans sa totalité, est-ce que cet incident te dit quelque chose ? Une mauvaise blague python2/python3 (il n’y a que python3 d’installé sur mon serveur) ?

Est ce que tu as tenté de forcer la mise à jour de calibre ? (Même sans changer de version, juste pour que les scripts d’upgrade soient lancés)
Chez moi ça a réparé plusieurs apps.

1 Like

Bien vu!

Je n’y avais pas songé car j’ai MaJ Calibreweb après la migration vers bullseye.

Merci !

Hum, c’est encore moi :x
J’ai voulu convertir un bouquin, ça foire :

[2022-10-19 21:31:41,135]  INFO {cps.editbooks:318} converting: book id: 8319 from: EPUB to: MOBI
[2022-10-19 21:31:41,298]  INFO {cps.tasks.convert:142} Book id 8319 - target format of .mobi does not exist. Moving forward with convert.
[2022-10-19 21:31:41,674]  INFO {cps.tasks.convert:188} ebook converter failed with error while converting book
[2022-10-19 21:31:41,675] ERROR {cps.tasks.convert:192} Calibre failed with error: ImportError: cannot import name '_HAS_A_TO_Z' from 'zeroconf' (/usr/lib/python3/dist-packages/zeroconf/__init__.py)

État des lieux des packages :

yunohost:
  Installed: 11.0.10.1
  Candidate: 11.0.10.1

calibre:
  Installed: 5.12.0+dfsg-1+deb11u1
  Candidate: 5.12.0+dfsg-1+deb11u1

calibreweb-ynh-deps:
  Installed: 0.96.19~ynh1
  Candidate: 0.96.19~ynh1

python3:
  Installed: 3.9.2-3
  Candidate: 3.9.2-3

python2:
  Installed: (none)
  Candidate: 2.7.18-3

Vous avez le même soucis pour convertir ?

Hello,
Je ne connais pas zeroconf, mais à priori c’est plus un truc de gestion d’IP: je ne vois pas bien ce qu’il vient faire dans une conversion d’ebook??
Ton epub est sur le disque en direct sur ton serveur ou plutot sur un genre de partage? Parce que j’ai l’impression que l’erreur vient plus de quelque chose comme ça.

Ca semble être lié à Python.

Rien changé mis à part les upgrades system (Debian 11) et Calibreweb (96.18 → 96.19).

Les bouquins vivent dans /home/yunohost.multimedia/kit/eBook/

Edit : disque principal, pas de disque en usb ou autre (serveur distant, deux disques en RAID1).

Tu peux essayer d’activer le debug dans les logs pour voir s’il y a plus d’info?

Je ne trouve pas le fichier de conf pour changer le loglevel D:

Faut ajouter une ligne dans /etc/yunohost/apps/calibreweb/conf/systemd.service ?

ça se passe direct dans l’appli: tu te connectes avec le compte admin, puis:
Options/Editer la configuration principale/Configuration du fichier journal/Niveau de journalisation

facepalm Tout bêtement :neutral_face:

[2022-10-21 16:24:22,977]  INFO {cps.editbooks:318} converting: book id: 8319 from: EPUB to: MOBI
[2022-10-21 16:24:22,990] DEBUG {cps.services.worker:91} Add Task for user: myuser - Convert 8319
[2022-10-21 16:24:22,994]  INFO {cps.tasks.convert:142} Book id 8319 - target format of .mobi does not exist. Moving forward with convert.
[2022-10-21 16:24:24,031] DEBUG {cps.tasks.convert:254} No write acces to /home/calibreweb/.config/calibre using a temporary dir instead
[2022-10-21 16:24:24,142] DEBUG {cps.tasks.convert:268} Traceback (most recent call last):
[2022-10-21 16:24:24,143] DEBUG {cps.tasks.convert:268}   File "/usr/bin/ebook-convert", line 20, in <module>
[2022-10-21 16:24:24,143] DEBUG {cps.tasks.convert:268}     sys.exit(main())
[2022-10-21 16:24:24,143] DEBUG {cps.tasks.convert:268}   File "/usr/lib/calibre/calibre/ebooks/conversion/cli.py", line 372, in main
[2022-10-21 16:24:24,143] DEBUG {cps.tasks.convert:268}     parser, plumber = create_option_parser(args, log)
[2022-10-21 16:24:24,143] DEBUG {cps.tasks.convert:268}   File "/usr/lib/calibre/calibre/ebooks/conversion/cli.py", line 319, in create_option_parser
[2022-10-21 16:24:24,143] DEBUG {cps.tasks.convert:268}     from calibre.ebooks.conversion.plumber import Plumber
[2022-10-21 16:24:24,143] DEBUG {cps.tasks.convert:268}   File "/usr/lib/calibre/calibre/ebooks/conversion/plumber.py", line 12, in <module>
[2022-10-21 16:24:24,143] DEBUG {cps.tasks.convert:268}     from calibre.customize.ui import input_profiles, output_profiles, \
[2022-10-21 16:24:24,143] DEBUG {cps.tasks.convert:268}   File "/usr/lib/calibre/calibre/customize/ui.py", line 18, in <module>
[2022-10-21 16:24:24,143] DEBUG {cps.tasks.convert:268}     from calibre.customize.builtins import plugins as builtin_plugins
[2022-10-21 16:24:24,144] DEBUG {cps.tasks.convert:268}   File "/usr/lib/calibre/calibre/customize/builtins.py", line 752, in <module>
[2022-10-21 16:24:24,144] DEBUG {cps.tasks.convert:268}     from calibre.devices.smart_device_app.driver import SMART_DEVICE_APP
[2022-10-21 16:24:24,144] DEBUG {cps.tasks.convert:268}   File "/usr/lib/calibre/calibre/devices/smart_device_app/driver.py", line 2044, in <module>
[2022-10-21 16:24:24,144] DEBUG {cps.tasks.convert:268}     from zeroconf import (BadTypeInNameException, _HAS_A_TO_Z,
[2022-10-21 16:24:24,144] DEBUG {cps.tasks.convert:268} ImportError: cannot import name '_HAS_A_TO_Z' from 'zeroconf' (/usr/lib/python3/dist-packages/zeroconf/__init__.py)
[2022-10-21 16:24:24,144]  INFO {cps.tasks.convert:188} ebook converter failed with error while converting book
[2022-10-21 16:24:24,144] ERROR {cps.tasks.convert:192} Calibre failed with error: ImportError: cannot import name '_HAS_A_TO_Z' from 'zeroconf' (/usr/lib/python3/dist-packages/zeroconf/__init__.py)

Note : le répertoire /home/calibreweb n’existe pas, mais apparemment ce n’est pas un soucis (utilisation d’un répertoire temporaire à la place).

Ah, c’est un bug du package: normalement le home du user calibreweb devrait être /var/www/calibreweb, mais effectivement je ne pense pas que ça ai à voir avec notre problème.

Une rapide recherche sur internet semble montrer que cela vient plus de calibre (et non calibre-web) ou plusieurs users remontent ce genre de pb:
https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1837543.html

ou

Je n’utilise plus la version local de calibre ni les converter, donc je vais être un peu sec pour t’aider, mais es-tu sur la dernière version de calibre?

1 Like

La dernière dispo sur le repo (5.12, voir quelques posts plus haut). J’ai même tenté la réinstallation de calibre sans que ça ne change quoi que ce soit.

Je vais tenter de virer celle fournie par Debian et installer à la main celle du site (6.7.1 au moment où j’écris).

oui, c’est ce que le mainteneur de calibre indique dans un des bugs reports que j’ai vu : il ne faut pas utiliser les packages fournis par les distro mais uniquement celles qu’il met à dispo