-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy path__init__.py
45 lines (38 loc) · 1.46 KB
/
__init__.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
from codeplag.types import ExitCode
def main() -> ExitCode:
import argcomplete
import pandas as pd
from codeplag.codeplagcli import CodeplagCLI
from codeplag.config import read_settings_conf
from codeplag.consts import LOG_PATH
from codeplag.logger import codeplag_logger as logger
from codeplag.logger import set_handlers
from codeplag.translate import get_translations
from codeplag.utils import CodeplagEngine
pd.set_option("display.float_format", "{:,.2%}".format)
pd.set_option("display.max_colwidth", None)
translations = get_translations()
translations.install()
cli = CodeplagCLI()
argcomplete.autocomplete(cli)
parsed_args = vars(cli.parse_args())
settings_conf = read_settings_conf()
set_handlers(logger, LOG_PATH, settings_conf["log_level"])
try:
codeplag_util = CodeplagEngine(parsed_args)
code = codeplag_util.run()
except KeyboardInterrupt:
logger.warning("The util stopped by keyboard interrupt.")
return ExitCode.EXIT_KEYBOARD
except Exception as error:
logger.error(
"An unexpected error occurred while running the utility - %s. "
"For getting more information, check file '%s'.",
error,
LOG_PATH,
)
stdout_handler = logger.handlers.pop()
logger.error("Trace:", exc_info=True)
logger.handlers.append(stdout_handler)
return ExitCode.EXIT_UNKNOWN
return code