main.configure_logging()   A
last analyzed

Complexity

Conditions 2

Size

Total Lines 20
Code Lines 16

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 16
nop 1
dl 0
loc 20
rs 9.6
c 0
b 0
f 0
1
import logging
2
import sys
3
4
from dotenv import load_dotenv
5
6
from src.new_data_processors.SR_table_processors.category_prediction.category_prediction import CategoryPredictor
7
from src.new_data_processors.SR_table_processors.files import NewFilesRegistrar
8
from src.new_data_processors.helper_table_updaters.countries import CountriesUpdater
9
from src.new_data_processors.helper_table_updaters.companies import CompaniesUpdater
10
from src.new_data_processors.helper_table_updaters.operating_sites import (
11
    OperatingSitesUpdater,
12
)
13
from src.new_data_processors.SR_table_processors.companies.MÁV import MavUpdater
14
from src.new_data_processors.SR_table_processors.companies.GYSEV import GysevUpdater
15
from src.OSM_data_processors.mapper import Mapper
16
17
18
# future: mark all packages as namespace packages in the IDE when https://youtrack.jetbrains.com/issue/PY-55212/ is fixed
19
20
21
def main(
22
    demonstration=True,
23
    show_lines_with_no_data=True,
24
) -> None:
25
    configure_logging(demonstration)
26
    logging.getLogger(__name__).info("Program started...")
27
28
    load_dotenv()
29
30
    # CountriesUpdater().run()
31
    # CompaniesUpdater().run()
32
    # OperatingSitesUpdater().run()
33
34
    # NewFilesRegistrar().run()
35
    
36
    with CategoryPredictor() as category_predictor:
37
        MavUpdater(category_predictor).run()
38
        GysevUpdater(category_predictor).run()
39
40
    # Mapper(show_lines_with_no_data).run()
41
42
    logging.getLogger(__name__).info("...program finished!")
43
44
45
def configure_logging(demonstration: bool) -> None:
46
    if demonstration:
47
        logging.basicConfig(
48
            encoding="utf-8",
49
            handlers=[
50
                logging.StreamHandler(sys.stdout),
51
                logging.FileHandler("kalauz.log"),
52
            ],
53
            format="%(asctime)s [%(levelname)s]: %(message)s",
54
            level=logging.INFO,
55
        )
56
    else:
57
        logging.basicConfig(
58
            encoding="utf-8",
59
            handlers=[
60
                logging.StreamHandler(),
61
                logging.FileHandler("kalauz.log"),
62
            ],
63
            format='%(asctime)s [%(levelname)s] "%(pathname)s:%(lineno)d": %(message)s',
64
            level=logging.DEBUG,
65
        )
66
67
68
if __name__ == "__main__":
69
    main()
70