mitshel / sopds

Simple opds catalog
http://www.sopds.ru/
Other
219 stars 81 forks source link

An error when on of the Telegram Bot 'download book' button is pressed #92

Open mountaniol opened 2 years ago

mountaniol commented 2 years ago

When trying to download a book in the Telegram bot, the bug trace appeared. No download is possible

2022-08-23 16:35:14,457 ERROR An uncaught error was raised while processing the update Traceback (most recent call last): File "/home/se/src/me/sopds/.env/lib/python3.8/site-packages/telegram/ext/dispatcher.py", line 279, in process_update handler.handle_update(update, self) File "/home/se/src/me/sopds/.env/lib/python3.8/site-packages/telegram/ext/callbackqueryhandler.py", line 143, in handle_update return self.callback(dispatcher.bot, update, **optional_args) File "/home/se/src/me/sopds/opds_catalog/management/commands/sopds_telebot.py", line 30, in wrapper result = func(self, bot, update) File "/home/se/src/me/sopds/opds_catalog/management/commands/sopds_telebot.py", line 40, in wrapper return func(self, bot, update) File "/home/se/src/me/sopds/opds_catalog/management/commands/sopds_telebot.py", line 336, in botCallback return self.getBookFile(bot, update) File "/home/se/src/me/sopds/opds_catalog/management/commands/sopds_telebot.py", line 30, in wrapper result = func(self, bot, update) File "/home/se/src/me/sopds/opds_catalog/management/commands/sopds_telebot.py", line 40, in wrapper return func(self, bot, update) File "/home/se/src/me/sopds/opds_catalog/management/commands/sopds_telebot.py", line 309, in getBookFile document = dl.getFileDataEpub(book) File "/home/se/src/me/sopds/opds_catalog/dl.py", line 137, in getFileDataEpub return getFileDataConv(book,'epub') File "/home/se/src/me/sopds/opds_catalog/dl.py", line 90, in getFileDataConv fo = getFileData(book) File "/home/se/src/me/sopds/opds_catalog/dl.py", line 65, in getFileData dio.write(fo.read()) AttributeError: 'NoneType' object has no attribute 'read'

bravo321 commented 5 months ago

Телебот правленый под современные реалии :

wget https://raw.githubusercontent.com/PeterVoronov/sopds/pv-current/opds_catalog/management/commands/sopds_telebot.py

docker cp /opt/sopds/opds_catalog/management/commands/sopds_telebot.py.1 sopds:sopds/opds_catalog/management/commands/sopds_telebot.py

docker exec -ti sopds bash

pip install python-telegram-bot==13.5

python3 manage.py sopds_telebot start --daemon

Автор из своего докера , вообще его выпилил.