ebook_homebrew.helper.make_zip()   A
last analyzed

Complexity

Conditions 4

Size

Total Lines 29
Code Lines 18

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 15
CRAP Score 4

Importance

Changes 0
Metric Value
cc 4
eloc 18
nop 1
dl 0
loc 29
ccs 15
cts 15
cp 1
crap 4
rs 9.5
c 0
b 0
f 0
1
# -*- coding: utf-8 -*-
2 1
"""Provides helper for command line interface
3
"""
4
5 1
from .__init__ import __version__
6 1
from .convert import Image2PDF
7 1
from .exceptions import BaseError
8 1
from .rename import ChangeFilename
9 1
from .utils.logging import get_logger
10 1
from .archive import MakeArchive
11 1
from .rest import api
12
13 1
_logger = get_logger("helper")
14
15
16 1
def auto(args):
17
    """ Rename file, convert pdf.
18
19
    Args:
20
        args: argparse namespace object
21
22
    Returns:
23
        bool: If success, return true.
24
    """
25 1
    try:
26 1
        rename_obj = ChangeFilename(
27
            directory_path=args.src_dir[0],
28
            digits=args.digit[0],
29
            extension=args.extension[0],
30
        )
31 1
        rename_obj.filename_to_digit_number()
32 1
        if args.manual is True:
33 1
            rename_obj.change_name_manually(overwrite=args.assume_yes)
34
35 1
        convert_obj = Image2PDF(digits=args.digit[0], extension=args.extension[0])
36 1
        convert_obj.make_pdf(filename=args.filename[0], remove_flag=args.remove)
37
38 1
        if args.dst_dir is not None:
39 1
            convert_obj.move_file(
40
                file=args.filename[0], dst=args.dst_dir[0], assume_yes=args.assume_yes
41
            )
42 1
        return True
43 1
    except BaseError as base_error:
44 1
        _logger.exception(base_error)
45 1
        raise base_error
46 1
    except Exception as other_error:
47 1
        _logger.error("Unhandled Error occurred.")
48 1
        _logger.exception(other_error)
49 1
        _logger.critical(other_error)
50 1
        raise other_error
51
52
53 1
def make_zip(args):
54
    """Make zip file
55
56
    Args:
57
        args: argparse namespace object
58
59
    Returns:
60
        bool: If success, return true.
61
    """
62 1
    try:
63 1
        make_zip_obj = MakeArchive(
64
            extension=args.extension[0], directory_path=args.src_dir[0]
65
        )
66 1
        make_zip_obj.make_zip(
67
            filename=args.filename[0], remove_flag=args.remove, overwrite=False
68
        )
69 1
        if args.dst_dir is not None:
70 1
            make_zip_obj.move_file(
71
                file=args.filename[0], dst=args.dst_dir[0], assume_yes=args.assume_yes
72
            )
73 1
        return True
74 1
    except BaseError as base_error:
75 1
        _logger.exception(base_error)
76 1
        raise base_error
77 1
    except Exception as other_error:
78 1
        _logger.error("Unhandled Error occurred.")
79 1
        _logger.exception(other_error)
80 1
        _logger.critical(other_error)
81 1
        raise other_error
82
83
84 1
def rest_api(args):
85
    """Rest API
86
87
    :param args: argparse namespace object
88
    """
89 1
    port = int(args.port[0])
90 1
    api.run(address="0.0.0.0", port=port)
91
92
93 1
def show_version():
94
    """Show version
95
    """
96
    print("ebook_homebrew: {version}".format(version=__version__))
97