BasioMeusPuga / Lector

Qt based ebook reader
GNU General Public License v3.0
1.51k stars 208 forks source link

Cannot Process books in library #84

Closed wordlessly closed 5 years ago

wordlessly commented 5 years ago
  1. library scan ignores PDFs
  2. library scan detects epubs but 'cannot process' them.

See output below. Do I miss installing something?

9 books found Cannot process: /home/nemo/Downloads/epub/one.epub Cannot process: /home/nemo/Downloads/epub/two.epub Cannot process: /home/nemo/Downloads/epub/three.epub Cannot process: /home/nemo/Downloads/epub/four.epub Cannot process: /home/nemo/Downloads/epub/five.epub Cannot process: /home/nemo/Downloads/epub/six.epub Cannot process: /home/nemo/Downloads/epub/seven.epub Exception in thread Thread-36: multiprocessing.pool.RemoteTraceback: """ Traceback (most recent call last): File "/usr/lib/python3.6/multiprocessing/pool.py", line 119, in worker result = (True, func(*args, *kwds)) File "/usr/lib/python3.6/multiprocessing/pool.py", line 44, in mapstar return list(map(args)) File "/home/nemo/Desktop/Lector/lector/sorter.py", line 195, in read_book book_ref.read_book() File "/home/nemo/Desktop/Lector/lector/parsers/pdf.py", line 41, in read_book self.metadata = BeautifulSoup(self.book.metadata(), 'xml') File "/usr/lib/python3/dist-packages/bs4/init.py", line 165, in init % ",".join(features)) bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: xml. Do you need to install a parser library? """

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner self.run() File "/usr/lib/python3.6/threading.py", line 864, in run self._target(*self._args, **self._kwargs) File "/home/nemo/Desktop/Lector/lector/sorter.py", line 287, in pool_creator self.read_book, self.file_list) File "/usr/lib/python3.6/multiprocessing/pool.py", line 288, in map return self._map_async(func, iterable, mapstar, chunksize).get() File "/usr/lib/python3.6/multiprocessing/pool.py", line 670, in get raise self._value bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: xml. Do you need to install a parser library?

Finished processing in 0.033007144927978516

BasioMeusPuga commented 5 years ago

You need the following packages installed. Please check your distro's package manager for whatever they might be called:

wordlessly commented 5 years ago

I installed python-lxml - same error scanning database as above.

poppler-qt5 does not exist in the most popular distributions (Ubuntu, Linux Mint, etc.)

Do you refer to libpoppler-qt5-1 which does exist?

In summary: it is quite sad (given all the hours you put in this project), that there is not a simple way that works for 95% of the users. Something like AppImage. It not working on Trusty is just an excuse. How many people still use Trusty in a Desktop setting? All instances of Trusty I still know run as server without user interaction.

Telling people to hunt down dependencies which even have different names is just weird. At least post a working command like:

Ubuntu based: sudo apt-get install python-poppler-qt5 python-lxml ... Arch based: ... Fedora based: ...

As I said, an AppImage would be preferable even if it just works for 95% (probably closer to 99%) of the people. The current situation is, that is doesn't work for 95% of the people right out of the box.