Source code for ebook_homebrew.helper

# -*- coding: utf-8 -*-
"""Provides helper for command line interface
"""

from .__init__ import __version__
from .convert import Image2PDF
from .exceptions import BaseError
from .rename import ChangeFilename
from .utils.logging import get_logger
from .archive import MakeArchive
from .rest import api

_logger = get_logger("helper")


[docs]def auto(args): """ Rename file, convert pdf. Args: args: argparse namespace object Returns: bool: If success, return true. """ try: rename_obj = ChangeFilename( directory_path=args.src_dir[0], digits=args.digit[0], extension=args.extension[0], ) rename_obj.filename_to_digit_number() if args.manual is True: rename_obj.change_name_manually(overwrite=args.assume_yes) convert_obj = Image2PDF(digits=args.digit[0], extension=args.extension[0]) convert_obj.make_pdf(filename=args.filename[0], remove_flag=args.remove) if args.dst_dir is not None: convert_obj.move_file( file=args.filename[0], dst=args.dst_dir[0], assume_yes=args.assume_yes ) return True except BaseError as base_error: _logger.exception(base_error) raise base_error except Exception as other_error: _logger.error("Unhandled Error occurred.") _logger.exception(other_error) _logger.critical(other_error) raise other_error
[docs]def make_zip(args): """Make zip file Args: args: argparse namespace object Returns: bool: If success, return true. """ try: make_zip_obj = MakeArchive( extension=args.extension[0], directory_path=args.src_dir[0] ) make_zip_obj.make_zip( filename=args.filename[0], remove_flag=args.remove, overwrite=False ) if args.dst_dir is not None: make_zip_obj.move_file( file=args.filename[0], dst=args.dst_dir[0], assume_yes=args.assume_yes ) return True except BaseError as base_error: _logger.exception(base_error) raise base_error except Exception as other_error: _logger.error("Unhandled Error occurred.") _logger.exception(other_error) _logger.critical(other_error) raise other_error
[docs]def rest_api(args): """Rest API :param args: argparse namespace object """ port = int(args.port[0]) api.run(address="0.0.0.0", port=port)
[docs]def show_version(): """Show version """ print("ebook_homebrew: {version}".format(version=__version__))