forked from LiveCarta/BookConverter
epub converter: consumer.py
This commit is contained in:
@@ -11,6 +11,7 @@ import pika
|
|||||||
|
|
||||||
from access import Access
|
from access import Access
|
||||||
from docx_converter import Book
|
from docx_converter import Book
|
||||||
|
from src.epub_converter import EpubBook
|
||||||
|
|
||||||
|
|
||||||
def configure_file_logger(name, filename='logs/converter_log.log', filemode='w+',
|
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.')
|
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):
|
def callback(ch, method, properties, body, logger, libra_locker):
|
||||||
print(f'Message: {body}.')
|
print(f'Message: {body}.')
|
||||||
logger.info(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)
|
data = json.loads(body)
|
||||||
assert 'apiURL' in data, 'No apiURL field in received message.'
|
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 = {
|
params = {
|
||||||
'book_id': data['id'],
|
'book_id': data['id'],
|
||||||
'access': Access(url=data['apiURL']),
|
'access': Access(url=data['apiURL']),
|
||||||
'logger': logger,
|
'logger': logger,
|
||||||
'libra_locker': libra_locker
|
'libra_locker': libra_locker
|
||||||
}
|
}
|
||||||
|
|
||||||
thread = Thread(target=convert_book, kwargs=params)
|
thread = Thread(target=convert_book, kwargs=params)
|
||||||
thread.start()
|
thread.start()
|
||||||
logging.log(logging.INFO, f'Active threads: {active_count()}.')
|
logging.log(logging.INFO, f'Active threads: {active_count()}.')
|
||||||
|
|||||||
Reference in New Issue
Block a user