GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Passed
Push — master ( fac2c4...4a4d5a )
by P.R.
03:39
created

LoadHostClient   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 62
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 62
ccs 0
cts 35
cp 0
rs 10
wmc 6

3 Methods

Rating   Name   Duplication   Size   Complexity  
A _load_host() 0 7 1
A __init__() 0 8 1
B main() 0 37 4
1
"""
2
Enarksh
3
4
Copyright 2013-2016 Set Based IT Consultancy
5
6
Licence MIT
7
"""
8
import argparse
9
import sys
10
import traceback
11
12
import enarksh
13
from enarksh.DataLayer import DataLayer
14
from enarksh.xml_reader.XmlReader import XmlReader
15
16
17
class LoadHostClient:
18
    """
19
    A client for requesting the controller to load a host definition.
20
    """
21
22
    # ------------------------------------------------------------------------------------------------------------------
23
    def __init__(self):
24
        # Set database configuration options.
25
        DataLayer.config['host'] = enarksh.MYSQL_HOSTNAME
26
        DataLayer.config['user'] = enarksh.MYSQL_USERNAME
27
        DataLayer.config['password'] = enarksh.MYSQL_PASSWORD
28
        DataLayer.config['database'] = enarksh.MYSQL_SCHEMA
29
        DataLayer.config['port'] = enarksh.MYSQL_PORT
30
        DataLayer.config['autocommit'] = False
31
32
    # ------------------------------------------------------------------------------------------------------------------
33
    def main(self):
34
        """
35
        The main function of load_schedule.
36
        """
37
        # Parse the arguments.
38
        parser = argparse.ArgumentParser(description='Description')
39
        parser.add_argument(dest='filename',
40
                            metavar='filename',
41
                            action='append',
42
                            help="XML file with a host definition")
43
44
        args = parser.parse_args()
45
46
        # Send XML files to the controller.
47
        exit_status = 0
48
        try:
49
            # Connect to the MySQL.
50
            DataLayer.connect()
51
52
            err = self._load_host(args.filename[0])
53
54
            DataLayer.commit()
55
            DataLayer.disconnect()
56
            if err:
57
                exit_status = -1
58
        except Exception as exception1:
59
            try:
60
                DataLayer.rollback()
61
                DataLayer.disconnect()
62
            except Exception as exception2:
63
                print(exception2, file=sys.stderr)
64
                traceback.print_exc(file=sys.stderr)
65
            print(exception1, file=sys.stderr)
66
            traceback.print_exc(file=sys.stderr)
67
            exit_status = -1
68
69
        exit(exit_status)
70
71
    # ------------------------------------------------------------------------------------------------------------------
72
    def _load_host(self, filename):
73
        """
74
        :param str filename:
75
        """
76
        reader = XmlReader()
77
        host = reader.parse_host(filename)
78
        host.store()
79
80
# ----------------------------------------------------------------------------------------------------------------------
81