epub converter: consumer.py

This commit is contained in:
shirshasa
2021-04-23 15:22:20 +03:00
parent 6cd4f9401d
commit 4a89141cc3

View File

@@ -11,6 +11,7 @@ import pika
from access import Access
from docx_converter import Book
from src.epub_converter import EpubBook
def configure_file_logger(name, filename='logs/converter_log.log', filemode='w+',
@@ -43,6 +44,19 @@ def convert_book(book_id, access, logger, libra_locker):
print('Book has been proceeded.')
def convert_epub_book(book_id, access, logger=None):
logger.info(f'Start processing epub book-{book_id}.')
try:
book = EpubBook(book_id=book_id, access=access, main_logger=logger)
book.conversion()
except Exception as exc:
raise exc
logger.info(f'Book-{book_id} has been proceeded.')
print('Book has been proceeded.')
def callback(ch, method, properties, body, logger, libra_locker):
print(f'Message: {body}.')
logger.info(f'Message: {body}.')
@@ -50,13 +64,20 @@ def callback(ch, method, properties, body, logger, libra_locker):
data = json.loads(body)
assert 'apiURL' in data, 'No apiURL field in received message.'
if data.get('fileExtension') == 'epub':
params = {
'book_id': data['id'],
'access': Access(url=data['apiURL']),
'logger': logger,
}
thread = Thread(target=convert_epub_book, kwargs=params)
else:
params = {
'book_id': data['id'],
'access': Access(url=data['apiURL']),
'logger': logger,
'libra_locker': libra_locker
}
thread = Thread(target=convert_book, kwargs=params)
thread.start()
logging.log(logging.INFO, f'Active threads: {active_count()}.')