forked from LiveCarta/BookConverter
Rewrite local converting
This commit is contained in:
33
consumer.py
33
consumer.py
@@ -28,35 +28,18 @@ def configure_file_logger(name, filename='logs/converter.log', filemode='w+',
|
||||
logger.setLevel(logging_level)
|
||||
return logger
|
||||
|
||||
def local_convert_book(filename, locker):
|
||||
logger = configure_file_logger('consumer')
|
||||
logger.info(f'Start processing book-{filename}.')
|
||||
|
||||
folder_path = os.path.dirname(os.path.abspath("__file__"))
|
||||
output_path = Path(os.path.join(folder_path, f'json/{filename}.json'))
|
||||
try:
|
||||
book = DocxBook(book_id=filename,
|
||||
main_logger=logger,
|
||||
libra_locker=locker)
|
||||
book.test_conversion()
|
||||
|
||||
except Exception as exc:
|
||||
raise exc
|
||||
|
||||
logger.info(f'Book-{filename} has been proceeded.')
|
||||
|
||||
def convert_book(book_type: [DocxBook, EpubBook], params: dict, logger, book_id):
|
||||
def convert_book(book_type: [DocxBook, EpubBook], book_id, logger, params: dict,):
|
||||
logger.info(f'Start processing book-{book_id}.')
|
||||
|
||||
try:
|
||||
book = book_type(book_id=book_id, main_logger=logger, **params)
|
||||
book.conversion_local('9781641051217')
|
||||
book.conversion()
|
||||
except Exception as exc:
|
||||
raise exc
|
||||
|
||||
logger.info(f'Book-{book_id} has been proceeded.')
|
||||
|
||||
|
||||
def callback(ch, method, properties, body, logger, libra_locker):
|
||||
print(f'Message: {body}.')
|
||||
logger.info(f'Message: {body}.')
|
||||
@@ -92,18 +75,6 @@ def callback(ch, method, properties, body, logger, libra_locker):
|
||||
finally:
|
||||
pass
|
||||
|
||||
def local_run(books):
|
||||
locker = Event()
|
||||
locker.set()
|
||||
|
||||
threads = []
|
||||
for book_name in books:
|
||||
logging.info("Main : create and start thread %d.", book_name)
|
||||
x = Thread(target=local_convert_book, args=(book_name, locker))
|
||||
threads.append(x)
|
||||
|
||||
[x.start() for x in threads]
|
||||
|
||||
def server_run():
|
||||
logger = configure_file_logger('consumer')
|
||||
|
||||
|
||||
@@ -107,21 +107,6 @@ class BookSolver:
|
||||
self.status_wrapper.set_generating()
|
||||
return {}
|
||||
|
||||
def test_conversion(self):
|
||||
"""
|
||||
Function
|
||||
- without sending to server
|
||||
"""
|
||||
self.logger_object.log('Beginning of the test.')
|
||||
folder_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
folder_path = os.path.join(folder_path, f'{self.book_type}')
|
||||
file_path = os.path.join(folder_path, f'{self.book_id}.{self.book_type}')
|
||||
self.file_path = pathlib.Path(file_path)
|
||||
self.logger_object.log(f'Test on {self.book_type}: {self.file_path}')
|
||||
content_dict = self.get_converted_book()
|
||||
self.write_to_json(content_dict)
|
||||
self.logger_object.log('End of the test.')
|
||||
|
||||
def conversion(self):
|
||||
"""
|
||||
Function
|
||||
@@ -143,17 +128,20 @@ class BookSolver:
|
||||
self.logger_object.log_error_to_main_log(str(exc))
|
||||
raise exc
|
||||
|
||||
def conversion_local(self):
|
||||
def conversion_local(self, file_name: str):
|
||||
"""
|
||||
Function
|
||||
- without downloading book from server (local)
|
||||
- with sending to server
|
||||
"""
|
||||
try:
|
||||
self.logger_object.log(f'Data has been downloaded from tmp.json file: {self.file_path}')
|
||||
with codecs.open('json/tmp.json', 'r', encoding='utf-8') as f_json:
|
||||
self.logger_object.log(f'Data has been downloaded from {file_name}.json file: {self.file_path}')
|
||||
self.status_wrapper.set_processing()
|
||||
with codecs.open(f'json/{file_name}.json', 'r', encoding='utf-8') as f_json:
|
||||
content_dict = json.load(f_json)
|
||||
self.send_json_content_to_server(content_dict)
|
||||
self.logger_object.log(f'End of the conversion to LiveCarta format. Check {self.output_path}.')
|
||||
except Exception as exc:
|
||||
self.status_wrapper.set_error()
|
||||
self.logger_object.log('Error has occurred while reading json file.' + str(exc), logging.ERROR)
|
||||
self.logger_object.log_error_to_main_log(str(exc))
|
||||
@@ -502,17 +502,13 @@ class EpubConverter:
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
filename = '9781641051217'
|
||||
logger = logging.getLogger('epub')
|
||||
stream_handler = logging.StreamHandler()
|
||||
logger.addHandler(stream_handler)
|
||||
file_handler = logging.FileHandler('../../logs/epub.log', mode='w+')
|
||||
logger.addHandler(file_handler)
|
||||
logger_object = BookLogger(name=f'epub', main_logger=logger, book_id=filename)
|
||||
|
||||
logger_object = BookLogger(name=f'epub', main_logger=logger, book_id=0)
|
||||
|
||||
json_converter = EpubConverter('../../epub/9781634254878.epub',
|
||||
json_converter = EpubConverter(f'../../epub/{filename}.epub',
|
||||
logger=logger_object)
|
||||
tmp = json_converter.convert_to_dict()
|
||||
content_dict = json_converter.convert_to_dict()
|
||||
|
||||
with codecs.open('../../json/tmp.json', 'w', encoding='utf-8') as f:
|
||||
json.dump(tmp, f, ensure_ascii=False)
|
||||
with codecs.open(f'../../json/{filename}.json', 'w', encoding='utf-8') as f:
|
||||
json.dump(content_dict, f, ensure_ascii=False)
|
||||
Reference in New Issue
Block a user